写一个C程序模拟一个“剪刀石头布”的游戏
# include & ltstring.h & gt//字符串库
# include & lttime.h & gt//时间库
//开发游戏开始界面。
void InitGameDisplay()
{
Printf ("= = = = = = = = = = = = = = = = = = = = =欢迎来到游戏= = = = = = = = = = = = = = = = = = = = = =
printf(" | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");
Printf("|游戏规则| ");
Printf("|剪刀选1,石头选2,布选3 | ");
Printf ("| 1用户首先选择一个整数1~3。|");
Printf ("| 2计算机将从1~3中随机选择一个整数。|");
Printf ("| 3 by剪刀>;布>石头>剪刀产生结果。| ");
printf(" | | ");
Printf("|作者:刘超| ");
Printf("指导老师:刘国柱| ");
printf(" | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");
}
//开发游戏结束界面。
void EndGameDisplay()
{
printf(" | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");
printf(" | | ");
printf("|游戏结束| ");
printf(" | | ");
Printf("|欢迎下次使用!|");
printf(" | QQ:2542872403 | ");
printf(" | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");
}
//电脑扑克牌(数字卡)
//输入:无
//返回数值:数字卡(1,2,3)
int ComputerCreateNumberCard()
{
返回时间(空)% 3+1;
}
//将用户和计算机生成的数字卡转换成字符卡。
//输入:数字卡(电脑或用户:如1,2,3。)
//输出:字卡(“剪刀”、“石头”、“布”)
//返回值:无。
void convertnumbertowode(int int number card,char charWord[])
{
if(intNumberCard==1)
{
Strcpy(charWord,“剪刀”);//字符串赋值
}else if(intNumberCard==2)
{
Strcpy(charWord,“石头”);
}else if(intNumberCard==3)
{
Strcpy(charWord,“布”);
}
}
//判断胜负
//输入:用户的数字卡。
//计算机生成的数字卡
//输出:结果字符串(“算赢”、“用赢”、“平”)
//返回值:无。
//
//判断原则:
//计算机用户判断结果
// 1 1 Ping
// 1 2赢用。
// 1 3获胜
// 2 1获胜
// 2 2 Ping
// 2 3赢用。
//3 1胜与。
//3 2胜
//3平3平
void judge winer(int intuser number card,int intComputerNumberCard,char charWiner[])
{
if(intUserNumberCard = = intComputerNumberCard)
{
Strcpy(charWiner,“Ping”);
}否则{
if(int computer number card = = 1 & amp;& ampintUserNumberCard==3)
{
Strcpy(charWiner,“lose”);
} else if(intComputerNumberCard = = 1 & amp;& ampintUserNumberCard==2)
{
Strcpy(charWiner,“win”);
} else if(intComputerNumberCard = = 2 & amp;& ampintUserNumberCard==3)
{
Strcpy(charWiner,“win”);
} else if(intComputerNumberCard = = 2 & amp;& ampintUserNumberCard==1)
{
Strcpy(charWiner,“lose”);
} else if(intComputerNumberCard = = 3 & amp;& ampintUserNumberCard==2)
{
Strcpy(charWiner,“lose”);
} else if(intComputerNumberCard = = 3 & amp;& ampintUserNumberCard==1)
{
Strcpy(charWiner,“win”);
}
}
}//JudgeWiner_end
void main()
{
int intUseNumCard//用户发行的数字卡
int intComputerNumCard//计算机发行的数字卡
char char winer[100];//判断结果
int n,m,number1,number2
//1:开发游戏开始界面。
init game display();
int num[3]= { 0 };//用于计数
printf(" \ n请从1,2,3 "中选择一个数字);
while(num[1]+num[2]+num[0]!=3)
{
while(真)
{
//2:用户打牌。
Printf("请打牌\ n ");
scanf("%d ",& ampintUseNumCard);
if(intUseNumCard & gt;=1。& ampintUseNumCard & lt=3)
{
打破;
}否则{
Printf("输入错误,请重新输入!\ n ");
}
}
//3:电脑扑克牌
intComputerNumCard = ComputerCreateNumberCard();
//3.1)将用户和计算机生成的数字卡转换为字符卡。
char CharUseTextCard[6];
char CharComputerTextCard[6];
convertnumbertowode(intUseNumCard,CharUseTextCard);
convertnumbertowode(intComputerNumCard,CharComputerTextCard);
Printf("你的牌是%s,电脑出的牌是% s \ n ",charusetextcard,charcomputertextcard);
//4:判断胜负
JudgeWiner(intUseNumCard,intComputerNumCard,charWiner);
//显示
If(strcmp(charWiner," Ping") ==0)
{
Printf("%s=%s结果:Ping!!\n ",CharUseTextCard,CharComputerTextCard);
num[0]++;
}else if(strcmp(charWiner," win") ==0){
printf(" % s & gt;%s结果:赢了!\n ",CharUseTextCard,CharComputerTextCard);
num[1]++;
}else if(strcmp(charWiner," lose") ==0){
printf(" % s & lt;%s结果:失败!\n ",CharUseTextCard,CharComputerTextCard);
num[2]++;
}
printf(" \ n ");
printf(" \ n ");
printf(" \ n ");
printf(" \ n ");
}//while_end
Printf("一个* * *玩了三局,你赢了%d局,电脑赢了%d局,抽了%d次\n ",num[1],num[2],num[0]);
//6:游戏结束界面。
endgame display();
}