数组和函数结合实现扫雷游戏:
规则:可以通过输入坐标的方式排查雷,如果位置为雷,则被炸死,游戏结束;如果位置不是雷,则显示有几个雷,直到把十个雷排查完则成功。
以9*9的规格为例
但边界会存在数组越界的问题,故创造11*11的数组才可以。
我们可以采用分文件编写:test.c,game.h,game.c 。
创建两个数组,mine数组用来存放布置雷的信息,show来存放排查后显示雷的信息。
Initbord函数用来初始化两个棋盘,其中布置雷的棋盘全设为‘0’,这样到时雷只要将其中十个坐标的‘0’变为‘1’;而show中只要初始化为‘*’,排查完也可以将旁边雷的信息重新赋值。
Display函数主要用于排完一个坐标后显示两个棋盘的信息。
setmine函数主要为布置雷:
其中运用到了一个随机数函数,需要头文件<stdlib.h>。
标准为count为10,每次布置完雷count就减一,直到为0.一共十次。
此函数是为了计算周围有几个雷,英文mine棋盘里是字符‘0’和字符‘1’,故要减8次‘0’。
findmine函数用于查雷
通过输入坐标,排查雷,若查到雷则结束游戏,否则继续,直到查到全部雷,并且每次查完雷都会重新打印show棋盘。