C#飞行棋小游戏

风格不统一 提交于 2020-02-08 18:03:44

小游戏

画地图

初始化地图

画地图

玩游戏

引用文本
游戏规则:
如果玩家A踩到了玩家B 玩家B退6格
踩到了地雷 退6格
踩到了时空隧道 进10格
踩到了幸运轮盘 1–交换位置 2–轰炸对方 是对方退6格
踩到了暂停 暂停一回合
踩到了方块 什么都不干

说明: 幸运转盘:◎ 地雷:☆ 暂停:▲ 时空隧道:卐

飞行棋小游戏的说

玩游戏的代码

//玩游戏
public static void PlayGame(int playerNumber)
        {
            Random r = new Random();
            int rNumber = r.Next(1, 7);
            Console.WriteLine("玩家{0}按任意键开始掷骰子", PlayerNames[playerNumber]);
            Console.ReadKey(true);
            Console.WriteLine("玩家{0}掷出了{1}", PlayerNames[playerNumber],rNumber);
            PlayerPos[playerNumber] += rNumber;
            Console.ReadKey(true);
            Console.WriteLine("{0}按任意键开始行动", PlayerNames[playerNumber]);
            Console.ReadKey(true);
            Console.WriteLine("{0}行动完了", PlayerNames[playerNumber]);
            Console.ReadKey(true);
            //玩家A有可能踩到玩家B 方块 幸运转盘 地雷 暂停 时空隧道
            if (PlayerPos[playerNumber] == PlayerPos[1-playerNumber])
            {
                Console.WriteLine("玩家{0}踩到了玩家{1},玩家{2}退6格", PlayerNames[playerNumber], PlayerNames[1-playerNumber], PlayerNames[1-playerNumber]);
                PlayerPos[1-playerNumber] -= 6;
                Console.ReadKey(true);
            }
            else //踩到了关卡
            {
                //玩家的坐标
                switch (Maps[PlayerPos[playerNumber]])  //0 1 2 3 4
                {
                    case 0: Console.WriteLine("玩家{0}踩到了方块,安全。", PlayerNames[playerNumber]);
                        Console.ReadKey(true);
                        break;
                    case 1: Console.WriteLine("玩家{0}踩到了幸运轮盘,请选择 1--交换位置  2--轰炸对方,使其{1}退6格", PlayerNames[playerNumber],PlayerNames[1-playerNumber]);
                        string input = Console.ReadLine();
                        while (true)
                        {
                            if (input == "1")
                            {
                                Console.WriteLine("玩家{0}跟玩家{1}交换位置", PlayerNames[playerNumber], PlayerNames[1-playerNumber]);
                                Console.ReadKey(true);
                                int temp = PlayerPos[playerNumber];
                                PlayerPos[playerNumber] = PlayerPos[1-playerNumber];
                                PlayerPos[1-playerNumber] = temp;
                                Console.WriteLine("交换完成!!!,按任意键继续!!!");
                                Console.ReadKey(true);
                                break;
                            }
                            else if (input == "2")
                            {
                                Console.WriteLine("玩家{0}选择轰炸玩家{1},玩家{2}退6格", PlayerNames[playerNumber], PlayerNames[1 - playerNumber], PlayerNames[1-playerNumber]);
                                PlayerPos[1-playerNumber] -= 6;
                                Console.ReadKey(true);
                                Console.WriteLine("玩家{0}后退了6格", PlayerNames[1 - playerNumber]);
                                Console.ReadKey(true);
                                break;
                            }
                            else
                            {
                                Console.WriteLine("只能输入1或者2  1--交换位置  2--轰炸对方");
                                input = Console.ReadLine();
                            }       
                        }
                        break;
                    case 2: Console.WriteLine("玩家{0}踩到了地雷,退6格。", PlayerNames[playerNumber]);  
                        PlayerPos[playerNumber] -= 6;
                        Console.ReadKey(true);
                        break;
                    case 3: Console.WriteLine("玩家{0}踩到了暂停,暂停一回合。", PlayerNames[playerNumber]);
                        Flags[playerNumber] = true;
                        Console.ReadKey(true);
                        break;
                    case 4: Console.WriteLine("玩家{0}踩到了时空隧道,前进10格。", PlayerNames[playerNumber]);
                        PlayerPos[playerNumber] += 10;
                        Console.ReadKey(true);
                        break;
                }//switch
            }//else
            ChangePos();
            Console.Clear();
            DrawMap();
        }

列表

  • 1
    • 2
      • 3
  1. Console.Clear();//清屏
  • 计划任务
  • 完成任务

一个表格

一个简单的表格是这么创建的:

方法名 功能
GameShow() 画游戏头
InitailMap() 初始化地图(加载地图所需要的资源)
DrawMap() 画地图
PlayGame() 玩游戏
方法名 功能
DrawStringMap() 画地图的方法中抽象出来的一个方法
ChangePos() 坐标改变的时候调用
Win() 胜利
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!