前言
骑士飞行棋是我在学习C#项目中非常感兴趣的部分。同时我也是第一次使用C#敲出一个有453行的完整程序。欢迎大家跟随笔者的步伐来进入这个有趣的飞行棋世界!
正文
声明的变量
public static int[] Map = new int[100]; //声明一个长度为100的数组用来画地图
public static int[] PlayerPos = new int[2] { 0, 0 }; //声明一个数组用来存玩家A和玩家B
public static string []PlayerNames = new string[2]; //声明2个字符串类型的变量来存放用户名
public static bool[] flag = new bool[] { false, false }; //声明2个布尔类型的变量来确保骰子没有让棋子的位置走出地图
用到的方法
主方法(Main)
主方法里是飞行棋代码的中心,里面包含了整个飞行棋的运行结构和逻辑。
包括显示调取游戏头方法,调取初始化地图方法,要求玩家输入姓名,显示对战信息,调取画地图方法,掷骰子这些内容。
显示界面方法(UI)
主要就是显示游戏名称和版本,比如小弟的飞行棋就叫做“小蜜蜂飞行棋 终极版”
初始化地图方法(InitMap)
这里面定义了地图中的各个要素,有普通的格子,地雷,时空隧道等等,并能使这些图形显示在地图上。
public static void InitMap()
{
//初始化地图
//用0表示普通,显示给用户就是 □
//....1...幸运轮盘,显示组用户就 ◎
//....2...地雷,显示给用户就是 ☆
//....3...暂停,显示给用户就是 ▲
//....4...时空隧道,显示组用户就 卐
int[] luckyturn = { 6, 23, 40, 55, 69, 83 };//幸运轮盘◎
int[] landMine = { 5, 13, 17, 33, 38, 50, 64, 80, 94 };//地雷☆
int[] pause = { 9, 27, 60, 93 };//暂停▲
int[] timeTunnel = { 20, 25, 45, 63, 72, 88, 90 };//时空隧道卐
for (int i = 0; i < luckyturn.Length; i++)
{
Map[luckyturn[i]] = 1;
}
for (int i = 0; i < landMine.Length; i++)
{
Map[landMine[i]] = 2;
}
for (int i = 0; i < pause.Length; i++)
{
Map[pause[i]] = 3;
}
for (int i = 0; i < timeTunnel.Length; i++)
{
Map[timeTunnel[i]] = 4;
}
}
画地图方法(DrawMap)
这里面的代码把地图的三个横行两个竖行显示了出来
地图第一行行走逻辑的方法(DrawStringMap)
包括玩家在地图上的颜色用黄色表示,各种元素的颜色设置。本方法供画地图等其他方法调用
地图换行的方法(DrawMapLeftToRight)
这里面调用了“画地图”方法。规定了画地图时换行的顺序。
走到幸运轮盘时,选择和判断方法(ReadInt)
幸运轮盘有两个选项,只能输入1或2,如果输入有误,显示信息提示
扔tou子方法(RowTouZi)
骰子的点数只能在1-6之间,扔完骰子后玩家位置在地图上对应改变,如果玩家1和玩家2走到相同的位置会发生的神秘现象。
。。。。。。这里面还有一段作弊代码,没作弊机制的游戏是不健全的,你懂得!
判断玩家棋子的位置方法(CheckPos)
这里主要强调的是棋子的位置必须在0-99之间,否则在地图外且不显示。
胜利方法(Win)
这个好理解,就是走到终点时系统提示你就是那个最后成为海贼王的男人!
尾声
飞行棋到这里就结束了,笔者还是小白,欢迎大家批评指正!