用C语言创作睿智小游戏——猜拳篇

本文介绍了如何使用C语言编写一个猜拳小游戏。通过设定石头、剪刀、布的数字对应关系,结合随机数生成和条件判断实现电脑的出拳和胜负判断。文章详细讲解了代码实现过程,包括游戏逻辑、开场白、提示和结束语的设计,以及利用无限循环增加游戏可重复性。
摘要由CSDN通过智能技术生成

用C语言创作睿智小游戏——猜拳篇

突发奇想,打算用C语言编写一个猜拳游戏,深知网上有很多教程,未看教程,自己开始盲编,

首先需要定义猜拳游戏的精髓“石头,剪刀,布”,这里我们用数字定义:

//赋予1=石头,2=剪刀,3=布

我们平时在玩猜拳游戏的时候是玩家VS玩家,有很多心理战术(察言观色),但是我们电脑是个面无表情的玩家!我们跟电脑对战只有三分之一的几率获胜

好了,知道这个游戏是玩家VS电脑,接下来就是电脑的出拳机制,它的随机性,这时候我们使用“随机数生成”

//产生随机数 
int a = rand() % 3 + 1;

但是这种随机数产生是一次性的,我们需要加入随机数种子

srand((unsigned int)time);

而且还需要引入头文件

#include<time.h>

我们来用printf()来检验每次产生的随机数是否正确(在正式运行时我们需要隐藏打印出来的随机数,以确保游戏的公平性。看着电脑出拳并没有游戏体验呐!!)

//printf("%d\n", a);
//查验随机数

在随机数中我们已经赋予电脑值为:

int a          

我们要给玩家赋予:

unsigned int num = 0;  
printf("请输入你要出的数字:");
scanf("%d", &num);                      

接下来就是判断我们游戏的胜负关系,大家都知道“石头,剪刀,布”是相互克制关系,我们赋予的值,“1,2,3”也是克制关系可以理解为“1赢2,2赢3,3赢1”,

这时候我们就开始确定玩家胜利的条件:

当电脑输入1(石头)时,玩家输入3(布)为胜利。

当电脑输入2(剪刀)时,玩家输入1(石头)为胜利。

当电脑输入3(布)时,玩家输入3(剪刀)为胜利。

a == 1 && num == 3 || a == 2 && num == 1 || a == 3 && num == 2

程序用与(&&)或(||)相连。

同理玩家失败的条件:

当电脑输入1(石头)时,玩家输入2(剪刀)为失败。

当电脑输入2(剪刀)时,玩家输入3(布)为失败。

当电脑输入3(布)时,玩家输入1(石头)为失败。

a == 1 && num == 2 || a == 2 && num == 3 || a == 3 && num == 1

其他情况则为平局:

玩家与电脑显示数值相同

a == num

用 if…else if…else…函数来判断结果:

if()
{
   
    
}
else if()
{
   
    
}
else{
   }

注:(当分析这一段时,我犯了一个错误,导致整个分析方法过于复杂

当时忘记输入“= =”两个等于,只输入一个导致报错,当时分析出了这种方法:

a>num&&a!= 2&&num!=2

假设电脑出手,数值a=3,电脑获胜条件只能是玩家num=1,所以必须要电脑数值大于玩家,且电脑与玩家都不能等于2)

到这里,我们猜拳程序就差不多完成了80%,接下来要开始完善代码与程序。

加入睿智的开场白:

printf("******************************************\n");
printf("*  欢迎来到睿智游戏之家                  *\n");
printf("*  本次您要玩的游戏是“剪刀,石头,布”  *\n");
printf("*  请按照规定输入:                      *\n");
printf("*  输入数字“1”进入游戏          
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值