飞行棋 笔记
输出游戏说明
一、显示游戏名称 ShowUI()
static void ShowUI()
{
Console.WriteLine("*********************************************");
Console.WriteLine("* *");
Console.WriteLine("* 骑 士 飞 行 棋 *");
Console.WriteLine("* *");
Console.WriteLine("*********************************************");
}
二、输入游戏用户名
//获得玩家A、B名字
Console.WriteLine("请输入玩家A的姓名?");
names[0] = Console.ReadLine();
while (names[0] == "")
{
Console.WriteLine("玩家A的姓名不能为空请重新输入!");
names[0] = Console.ReadLine();
}
Console.WriteLine("请输入玩家B的姓名");
names[1] = Console.ReadLine();
while (names[1] == "" || names[1] == names[0])
{
if (names[1] == "")
{
Console.WriteLine("玩家B的姓名不能为空请重新输入!");
names[1] = Console.ReadLine();
}
else
{
Console.WriteLine("此名字已经被玩家A占用!请重新输入");
names[1] = Console.ReadLine();
}
}
三、清屏及游戏说明
Console.Clear();//清屏
ShowUI();//重绘LOGO
Console.WriteLine("对战开始......................");
Console.WriteLine("玩家{0}用A表示,玩家{1}用B表示", names[0], names[1]);
Console.WriteLine("如果AB在同一位置,则用<>来表示");
InitialMap();
DrawMap();
Console.WriteLine("对战开始......");
制作游戏地图
一、定义数组存储地图上的关卡
class Program
{
//用下面的数组存储游戏地图各个关卡
//在数组中用 ◎表示幸运轮盘=1
// ☆表示地雷=2
// ▲表示暂停=3
// 卐表示时空隧道=4
// □表示普通=0
static int[] Map = new int[100];//游戏地图的坐标
static int[] playerPos = { 0, 0 };//玩家A、B的初始坐标为0
static string[] names = new string[2];//声明一个长度为2的数组存放两个玩家的名字
static bool[] isRest = { false, false };//isRest[0],isRest[1]分别表示玩家A、B上一次是否走到了暂停
static void Main(string[] args)
{
二、地图初始化InitialMap()
static void InitialMap()
{
//绘制普通图标
for (int i = 0; i < Map.Length; i++)
{
Map[i] = 0;
}
int[] luckTurn = { 19, 24, 33, 47, 66, 78, 93 };//幸运轮盘的坐标
int[] landMine = { 5, 13, 26, 44, 57, 69, 87 };//地雷的坐标
int[] pause = { 9, 27, 60, 93 };//暂停的坐标
int[] timeTunnel = { 13, 25, 45, 63, 72, 88 };//时空隧道的坐标
for (int i = 0; i < luckTurn.Length; i++)
{
int pos = luckTurn[i];
Map[pos] = 1;
}
for (int i = 0; i < landMine.Length; i++)
{
int pos = landMine[i];
Map[pos] = 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()
static void DrawMap()
{
Console.WriteLine("图例:幸运轮盘◎ 地雷☆ 暂停▲ 时空隧道卐");
# region//画第一行
for (int i = 0; i < 30; i++)
{