说起”飞行棋“,一部分人会想到这个游戏怎么怎么样,有哪些特点……但学习到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;
}
}
这样把每一类的图形给一个特定数字就可以在之后“显示地图的形状”中很简单的利用起来。
以上是最近学习的一部分总结,如有谬误,欢迎斧正!