1、绘制个棋头,先把最简单的给做了再说,写个名为ShowUI的方法,值得注意的是在用Console.ForegroundColor = ConsoleColor.Yello;
语句设置颜色后要记得用Console.ResetColor();把颜色还原成系统默认值。
2、确定地图格数,定义个int类型数组 int[] map= new int[125] 存每格应绘制的图标,注意此数组多个地方需要用到,所以定义到main方法上面,Program类里面,
由于下面的方法都是静态方法,所以在数组前加上static,注意(静态类只能访问静态字段,而非静态方法既能访问静态字段,也能访问非静态字段)。
3、初始化地图,改变map数组中各元素的值,用初始值0代表普通方块,1代表幸运轮盘,2代表地雷,3代表暂停,4代表时空隧道。
4、由于玩家A和B分别需要在地图上移动,所以需写个方法判断并绘制相应的图标,此处要用到A,B的坐标,so也在main上面定义个含两个元素的数组
来存放A和B的坐标索引,在此方法中定义个参数来接收需要判断的地图下标,首先判断A,B是否都在当前下标出,重叠用<>表示,仅A或B在此下标处就分别用
A或B表示(注:地图上绘制A,B需用全角),当A,B都不在此下标处时switch case根据不同的map数组值绘制相应的图标。
5、绘制地图,关键在于注意空格,换行及每行地图起始下标和结束下标,建议初期用*来代替空格,并将类似的行尽可能写成方法,而每格地图的绘制则直接
调用4中的方法。
6、在main方法中绘制棋头和提示玩家A和玩家B输入名称(不能相同和为空),接着清屏后开始初始化及绘制地图。
7、在main方法中用while循环来控制A和B的对战,此处便需要个方法来控制A和B的行动,当有人到终点时便提示胜利,跳出循环。
8、写个Action方法控制A和B的行动及各关卡特效,此处需注意每次行动后要判断A和B的索引位置是否在地图内(也写成个方法),在最后要记得清空并重新绘制地图。
|