C#-----基础练习

飞行棋:

  • 游戏规则:

First:玩家A和玩家B输入自己的游戏名称

2th:第一轮玩家A开始投掷骰子,一次轮流进行

3th:如果玩家A和B的位置重叠了:A撞了B,那么B退后6格(反之同理)

4th:游戏符号含义:

图例中的符号表示:幸运转盘○  地雷:☆  暂停:△  时空隧道:√"

1、幸运转盘:玩家可以有两个选择:

那么选择1——和对方交换位置,2——轰炸对方(使对方回到原点)

2、地雷:当前玩家退后6

3、暂停:停止掷骰子一轮

4、时空隧道:当前玩家前进10


  • 代码部分:

分为:界面设置部分:行走逻辑部分。也可以按照代码界面分:声明数组部分 和定义方法部分

一、声明的数组:

1、100个坐标来画地图

public static int[] Map = new int[100];

2、两个数组来存AB玩家的名字

 public static string[] PlayerNames = new string[2];

3、声明一个数组来存AB玩家的坐标

public static int[] PlayerPos = new int[2] { 0, 0 };

4、声明一个bool类型的数组,玩家踩到暂停时判断

 public static bool[] flag = new bool[] { false, false };

二、定义方法:

1、飞行棋表头设计

 public static void ShowUI()

2、初始化地图设计(哪个坐标表示哪个图案规则)

 public static void InitMap()

3、画地图的横竖横竖横

public static void DrawMap()

4、给每一行的逻辑定义一个方法

public static string DrawStringMap(int pos)

这是画每一行都要用到的逻辑:

            if (PlayerPos[0] == PlayerPos[1] && PlayerPos[0] == i)//如果坐标0和1的位置相等并且初始位置是0 
            {
                Console.Write("<>");
            }
            else if (PlayerPos[0] == i)
            {
                Console.Write("A");
            }
            else if (PlayerPos[1] == i)
            {
                Console.Write("B");
            }
            else
            {
                switch (Map[i])//如果玩家A和玩家B不在一起也不在这个坐标上就画该显示的地图图标
                {
                    case 0: Console.Write("□"); break;//普通
                    case 1: Console.Write("○"); break;//幸运盘
                    case 2: Console.Write("☆"); break;//地雷
                    case 3: Console.Write("△"); break;//暂停
                    case 4: Console.Write("√"); break;//时空隧道
                }//end switch
            }//end if

5、第三行和第一行画的方法是一样的,定义一个方法

 public static void DrawMapleftToRight(int left, int right)

6、游戏规则中“幸运转盘”选择1 或2决定对方的惩罚方法,把玩家输入的数字进行判断是否是正常值(来回传数字的过程)

 public static int ReadInt(string msg, int min, int max)

7、 地图加载完成后,开始提示玩家开始投掷骰子+游戏规则(如上)定义一个方法

public static void RowTouzi(int playerPos)

8、核对坐标的方法:是否回到初始位置、是否到达最终位置判断输赢

public static void CheckPos()

9、赢了显示的内容的方法:如果到达最后的坐标那么就显示方法里的内容

public static void Win()

小结:

飞行棋的例子主要应用了Public的应用:他表示公共成员,完全公开,没有访问限制

后面还有有:Private (私有成员,在类的内部才可以访问)Protected(保护成员,在类内部和集成类中可以访问)Internal(当前程序集内可以访问)等


猜你喜欢

转载自blog.csdn.net/xml1996/article/details/81022645