写一个C程序模拟一个“剪刀石头布”的游戏

# include & ltstdio.h & gt

# 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();

}