【扫雷游戏】

步骤

1.是否开始扫雷

(1)打印游戏开始界面。

(2)由用户输入数据选择是否开始游戏。选择“开始”进入游戏,选择“退出”退出程序,选择           错误重新进行选择。

&1. 利用自定义函数menu()打印游戏开始界面

&2. 定义整形变量input,在do while循环中输入input的值,利用switch判断语句判断是否开始        游戏。         

      输入“1”时开始游戏;输入“0”时退出循环,程序结束;输入其他数据时执行default,重新        选择是否进行游戏。

&3. do while循环语句,循环判断部分使用用户输入input的值,“0”时退出循环,非零继续执行。

2.创建棋盘

(1)  设置两个二维字符型数组,利用函数对棋盘进行初始化。

(2)  打印棋盘。

//初始化

&1. 在头文件中定义两组行(row)、列(col) , 一组9*9 ,一组11*11 。

&2. 在源文件中定义两组二维字符型数组,用以存放棋盘的数据。

 

&3. 利用自定义函数进行初始化棋盘。

      在Stdboard函数中利用for循环为棋盘的各个坐标赋值,mine中存放字符‘0’,show中存          放字符‘*’。

 //打印:

&1. 利用自定义函数进行棋盘打印。

&2. 设置for循环,在9*9棋盘外围为棋盘附加上坐标,帮助用户更好定位。

&3. 利用for循环,对二维字符数组show中的数据进行9*9打印,完成棋盘打印。

      mine棋盘显示所有炸弹位置,show棋盘为用户使用棋盘。

3. 部署雷

(1)利用自定义函数在棋盘中对雷进行随机部署。

 

//部署

&1. 利用自定义函数在棋盘内部署雷。

&2. 在头文件中定义雷(MINE)的个数为10。

&3. 定义三个整形变量x,y,count。

      为count赋值MINE用于计量炸弹个数。

      设置while循环。

      为x,y赋值。利用rand()%row(col)求余,因为row=9,col=9,所以结果为0~8。

      +1后结果范围变为1~9。(利用时间戳配合rand使用)

&4. 利用if条件判断语句,当棋盘中任意位置不等于字符'1'时,为这个位置赋值字符'1'。

       当count等于0时,退出循环,雷部署完毕。

4.排查雷

(1)利用自定义函数排查雷。 

//排查:

&1. 利用自定义函数进行排查。

&2. 定义三个整形变量x,y,win。

      设置while循环,循环判断条件为win < row * col -MINE未找出除炸弹以外的所有空

      利用scanf函数输入你所需要排查的坐标。

      当输入数值不符合在棋盘范围内,执行else语句,重新进行输入。

      若输入的坐标结果为'1'(炸弹),则游戏失败,打印所有炸弹安放图,退出循环。

      若输入的坐标结果不是'1',则定义一个整形变量count并为其赋值。

      在Getminenum函数中导入mine(炸弹分布)函数,计算并返回周围8格的炸弹个数

      在show(游玩棋盘)中,对你选择的坐标赋新值(炸弹存在个数),并且打印显现。

      直到所有炸弹被找出(win == row * col - MINE),完成扫雷游戏。      

结尾

(1)自定义函数要在头文件声明。

(2)各个源文件要添加头文件。

 

 

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值