通过一个教学视频所学来的方法
using System;
using System.Collections.Generic;using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 飞行棋
{
class Program
{
static int[] Map = new int[100];//定义一个静态字段来存储地图的数组
static int[] PlayerPos = new int[2];//声明一个数组来存储玩家A和B的坐标
static string[] PlayerName = new string[2];//声明一个一个数组存储两个玩家的姓名
static int[] PlayerNumber = new int[2];//声明一个数组来存储两个玩家的序号
static bool[] Flags = new bool[2];//两个玩家的标记,默认都是false
static void Main(string[] args)
{
GameShow();//调用GameShow方法
#region 输入玩家姓名
Console.ForegroundColor = ConsoleColor.White;//定义下面文字在控制台显示的颜色
Console.WriteLine("请输入玩家A的姓名:");//从控制台获取玩家A的姓名
PlayerName[0] = Console.ReadLine();
while (PlayerName[0].Trim() == "")//trim(去掉两头的空格,但不影响中间的空格,防止所输入的姓名为空和全部都是空格的情况
{
Console.WriteLine("玩家A的姓名不能为空,请重新输入玩家A的姓名!!!");
PlayerName[0] = Console.ReadLine();
}
Console.WriteLine("请输入玩家B的姓名:");//从控制台获取玩家B的姓名
PlayerName[1] = Console.ReadLine();
while (PlayerName[1].Trim() == "" || PlayerName[1] == PlayerName[0])//对玩家B的姓名进行判断,如果不正确则要求重新输入
{
if (PlayerName[1].Trim() == "")
{
Console.WriteLine("玩家B的姓名不能为空,请重新输入玩家B的姓名!!1");
PlayerName[1] = Console.ReadLine();
}
else
{
Console.WriteLine("玩家B的姓名不能和玩家A的姓名相同,请重新输入玩家B姓名!!!!");
PlayerName[1] = Console.ReadLine();
}
}
#endregion
//输入玩家姓名之后 ,首先应该清屏,改变页面的整体内容
Console.Clear();//清屏
GameShow();//清屏后重新加载游戏头
#region 玩家姓名
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("{0}的人物用A表示", PlayerName[0]);
Console.WriteLine("{0}的人物用B表示", PlayerName[1]);
#endregion
SpecialMap();//调用SpecialMap方法来确定地图中的特殊位置
DrawMap();//画地图
while (PlayerPos[0] < 99 && PlayerPos[1] < 99)//进行循环,使玩家A和玩家B循环进行,并且在循环中判断玩家是否处于暂停状态
{
if (Flags[0] == false)
{
PlayGame(0);
}
else
{
Flags[0] = false;
}
if (Flags[1] == false)
{
PlayGame(1);
}
else
{
&