C语言实现剪刀石头布小游戏

  • Post author:
  • Post category:其他


代码如下:

//(linux下正常运行!windows下运行可能会乱码!)

/*************************************************************

*功能:C语言实现剪刀石头布小游戏

*作者:lml 时间:2020年4月17日11:41:57

*************************************************************/

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

#include <string.h>

int do_Compare(int us);

void do_Menu()

{


system(“clear”); //清屏

printf(“*********************************************



\n”);

printf(”

~ ~ ~ ~ ~ ~

欢迎进入石头剪刀布

~ ~ ~ ~ ~ ~ ~

\n”);

printf(”

如果你赢了我就给你讲故事哦!

\n”);

printf(”

***********************************************\n”);

}

int do_Game()

{


int i=0,j=0;

int us=0,res=0;

char user[20]=””;

while(1){

char num[2]=””;

printf(“请出拳(剪刀:1 石头:2 布:3 退出:9):”);

fflush(stdout);

scanf(“%s”,num);

	//判断输入是否有误
	if((num[0]<'1' || num[0]>'9') || (num[0] >'3' && num[0]<'9') || num[1]!='\0'){
		printf("输入错误啦!\n");
		continue;
	}
	//退出
	us = atoi(num);
	if(us == 9){
		printf("游戏已退出!\n");
		exit(1);
	}
	//判断用户输入的是什么
	if(us == 1){
		strcpy(user,"剪刀");
	}else if(us == 2){
		strcpy(user,"石头");
	}else{
		strcpy(user,"布");
	}
	printf("你出的是:%s\n",user);

	//调用判断函数
	res = do_Compare(us);

	//分析结果
	if(res == 0){
		printf("哎呀呀,平局了!\n");
	}else if(res == 1){
		printf("哇塞,你赢了,好厉害啊!\n");
		//do_story(); //这里赢了可以调用打印故事的函数,博主就不做了
	}else{
		printf("哎呀,你输了,再接再厉!\n");
	}
}
return 0;

}

int do_Compare(int us)

{


int ra=0;

char pc[20]=””;

srand((unsigned)time(0));

ra = rand()%3 +1;//随机出1~3的数,剪刀1 石头2 布3;

if(ra == 1){


strcpy(pc,“剪刀”);

}else if(ra == 2){


strcpy(pc,“石头”);

}else{


strcpy(pc,“布”);

}

printf(“电脑出的是:%s\n”,pc);

//平局的情况
if(ra == us){
	return 0; //返0是平局回
}

//不平局的情况
if(ra == 1){
	if(us == 2){
		return 1; //返回1表示用户胜利,
	}else{
		return -1;//返回1是用户失败。
	}
}
if(ra == 2){
	if(us == 3){
		return 1;
	}else{
		return -1;
	}
}
if(ra == 3){
	if(us == 1){
		return 1;
	}else{
		return -1;
	}
}

}

int main(int argc, const char *argv[])

{


do_Menu();

do_Game();

return 0;

}

结束。



版权声明:本文为qq_19693355原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。