【C#】飞行棋
上面这个飞行棋大家大多数都接触过,今天我来分享一下我的理解,还望大家多多提出意见!
飞行棋分为三块:
我认为做完飞行棋需要3部分。第一是画图的步骤;第二是如何创建玩家姓名;第三是如何行走。
一:画图的步骤
如上图所示是我总结后画图的7个步骤
如下图所示的画图逻辑是画图步骤中最重要的一步,将它单独放在一个方法里,然后在主函数中根据每一行去调用,消除了大量的冗余代码,方便又易懂
因为飞行棋地图分为三行两列,还要注意画每一行每一列时的范围
二:如何创建玩家姓名
.这个相对来说比较简单,大家只要搞懂命名关系就好了。
.例如有两个玩家,首先输入第一位玩家姓名,要注意判断是否为空
.再判断第二位玩家,不光判断是否为空,还要注意是否与第一位姓名相同,如相同进行提示错误
三:如何行走
行走就要涉及到掷骰子,如上图所示就是掷骰子的封装方法,下面有些关键点需要注意:
1)要将代码封装成方法调用。因为最少有两个玩家参与,所以在方法中要设立一个公共的参数。如下图
2)判断什么情况下掷骰子,什么情况下停止掷骰子
如果满足了上面的条件,就可以掷骰子。飞行棋共有99个格子,所以两个玩家的坐标都不超出99的情况下可以继续掷骰子,否则停止掷骰子。注意是&的关系
3)如何暂停
游戏里有一项暂停图标,如果玩家踩到了就要停止一回合掷骰子。
.首先声明一个全局变量flag数组,用于判断是否暂停。
.默认为flag的状态为false,如果是false就继续掷骰子
过程如果踩到暂停,将flag状态改为true
4)坐标不能超出范围
范围从0--99,创建一个限制玩家坐标超范围的方法,如果超出最大、最小范围,就停在最大、最小坐标上
在掷骰子封装方法中调用上面的方法,如下图划红线的地方(局部代码)