关于黑白棋悔棋


       我在上一篇博客中已经写到,黑白棋悔棋和五子棋不同,黑白棋悔一步不是像五子棋pop一下那么简单。往往要把上一步吃掉的子变回来。同时如果强行记录吃掉的子使其在悔棋时重新变回来,这种思路写的程序无疑很繁琐,一不留神就会出错。

       所以,我想到会有这么一种方法,把每走一步的棋盘记录下来,悔棋的时候直接把上一步棋盘记录的棋子信息复原。形象一点就是每一步都是一个新棋盘,然后依次叠起来。

       没错,就相当于增加了一个维度,这个时候只要创建一个三维数组,前两个维度i,j意义不变,第三个变量k是第三个维度。每走一步,k++。悔棋的时候,k--,再清盘(黑白棋里是清盘比悔棋先做的),然后把k减了1的数组记录的棋子信息复盘。当然,事先每走一步都要把全盘的棋子信息存储的三维数组里。当然随手恢复变量好习惯,避免影响其他部分的函数。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值