课程实验设计基于c++面向对象的石头剪子布游戏附源代码Word格式.docx
- 文档编号:22759370
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:27
- 大小:896.71KB
课程实验设计基于c++面向对象的石头剪子布游戏附源代码Word格式.docx
《课程实验设计基于c++面向对象的石头剪子布游戏附源代码Word格式.docx》由会员分享,可在线阅读,更多相关《课程实验设计基于c++面向对象的石头剪子布游戏附源代码Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
#pragmawarning(disable:
4996)
#include<
iostream>
stdio.h>
Windows.h>
time.h>
string>
usingnamespacestd;
HANDLEg_hOutput=GetStdHandle(STD_OUTPUT_HANDLE);
//创建句柄
//设置光标位置
voidSetCursor(COORDcd)
{
SetConsoleCursorPosition(g_hOutput,cd);
}
voidSetCursor(intx,inty)
COORDcd={x,y};
SetCursor(cd);
voidplay();
voidplaypeople();
voidplaychallenge();
voidexplain();
voidrank_1();
voidrecord();
voidabout();
voidtime_1();
voidchuquan(inta);
//展示出拳
charname[10];
//擂主记录
intbig=0;
intbigger=0;
classcai//普通猜拳模式
{
private:
inti;
inta;
public:
staticintx,y,z;
voidshow(intchu)
{
i=rand()%3;
a=chu;
cout<
<
"
你的出拳:
;
chuquan(a);
VS"
电脑的出拳:
chuquan(i);
endl;
if(a-i==1||a-i==-2)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
cout<
youwin"
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
x++;
}
elseif(a-i==0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
pingle"
y++;
else
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
defeat"
z++;
}
你目前:
\n\twin局\t平局\t输局"
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
\t"
cai:
:
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),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
}
};
intcai:
x=0;
y=0;
z=0;
classcaipeople//人人猜拳模式
intp1;
intp2;
voidplay()
cout<
\t石头:
2剪子:
1布:
0"
请玩家一输入所出拳,\n玩家二回避。
cin>
>
p1;
system("
cls"
);
*"
请玩家二输入所出拳"
p2;
玩家一所出拳:
chuquan(p1);
\n玩家二所出拳所出拳:
chuquan(p2);
if(p1-p2==1||p1-p2==-2)
{
玩家一获胜"
}
elseif(p1-p2==0)
实力相当"
else
玩家二获胜"
classcaichallenge//连胜模式
inta1;
inta2;
//staticintvs;
intno;
no=0;
a1;
a2=rand()%3;
Sleep(500);
\t.\n"
chuquan(a1);
chuquan(a2);
if(a1-a2==1||a1-a2==-2)
\t再来猜我一拳!
!
big++;
elseif(a1-a2==0)
\t好汉再来一局"
\t再回去修炼一下吧"
no=-1;
//intcaichallenge:
vs=0;
caiuse;
//用于静态的变量的调用
voidoperate(string);
caia;
caipeoplea2;
caichallengea3;
intmain()
system("
modeconcols=34lines=40"
//定义窗体大小
stringch;
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);
**********************************"
*石头剪子布*"
*1.进入游戏(人机对战)*"
*2.进入游戏(人人对战)*"
*3.挑战模式(连胜模式)*"
*4.游戏说明*"
*5.游戏记录*"
*6.排行榜(连胜模式)*"
*7.关于*"
*8.查看当前时间*"
*0.退出游戏*"
*输入对应数字,按下回车使用其功能*"
/*do
{
//HideCursor();
SetCursor(44,0);
time_trawtime;
structtm*timeinfo;
time(&
rawtime);
timeinfo=localtime(&
SetConsoleTextAttribute(g_hOutput,FOREGROUND_INTENSITY|FOREGROUND_GREEN);
printf("
%s"
asctime(timeinfo));
Sleep(1000);
}while
(1);
*/
ch;
operate(ch);
pause"
}while(ch!
="
return0;
voidoperate(stringstr)
if(str=="
1"
)
play();
elseif(str=="
2"
playpeople();
3"
playchallenge();
4"
explain();
5"
record();
6"
rank_1();
7"
about();
8"
time_1();
byebye~~"
else
请输入有效数字"
voidplay()
cout<
石头:
intx;
a.show(x);
继续输入2,1,0可继续猜拳,输入其他按键结束战斗,返回上界面"
}while(x==0||x==1||x==2);
voidplaypeople()
a2.play();
输入0终止猜拳,输入其他继续进行对决"
}while(x!
=0);
voidplaychallenge()
big=0;
当前为连胜模式,如果胜利可取得继续猜拳的资格,且中途不可退出,如果猜拳失败则返回上一界面\n战斗吧!
请出拳"
a3.play();
x=a3.no;
=-1);
if(bigger<
=big)
bigger=big;
恭喜你创造了新的世界记录,请留下您的大名"
//for(intz;
10;
z++)
//name[z]='
\0'
name;
voidexplain()
规则:
\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_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
voidabout()
当前版本1.0.0"
基于c++的石头剪子布游戏"
作者:
韩志杰"
生产日期:
2014/7/7"
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_RED);
へ /|"
/\7 ∠_/"
/ │ / /"
│ Z_,< / /`ヽ"
│ ヽ / 〉"
Y `\/ /"
<
● . ● >
〈 /"
() へ ()| \〈"
>
ー、_ / │//"
/へ / /<|\\"
\_/ (_/ │//"
7 |/"
>―r ̄ ̄`ー―_丨"
voidrecord()
SetConsoleTextAttribute(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);
voidrank_1()
*HERO*"
"
name<
连胜"
bigg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 实验设计 基于 c+ 面向 对象 石头 剪子 游戏 源代码