说起”飞行棋“,一部分人会想到这个游戏怎么怎么样,有哪些特点……但学习到C#视频的伙伴想到的可能是这个开头怎么写,文字的是如何更美观的显示出来的,代码是怎么减少冗余的……而我想到的就是如何入让这个游戏即好玩代码又少!首先这个游戏的基本页面大概是这个样子。
两个人首先掷色子得出走的步数,根据图中每个图形代表的含义去走下去,哪位选手先走到最后就是赢家。
那么这个游戏不变的是最上面的花框和里面的文字,我们在这里暂时先称为游戏头。那么这个就相对于比较简单一些,只需要在屏幕上显示出来即可。
Console.WriteLine("****************************************"); Console.WriteLine("* *"); Console.WriteLine("* 终极骑士飞行棋20201031 *"); Console.WriteLine("* *"); Console.WriteLine("****************************************");
只需要这几行代码就可以很容易的显示出来,如果有自己喜欢的形状,可以根据自己的喜好来书写代码。
完成了游戏头就可以开始地图的设计。我们观察地图很容易发现在地图中有不同的图形,那么怎么把其中夹杂的其他图形也显示出来呢?就需要利用数组的方式来把他们显示出来。我们只需要知道每一个特殊的图形有哪个位置就好。代码如下:
//用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 };//时空隧道 //把数组中下标为6,23,40,55,69,83的地方的值改为1 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; } }
这样把每一类的图形给一个特定数字就可以在之后“显示地图的形状”中很简单的利用起来。
以上是最近学习的一部分总结,如有谬误,欢迎斧正!