3.后要考虑的是玩家A和B的行动如何进行代码的实现,
  具体的代码实现如下:

/// <summary>
/// 执行AB动作
/// </summary>
/// <param name="playernumber"></param>
static void Action(int playernumber)
{
#region 玩家掷骰子
Random rand = new Random();   //产生随机数
int step = 0;  //存储临时产生的随机数
string msg = "";   //关卡提示消息
Console.WriteLine("{0}按任意键开始掷骰子", players[playernumber]);
ConsoleKeyInfo rec = Console.ReadKey(true);
step = rand.Next(1, 7);
msg = "";
if (rec.Key == ConsoleKey.Backspace && (rec.Modifiers == ConsoleModifiers.Shift|rec.Modifiers == ConsoleModifiers.Control))
{
ConsoleKeyInfo rec2 = Console.ReadKey(true);
if (rec2.Key == ConsoleKey.Tab)
{
step = 30;
}
}
Console.WriteLine("{0}掷出了{1}", players[playernumber], step);
Console.WriteLine("按任意键进行行动........");
Console.ReadKey(true);
playerPos[playernumber] = playerPos[playernumber] + step;
CheckPos();
//玩家A踩到了玩家B,B返回原点
if (playerPos[playernumber] == playerPos[1 - playernumber])
{
playerPos[1 - playernumber] = 0;
msg = string.Format("{0}踩到了{1},{1}退回原点", players[playernumber], players[1 - playernumber]);
}
else   //没踩到的时候判断是否有其他的关卡
{
switch (map[playerPos[playernumber]])
{
case 0:
//普通
break;
case 1:
//幸运轮盘
Console.Clear();
DrawMap();
Console.WriteLine("你走到了幸运轮盘,请选择运气:");
Console.WriteLine("1---交换位置  2---轰炸对方");
int userSelect = ReadInt(1, 2);
if (userSelect == 1)
{
playerPos[playernumber] = playerPos[playernumber] - playerPos[1 - playernumber];
playerPos[1 - playernumber] = playerPos[1 - playernumber] + playerPos[playernumber];
playerPos[playernumber] = playerPos[1 - playernumber] - playerPos[playernumber];
msg = string.Format("{0}选择了交换位置", players[playernumber]);
}
else
{
//轰炸
playerPos[1] -= 6;
msg = string.Format("{0}轰炸了{1},{1}退6格", players[playernumber], players[1 - playernumber]);
}
break;
case 2:
//地雷
playerPos[0] -= 6;
msg = string.Format("{0}踩到了地雷,{0}退6格", players[playernumber]);
break;
case 3:
//暂停
isStop[0] = true;
msg = string.Format("{0}走到了暂停", players[playernumber]);
break;
case 4:
//时空隧道
playerPos[0] += 10;
msg = string.Format("{0}进入时空隧道,爽死了,{0}前进10格", players[playernumber]);
break;
}
}
CheckPos();
Console.Clear();
DrawMap();
Console.WriteLine();
if (msg != "")
{
Console.WriteLine(msg);
}
Console.WriteLine(" {0}掷出了{1},行动完成", players[playernumber], step);
Console.WriteLine("{0}的位置为{1}", players[playernumber], playerPos[playernumber] + 1);
Console.WriteLine("{0}的位置为{1}", players[1 - playernumber], playerPos[1 - playernumber] + 1);
#endregion
}