用C#控制台写飞行棋(第四篇)

1.编写头部内容。
2.输入玩家内容。
3. 定义地图内容。
4. 打印地图。
5. 游戏前的准备。
6. 游戏玩法

static int[] Player = new int[2];//设置一个全局变量储存玩家位置

首先在class Program里面创建一个方法:

public static void DrawMap()

画地图可以根据自己喜欢的方式,我这里选择的地图是蛇形的。
类似于这样:用C#控制台写飞行棋(第四篇)_第1张图片
横行三行,竖行两行。

                   //第一横行三十个图案,可以自己定义道具。
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循环进行遍历打印地图。
第一步:编写头部内容链接。
第二步:输入玩家内容链接。
第三步:定义地图内容链接。

你可能感兴趣的:(飞行棋,C#,笔记,c#)