• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

利用C语言编写“剪刀石头布”小游戏

c语言 搞代码 4年前 (2022-01-06) 76次浏览 已收录 0个评论

这篇文章主要给大家介绍了关于如何利用C语言编写“剪刀石头布”小游戏的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

大家好~

我是一名C语言初学者,学了C语言基础后,我制作了一个小游戏:剪刀石头布。

希望大家能对我的思路和代码提来源gaodai$ma#com搞$$代**码网出小Tips(eg.更简便的方法与程序)

我也会虚心接受大家的建议~

一、游戏原理

“剪刀石头布”这个游戏,想必大家都很熟悉了。

两个人在玩游戏时,事先都不知道对方将要出什么,这中间存在着一种随机性。

而这种随机性相当于C语言里stdlib.h库中rand()函数,rand()函数用来产生随机数,因为rand是根据提供给srand()的种子值返回一个随机数,所以要使每次随机的结果不一样,需要在srand()函数里引用time()函数,因为每一次运行程序的时间是不同的,所以seed会不同,运行出来的结果也会不同。

补充:

rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。

rand函数需要有srand()函数用来设置rand()产生随机数时的随机数种子。

参数seed是整数,通常可以利用time(0)或geypid(0)的返回值作为seed。

首先将游戏者(gamer)的选项输入,并用switch分三种情况,将输入的A、B、C(或a、b、c)转换为整数(Gamer),然后用rand函数在1-3中随机产生一个整数来代表计算机(computer)的选项,再将两个整数相加,最后用switch来分类讨论,输出结果。

(因水平有限,我目前只能想到用这种方法来判断胜负,所以要避免两种不同情况相加出的结果相同)

二、C语言代码

1.引入函数

代码如下:

 #include "stdio.h" #include "stdlib.h" #include "time.h" 

2.初始页面显示

代码如下:

 int main() { char Gamer=0; int computer,gamer; int result; while (1) { printf("这个小游戏是――剪刀石头布,\n你要出:\n"); printf("A:剪刀\nB:石头\nC:布\n"); scanf_s("%c", &Gamer); switch (Gamer) { case 65 | 97: //A a gamer = 4; break; case 66 | 98: //B b gamer = 7; break; case 67 | 99: //C c gamer = 10; break; default: printf("你的选择为%c\n选择错误,退出...\n", Gamer); system("pause"); return 0; break; } 

3.游戏过程及结果

 srand((unsigned)time(0));//每一次的seed都不同 computer = rand() % 3+1; result = gamer + computer; printf("电脑出了:"); switch (computer) { case 3:printf("剪刀\n"); break; case 1:printf("石头\n"); break; case 2:printf("布\n"); break; } printf("你出了:"); switch (gamer) { case 4:printf("剪刀\n"); break; case 7:printf("石头\n"); break; case 10:printf("布\n"); break; } if (result == 6 || result == 10 || result == 11) printf("你赢了!"); else if (result == 5 || result == 9 || result == 13) printf("电脑赢了!"); else printf("平手"); system("pause>nul&&cls"); //清屏 } return 0; }

总结

以上就是有关于游戏的思路和代码,编写程序前,我查阅了一些资料,并且询问了他人,在这个过程中,我有学到许多新知识.

但是因为水平有限,程序代码还是很繁琐,方法也不是最好的,希望能通过进一步的学习,开拓自己的思路,用更快捷的方法编写程序。

以上就是利用C语言编写“剪刀石头布”小游戏的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:利用C语言编写“剪刀石头布”小游戏

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址