“C”实现扫雷游戏(优化版)

完成扫雷程序,并进行以下优化: ①第一次下子,不炸死。(如果第一次扫到雷区,则将其置为无雷区,为保证雷的数目不变,再次随机布一颗雷) ②坐标周围没雷,可以实现展开。 思路: 1、设置游戏区域(10x10,考虑到边界问题,为统一操作,故设为12x12) 雷区面板和玩家操作面板(为方便操作,两面板保持一致) 附注:memset()函数介绍 void memset(void s, int ch, size_t n); 函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用ch 替换并返回s。 memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。 memset()函数原型是extern void memset(void buffer, int c, int count) 其中,buffer:为指针或是数组;c:是赋给buffer的值;count:是buffer的长度. 2、打印游戏菜单 3、在雷区面板布雷 附注:srand函数和rand函数介绍 srand函数是随机数发生器的初始化函数。 原型:void srand(unsigned int seed);srand和rand()配合使用产生伪随机数序列。 rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列 4、定义游戏 (1)获取周边雷的数目 (2)第一次扫雷不被炸死 (3)打印游戏面板(反馈周边雷的数目,然后显示周边无雷区) 玩家玩游戏操作 (有待改进的地方希望道友们给予指点,嘻嘻) 算法如下:

完成扫雷程序,并进行以下优化: ①第一次下子,不炸死。(如果第一次扫到雷区,则将其置为无雷区,为保证雷的数目不变,再次随机布一颗雷) ②坐标周围没雷,可以实现展开。 思路: 1、设置游戏区域(10x10,考虑到边界问题,为统一操作,故设为12x12) 雷区面板和玩家操作面板(为方便操作,两面板保持一致) 附注:memset()函数介绍 void memset(void s, int ch, size_t n); 函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用ch 替换并返回s。 memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。 memset()函数原型是extern void memset(void buffer, int c, int count) 其中,buffer:为指针或是数组;c:是赋给buffer的值;count:是buffer的长度. 2、打印游戏菜单 3、在雷区面板布雷 附注:srand函数和rand函数介绍 srand函数是随机数发生器的初始化函数。 原型:void srand(unsigned int seed);srand和rand()配合使用产生伪随机数序列。 rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列 4、定义游戏 (1)获取周边雷的数目 (2)第一次扫雷不被炸死 (3)打印游戏面板(反馈周边雷的数目,然后显示周边无雷区) 玩家玩游戏操作 (有待改进的地方希望道友们给予指点,嘻嘻) 算法如下:
经验分享 程序员 微信小程序 职场和发展