目录
- 1.导入头文件
- 2.游戏菜单
- 3.开始游戏并对电脑输入数据
- 4.判断输赢并输出结果
- 5.全代码
C语言实现与电脑进行剪刀石头布
游戏解析:
1.导入头文件
2.游戏菜单
3.开始游戏并对电脑输入数据
4.为电脑随机生成一个数据
5.判断输赢并输出结果
1.导入头文件
#include<stdio.h> #include<stdlib.h> #include<time.h>
2.游戏菜单
void menu()//游戏菜单
{
printf(" 1.play \n");
printf(" 0.exit \n");
}
int main()
{
int a;
srand((unsigned int)time(NULL));//随机种子,让电脑可以随机生成一个值
do
{
menu();
scanf("%d", &a);
switch (a)
{
case 1:
game();
case 0:
break;
default:
printf("输入错误,请重新输入。\n");
}
} while (a);
return 0;
}
利用do while循环语句,在游戏结束时可以再次选择是否继续。switch语句选择游戏的开始与否
3.开始游戏并对电脑输入数据
游戏次数次数过的时候,屏幕上内容过多,所以在每次游戏开始的时候做一个清屏处理
void game()//游戏模块
{
system("cls");//做了一个清屏处理,每次开始新游戏时,清除上一次游戏记录。
int b, c;
printf("游戏:剪刀石头布\n");
printf("请选择你要出的手势>:\n");
printf("1.石头 2.剪刀 3.布\n");
scanf("%d", &c);
b = rand() % 3 + 1;//产生1、2、3之间的一个随机值
//printf("%d\n", b);//调试过程中以确保b的值对应且随机
4.判断输赢并输出结果
选用if分支语句对根据不同的情况来输出结果
if (c == b)//开始判断输赢
printf("电脑和你出了一样的手势,本局平局。\n");
else if ((b - c + 3) % 3 == 1)
{
if (b == 1)
printf("你赢了,电脑出了石头。\n");
else if (b == 2)
printf("你赢了,电脑处了剪刀。\n");
else
printf("你赢了,电脑出了布。\n");
}
else
{
if (b == 1)
printf("你输了,电脑出了石头。\n");
else if (b == 2)
printf("你输了,电脑处了剪刀。\n");
else
printf("你输了,电脑出了布。\n");
}
5.全代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()//游戏菜单
{
printf(" 1.play \n");
printf(" 0.exit \n");
}
void game()//游戏模块
{
system("cls");//做了一个清屏处理,每次开始新游戏时,清除上一次游戏记录。
int b, c;
printf("游戏:剪刀石头布\n");
printf("请选择你要出的手势>:\n");
printf("1.石头 2.剪刀 3.布\n");
scanf("%d", &c);
b = rand() % 3 + 1;//产生1、2、3之间的一个随机值
//printf("%d\n", b);//调试过程中以确保b的值对应且随机
if (c == b)//开始判断输赢
printf("电脑和你出了一样的手势,本局平局。\n");
else if ((b - c + 3) % 3 == 1)
{
if (b == 1)
printf("你赢了,电脑出了石头。\n");
else if (b == 2)
printf("你赢了,电脑处了剪刀。\n");
else
printf("你赢了,电脑出了布。\n");
}
else
{
if (b == 1)
printf("你输了,电脑出了石头。\n");
else if (b == 2)
printf("你输了,电脑处了剪刀。\n");
else
printf("你输了,电脑出了布。\n");
}
}
int main()
{
int a;
srand((unsigned int)time(NULL));//随机种子,让电脑可以随机生成一个值
do
{
menu();
scanf("%d", &a);
switch (a)
{
case 1:
game();
case 0:
break;
default:
printf("输入错误,请重新输入。\n");
}
} while (a);
return 0;
}
到这简单的一个石头剪刀布,就完成了。欢迎各位大佬来点评点评!这对还处于小白的我,帮助是非常大的。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)