两个小游戏编程2019-08-02

目的:

利用所学的知识编写两个程序,锻炼自己的编程思维,通过不断地练习达到由量变到质变的过程,同时培养编程中再遇到问题时怎样解决问题的能力。

技术及方法:

1.排序方法:

(1)冒泡排序:通过两次for循环,一遍一遍地排出最大值,次最大值…最终得到一串由小到大的数据

两个小游戏编程2019-08-02_第1张图片

(2)选择排序:

两个小游戏编程2019-08-02_第2张图片

(3)插入排序:

两个小游戏编程2019-08-02_第3张图片

自己的排序:结构像冒泡法,原理感觉是插入排序方法,但第二个for循环控制语句是由j<4简化而来,若为j<4则为选择排序怕?哈哈哈

两个小游戏编程2019-08-02_第4张图片

2.随机数的产生:

导入头文件:#include   #include

可以在调用rand()函数之前调用srand( (unsigned)time( NULL ) ),这样以time函数值(即当前时间)作为种子数,因为两次调用rand函数的时间通常是不同的,这样就可以保证随机性了。  利用srand((unsigned int)(time(NULL))是一种方法,因为每一次运行程序的时间是不同的,下面我们就动手用srand()函数来产生随机数吧。

实际问题:由于程序运行太快,所有时间间隔微乎其微,导致产生的四个随机数为四个相同的随机数

解决方法:在while(1)的死循环内产生一个随机数,判断与已产生的随机数是否相同,若相同则舍弃重新产生,直至产生不一样的新随机数通过break跳出while循环。

两个小游戏编程2019-08-02_第5张图片

实际编程:

1.数字游戏:

 设置参数人数       对每一个人从1开始编号 int

  设置死亡号码       报数 只要报道死亡号码的同学都死亡 后面的继续从1开始报数

具体实现:

(1)输入参与人数和死亡号码

两个小游戏编程2019-08-02_第6张图片

(2)游戏执行:

两个小游戏编程2019-08-02_第7张图片

结果:eg:

两个小游戏编程2019-08-02_第8张图片

2.猜谜游戏:

随机产生4个不重复的 0-9 之间的整数       从小到大排序

输入猜测的数字 1 2 3 4

A表示数字正确 位置正确的个数 2A           B表示数字正确 位置不正确 2B

具体实现:

(1)随机数产生:


两个小游戏编程2019-08-02_第9张图片

(2)对数据排序:

两个小游戏编程2019-08-02_第10张图片

(3)进行游戏:通过嵌套两个for语句进行判断随机数组与参与者输入的数组的数字内容和位置是否相同。

两个小游戏编程2019-08-02_第11张图片

结果:运气太好,哈哈哈

两个小游戏编程2019-08-02_第12张图片

心得:

对于昨天的我对这两个小程序是懵逼的,编了几个小时都变不出来,虽然考虑问题思路正确,但编程时循环嵌套太多,使自己有时候自己都懵了,转不过来了,经过今天学习,认知到自己编程时结构框架不好,不全面。希望以后多练习能培养出来这样意识吧,保佑。

你可能感兴趣的:(两个小游戏编程2019-08-02)