using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace 飞行棋小游戏
{
class Program
{
/// <summary>
/// 地图
/// </summary>
static int[] Maps = new int[100];
/// <summary>
/// 用户姓名
/// </summary>
static string[] playerName = new string[2];
/// <summary>
/// 两名玩家的位置
/// </summary>
static int[] playerPosition = new int[2];
/// <summary>
/// 标记两个玩家谁该进行投掷筛子
/// </summary>
static bool[] playerFlag = new bool[2];
static void Main(string[] args)
{
//游戏标题
ShowTitle();
#region///用户名注册
Console.WriteLine("请两名玩家先进行用户注册!");
Console.WriteLine("注册规则:不能为空,并且不能是纯数字,玩家AB姓名不能相同");
Console.WriteLine("请输入玩家A的姓名:");
string pattern = @"^\d+$";
bool isok = true;
while (isok)
{
playerName[0] = Console.ReadLine();
if (string.IsNullOrWhiteSpace(playerName[0]))
{
Console.WriteLine("玩家A的姓名不能为空,请重新输入");
}
else if (Regex.IsMatch(playerName[0], pattern))
{
Console.WriteLine("玩家A的姓名不能是纯数字,请重新输入");
}
else
{
isok = false;
}
}
isok = true;
Console.WriteLine("请输入玩家B的姓名:");
while (isok)
{
playerName[1] = Console.ReadLine();
if (string.IsNullOrWhiteSpace(playerName[1]))
{
Console.WriteLine("玩家B的姓名不能为空,请重新输入");
}
else if (Regex.IsMatch(playerName[1], pattern))
{
Console.WriteLine("玩家B的姓名不能是纯数字,请重新输入");
}
else if (playerName[0] == playerName[1])
{
Console.WriteLine("玩家B的姓名已被占用,请重新输入");
}
else
{
isok = false;
}
}
#endregion
Console.Clear();
ShowTitle();
ShowRule();
InitialMap();
DrawMap();
//开始进入游戏
//判断两名玩家都未到达终点则游戏继续
while (playerPosition[0] < 99 && playerPosition[1] < 99)
{
if (playerFlag[0] == false)
{
PlayGame(0);
}
else
{
playerFlag[0] = false;
}
if (playerFlag[1] == false)
{
PlayGame(1);
}
else
C#实现一个控制台飞行棋小游戏(附源码)
最新推荐文章于 2024-05-05 19:42:34 发布