加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

通过编写扫雷游戏提高你的Bash技巧

发布时间:2019-10-09 11:34:10 所属栏目:建站 来源:Abhishek Tamrakar
导读:副标题#e# 那些令人怀念的经典游戏可是提高编程能力的好素材。今天就让我们仔细探索一番,怎么用 Bash 编写一个扫雷程序。 我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进

这是显示出来的游戏界面,[a-j] 为列,[0-9] 为行。

通过编写扫雷游戏提高你的Bash技巧

Minefield

创建玩家逻辑

玩家操作背后的逻辑在于,先从 stdin 中读取数据作为坐标,然后再找出对应位置实际包含的值。这里用到了 Bash 的参数扩展,来设法得到行列数。然后将代表列数的字母传给分支语句,从而得到其对应的列数。为了更好地理解这一过程,可以看看下面这段代码中,变量 o 所对应的值。 举个例子,玩家输入了 c3,这时 Bash 将其分成两个字符:c3。为了简单起见,我跳过了如何处理无效输入的部分。

  1. colm=${opt:0:1} # 得到第一个字符,一个字母
  2. ro=${opt:1:1} # 得到第二个字符,一个整数
  3. case $colm in
  4. a ) o=1;; # 最后,通过字母得到对应列数。
  5. b ) o=2;;
  6.     c ) o=3;;
  7.     d ) o=4;;
  8.     e ) o=5;;
  9.     f ) o=6;;
  10.     g ) o=7;;
  11.     h ) o=8;;
  12.     i ) o=9;;
  13.     j ) o=10;;
  14.   esac

下面的代码会计算用户所选单元格实际对应的数字,然后将结果储存在变量中。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读