文记:编写数字小游戏是一个有趣的过程,相当于一个简单的小游戏开发,不需要很复杂的编译,但要求逻辑严谨,思路清晰。对于C语言初学者来说既是一个放松的机会也是锻炼的机会。咱得先要有勇气,有行动,有信心,再来谈优秀。
Digital game 1
<<游戏规则:对每一个参赛者按顺序进行编号,每个人依次循环报数,给定一个淘汰号码,报到此号码的参赛者被淘汰,剩余参赛者继续从头开始报数,直到最后只剩下一个参赛者,则该参赛者胜利。
具体操作及解释如下:
Step 1:
Step 2:
Step 3:
Step 4:
Step 5:
Step 6:
Step 7:
程序结果运行如下:
Digital Game 2
<<游戏规则:系统随机产生0~9中四个不重复的整数并按从小到大排序,用户输入四个猜测数字,A 表示猜测的数字正确且位置正确;B 表示猜测的数字正确但位置不正确,直到用户猜对所有的数字及其位置。
具体操作及解释如下:
Step1: 导入所需要的头文件
Step2: 定义所需变量
Step3: 编写产生随机数的代码,这里提一下如何产生随机数:
int myRandom(int max){
//放种子
srand((unsigned int)time(NULL));
//产生随机数 num % 10 0~9...
return rand()%(max+1);
}
以及对随机数进行排序,这里用的是插入排序法,其他排序法还有:冒泡排序法,选择排序法,下面会给大家详细介绍如何使用这三种排序法。
Step4: 这里省略了显示随机数的代码,正常游戏中也不会显示,这里仅供参考
Step5: 游戏开始
游戏结果运行如下:
个人总结感悟:不知道此讲解大家看来是否清楚明了,不过个人觉得这是一个非常有意思且有意义的过程,它既是一个知识与娱乐巧妙结合的过程,也能带给大家难得的游戏开发体验。于我来说,就编写这两个小游戏,我的知识储备以及逻辑能力仍然很欠缺,目前还只能在老师的指导下才能完成,庆幸的是我现在并没有想放弃的念头,虽然 与其他很多同学相比起来,等于是青铜中的青铜,但是 也有某个王者说了,一开始大家觉得难以理解都不要紧,慢慢来,只要有那个认真劲儿,也能上王者,是叭,道理是真,可做起来,确实也有那么点难。当然,不可轻弃。
下面给大家介绍三种排序法:
1.冒泡排序法:冒泡排序法相信学过C语言课程的都应该有一定程度的了解。所谓冒泡是通过相邻两个数的比较,使较小的数调到前面,较大的数调到后面,使最大的数“沉底”。个人觉得冒泡排序法比其他两种排序法要简单些更能容易理解,不紧到说,给大家看图叭!
运行结果如下:
2.选择排序法:一次取出一个系统默认的最小值,然后与其他值进行比较,如果比较值较小,则两值交换位置,一次遍历找到最小的值,其余值之间类此。
运行结果如下:
3.插入排序法:插入排序法可能大家相对上面两种排序来说较为生疏一点,与我如此。不过也是一种很巧妙的算法:将值按照顺序依次比较,当较大的值遇到比它自身小的值会让出位来主动往后靠。直到所有的值按次排好。
运行结果如下:
个人总结补充:可能我对于三种排序法的功能概念总结并不够准确,仅基于个人理解感悟。当然,对任何知识理论的理解都存在个体差异性,如有错处,请莫要见怪,多多指正谅解(抱拳)。