1、#pragma warning (disable:4996)#include stdio.hWindows.htime.hstringusing namespace std;HANDLE g_hOutput = GetStdHandle(STD_OUTPUT_HANDLE);/创建句柄/设置光标位置void SetCursor(COORD cd) SetConsoleCursorPosition(g_hOutput, cd);void SetCursor(int x, int y) COORD cd = x, y ; SetCursor(cd);void play(); void plaype
2、ople();void playchallenge();void explain();void rank_1();void record();void about();void time_1();void chuquan(int a);/展示出拳char name10; /擂主记录int big=0;int bigger=0;class cai /普通猜拳模式private: int i; int a;public: static int x,y,z; void show(int chu) i=rand()%3; a=chu; cout你的出拳:; chuquan(a); VS 电脑的出拳:
3、chuquan(i);endl; if(a-i=1|a-i=-2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED ); coutyou win SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); x+; else if(a-i=0) SetCons
4、oleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_GREEN);pingle y+; else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_BLUE);defeat z+; 你目前:ntwin局t平局t输局 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTEN
5、SITY |FOREGROUND_RED);tcai:x; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN);y; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_BLUE| FOREGROUND_GREEN);z SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
6、FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); ;int cai:x=0;y=0;z=0;class caipeople /人人猜拳模式 int p1; int p2; void play() coutp1; system(cls);*请玩家二输入所出拳p2;玩家一所出拳: chuquan(p1);n玩家二所出拳所出拳: chuquan(p2); if(p1-p2=1|p1-p2=-2) 玩家一获胜 else if(p1-p2=0)实力相当 else玩家二获胜class caichallen
7、ge /连胜模式 int a1; int a2;/ static int vs; int no; no=0;a1; a2=rand()%3; Sleep(500);t.n chuquan(a1); chuquan(a2); if(a1-a2=1|a1-a2=-2)t再来猜我一拳! big+; else if(a1-a2=0)t好汉再来一局t再回去修炼一下吧 no=-1;/int caichallenge:vs=0;cai use;/用于静态的变量的调用void operate(string);cai a;caipeople a2;caichallenge a3;int main() syste
8、m(mode con cols=34 lines=40/定义窗体大小 string ch; do SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);* 石头剪子
9、布 * 1.进入游戏(人机对战) * 2.进入游戏(人人对战) * 3.挑战模式(连胜模式) * 4.游戏说明 * 5.游戏记录 * 6.排行榜(连胜模式) * 7.关于 * 8.查看当前时间 * 0.退出游戏 *输入对应数字,按下回车使用其功能* /*do / HideCursor(); SetCursor(44, 0); time_t rawtime; struct tm * timeinfo; time(&rawtime); timeinfo = localtime(& SetConsoleTextAttribute(g_hOutput, FOREGROUND_INTENSITY | F
10、OREGROUND_GREEN); printf(%s, asctime(timeinfo); Sleep(1000); while (1);*/ch; operate(ch);pause while(ch!= return 0;void operate(string str) if(str=1) play(); else if(str=2 playpeople();3 playchallenge();4 explain();5 record();6 rank_1();7 about();8 time_1();byebye else请输入有效数字void play() cout石头: int
11、x; a.show(x);继续输入2,1,0可继续猜拳,输入其他按键结束战斗,返回上界面 while(x=0|x=1|x=2);void playpeople() a2.play();输入0终止猜拳,输入其他继续进行对决 while(x!=0);void playchallenge() big=0;当前为连胜模式,如果胜利可取得继续猜拳的资格,且中途不可退出,如果猜拳失败则返回上一界面n战斗吧!请出拳 a3.play(); x=a3.no;=-1); if(bigger=big) bigger=big;恭喜你创造了新的世界记录,请留下您的大名 / for(int z;10;z+) / name
12、z=0name;void explain()规则:n 石头打剪刀,n 布包石头,n 剪刀剪布,n 输入2代表石头,n 输入1代表剪子,n 输入0代表布。n输入后按下回车n同电脑进行猜拳。 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_BLUE); 必 胜 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND
13、_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);void about() 当前版本1.0.0 基于c+的石头剪子布游戏 作者:韩志杰 生产日期:2014/7/7 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_RED); | /7 / / Z , / / Y / / / () () | _ / / / | _/(_ 7| r 丨 void record() SetConsoleTextAt
14、tribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_RED); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_BLUE| FOREGROUND_GREEN);void rank_1()* HERO * name 连胜bigg