用C#控制台写飞行棋(第四篇)
作者:互联网
1.编写头部内容。
2.输入玩家内容。
3. 定义地图内容。
4. 打印地图。
5. 游戏前的准备。
6. 游戏玩法。
static int[] Player = new int[2];//设置一个全局变量储存玩家位置
首先在class Program
里面创建一个方法:
public static void DrawMap()
画地图可以根据自己喜欢的方式,我这里选择的地图是蛇形的。
类似于这样:
横行三行,竖行两行。
//第一横行三十个图案,可以自己定义道具。
for (int i = 0; i < 30; i++)
{
Console.ForegroundColor = ConsoleColor.Yellow;//自定义文本颜色
if (Player[0] == Player[1] && Player[0] == i)//如果玩家A与玩家B在同一地点且玩家在地图内
{
Console.Write("⊙");
}
else if (Player[0] == i)
{
Console.Write("♂");//玩家A
}
else if (Player[1] == i)
{
Console.Write("♀");//玩家B
}
else
{
switch (Map[i])
{
case 0:
Console.ForegroundColor = ConsoleColor.Yellow;//自定义文本颜色
Console.Write("□");//地图
break;
case 1:
Console.ForegroundColor = ConsoleColor.Red;//自定义文本颜色
Console.Write("¤");//地雷
break;
case 2:
Console.ForegroundColor = ConsoleColor.Green;//自定义文本颜色
Console.Write("卍");//时空隧道
break;
case 3:
Console.ForegroundColor = ConsoleColor.Cyan;//自定义文本颜色
Console.Write("◎");//幸运轮盘
break;
case 4:
Console.ForegroundColor = ConsoleColor.Gray;
Console.Write("▲");//暂停
break;
}
}
}
Console.WriteLine();//第一横行结尾后换行
第一竖行,由五个横行组成,一个横行一个图案。
//第一竖行5个图案
for (int i = 30; i < 35; i++)
{
for (int j = 0; j < 29; j++)
{
Console.Write(" ");//多余位置用空格代替
}
Console.ForegroundColor = ConsoleColor.Yellow;
if (Player[0] == Player[1] && Player[0] == i)
{
Console.Write("⊙");
}
else if (Player[0] == i)
{
Console.Write("♂");
}
else if (Player[1] == i)
{
Console.Write("♀");
}
else
{
switch (Map[i])
{
case 0:
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write("□");
break;
case 1:
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("¤");
break;
case 2:
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("卍");
break;
case 3:
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("◎");
break;
case 4:
Console.ForegroundColor = ConsoleColor.Gray;
Console.Write("▲");
break;
}
}
Console.WriteLine();//在竖行结束的每一横行换行
}
//由于蛇形地图,第一竖行结束后不用换行
//第二横行,倒叙输出。15个图案
for (int i = 64; i > 34; i--)
{
Console.ForegroundColor = ConsoleColor.Yellow;
if (Player[0] == Player[1] && Player[0] == i)
{
Console.Write("⊙");
}
else if (Player[0] == i)
{
Console.Write("♂");
}
else if (Player[1] == i)
{
Console.Write("♀");
}
else
{
switch (Map[i])
{
case 0:
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write("□");
break;
case 1:
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("¤");
break;
case 2:
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("卍");
break;
case 3:
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("◎");
break;
case 4:
Console.ForegroundColor = ConsoleColor.Gray;
Console.Write("▲");
break;
}
}
}
结尾不用换行
//第二竖行
for (int i = 65; i < 70; i++)//5个图案
{
Console.ForegroundColor = ConsoleColor.Yellow;
if (Player[0] == Player[1] && Player[0] == i)
{
Console.Write("⊙");
}
else if (Player[0] == i)
{
Console.Write("♂");
}
else if (Player[1] == i)
{
Console.Write("♀");
}
else
{
switch (Map[i])
{
case 0:
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write("□");
break;
case 1:
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("¤");
break;
case 2:
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("卍");
break;
case 3:
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("◎");
break;
case 4:
Console.ForegroundColor = ConsoleColor.Gray;
Console.Write("▲");
break;
}
}
for (int j = 0; j < 29; j++)
{
Console.Write(" ");
}
Console.WriteLine();//每一横行结尾换行
}
//第三横行,最后一行
for (int i = 70; i < 100; i++)
{
Console.ForegroundColor = ConsoleColor.Yellow;
if (Player[0] == Player[1] && Player[0] == i)
{
Console.Write("⊙");
}
else if (Player[0] == i)
{
Console.Write("♂");
}
else if (Player[1] == i)
{
Console.Write("♀");
}
else
{
switch (Map[i])
{
case 0:
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write("□");
break;
case 1:
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("¤");
break;
case 2:
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("卍");
break;
case 3:
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("◎");
break;
case 4:
Console.ForegroundColor = ConsoleColor.Gray;
Console.Write("▲");
break;
}
}
}
打印地图时注意换行的格式。根据自己喜欢的地图样式打印。
利用for
循环进行遍历打印地图。
第一步:编写头部内容链接。
第二步:输入玩家内容链接。
第三步:定义地图内容链接。
标签:break,ForegroundColor,Console,Player,C#,飞行棋,Write,ConsoleColor,第四篇 来源: https://blog.csdn.net/qq_46380990/article/details/110183585