嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 1 元微信扫码支付:1 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
static int[] Map = new int[100];
static int [] lukyTurn={6,26,47,69,94};
static int [] boom={12,36,52,78,99};
static int [] pause={17,44,61,84};
static int [] fly={2,32,62,82};
static Person[] player = new Person[2];
static void Main(string[] args)
{
ShowUI();
initial();
#region 玩家A B名字输入
Console.WriteLine("请输入玩家A的名字:");
player[0].name = InPutName();
Console.WriteLine("请输入玩家B的名字:");
player[1].name = InPutName();
while (player[0].name == player[1].name)
{
Console.WriteLine("不能与玩家A名字相同");
player[1].name = InPutName();
}
#endregion
Rult();
Console.WriteLine();
Console.WriteLine("请按任意键继续!");
Console.ReadKey();
Console.Clear();
player[0].roll = 2;
player[1].roll = 1;
PrintUI();
do
{
PrintUI();
Console.WriteLine();
RollB();
RollA();
Console.ReadKey();
} while (player[0].pos<100&&player[1].pos<100);
if (player[0].pos>player[1].pos)
{
Console.Clear();
Console.WriteLine("玩家A胜利,他就是:{0}",player[0].name);
}
else
{
Console.Clear();
Console.WriteLine("玩家B胜利,他就是:{0}",player[1].name);
}
Console.ReadKey();
}
static void ShowUI()
{
Console.WriteLine("*****************************************");
Console.WriteLine("* *");
Console.WriteLine("* 骑 士 行 棋 *");
Console.WriteLine("* *");
Console.WriteLine("*****************************************");
}//显示界面
static string InPutName()//输入名字
{
string name;
name = Console.ReadLine();
while (name == "")
{
Console.WriteLine("名字不能为空,请重新输入");
name = Console.ReadLine();
};
return name;
}
static void initial()//初始化
{
for (int i = 0; i < lukyTurn.Length; i )//幸运轮盘 为1
{
Map[lukyTurn[i]]=1;
}
for (int i = 0; i < boom.Length; i )//炸弹 为2
{
Map[boom[i]]=2;
}
for (int i = 0; i < pause.Length; i )//暂停 为2
{
Map[pause[i]]=3;
}
for (int i = 0; i < fly.Length; i )//传送 为4
{
Map[fly[i]]=4;
}
}
static string GameUI(int pos)//把Map所存放的数字转化为字符串
{
string result="□";
//返回字符串
#region 返回对应字符串
if (player[0].pos==pos && player[1].pos==pos)
{
result = "<>";
}
else if (player[0].pos==pos)
{
result = "A";
}
else if (player[1].pos == pos)
{
result = "B";
}
else
{
switch (Map[pos])
{
case 0:
result= "□";
break;
case 1:
result = "◎";
break;
case 2:
result = "★";
break;
case 3:
result = "▲";
break;
case 4:
result = "卐";
break;
}
}
return result;
#endregion
}
static void PrintUI()//绘制游戏地图
{
Console.Clear();
Console.WriteLine("A代表玩家{0},B代表玩家{1}", player[0].name, player[1].name);
int x = 64;
for (int i = 0; i < Map.Length; i )
{
#region 第一行
if (i < 30)
{
Console.Write(GameUI(i));
}
else if (i == 30)
{
Console.WriteLine(GameUI(i));
}
#endregion
#region 第二列
else if (i < 34)
{
for (int j = 0; j < 30; j )
{
Console.Write(" ");
}
Console.WriteLine(GameUI(i));
}
#endregion
#region 第三行
else if (i <= 64)
{
Console.Write(GameUI(x));
x--;
}
else if (x == 34)
{
Console.Write(GameUI(x));
}
#endregion
#region 第四列
else if (i <= 69)
{
Console.WriteLine();
Console.Write(GameUI(i));
}
#endregion
#region 第五行
else
{
Console.Write(GameUI(i));
}
#endregion
}
}
static void Rult() //游戏规则
{
Console.Clear();
Console.WriteLine(" 游戏说明");
Console.WriteLine("<>表示AB玩家均在一起。");
Console.WriteLine("{0}使用A代表,{1}使用B代表", player[0].name, player[1].name);
Console.WriteLine("地图中□代表普通位置");
Console.WriteLine("◎幸运轮盘,可以选择与对手交换位置,或者让对方倒退10步");
Console.WriteLine("★代表炸弹,踩中后倒退6步");
Console.WriteLine("▲表示暂停,踩中后停止扔骰子一回合");
Console.WriteLine("卐时空隧道,向前20步");
PrintUI();
}
static void RollA()//投掷骰子
{
int num=0;
Random shaizi = new Random();
for (int i = 0; i < player[0].roll; i )
{
if (player[0].pause == 0)
{
Console.WriteLine("请玩家A按任意键扔骰子");
Console.ReadKey();
num = shaizi.Next(1, 7);
Console.WriteLine("玩家A投出的数字是“{0}”", num);
Console.ReadKey();
player[0].pos = player[0].pos num;
LukyTurn();
Boom();
Pause();
PrintUI();
}
}
}
static void RollB()//B玩家投掷骰子
{
int num = 0;
Random shaizi = new Random();
for (int i = 0; i < player[0].roll; i )
{
if (player[1].pause == 0)
{
Console.WriteLine();
Console.WriteLine("请玩家B按任意键扔骰子");
Console.ReadKey();
num = shaizi.Next(1, 7);
Console.WriteLine("玩家B投出的数字是“{0}”", num);
Console.ReadKey();
player[1].pos = player[1].pos num;
LukyTurn();
Boom();
Pause();
} PrintUI();
}
player[0].roll = 1;
}
static void LukyTurn()//幸运轮盘事件
{
for (int i = 0; i < lukyTurn.Length; i )
{
if (player[0].pos==lukyTurn[i])
{
Console.WriteLine("请选择其中一项:按“1”或“2”");
Console.WriteLine("1.与B玩家交换位置;2.前进10步");
if(Console.ReadKey().Key == ConsoleKey.D1)
{
int temp = player[0].pos;
player[0].pos = player[1].pos;
player[1].pos = temp;
}
else if (Console.ReadKey().Key == ConsoleKey.D2)
{
player[0].pos = player[0].pos 10;
}
}
if (player[1].pos == lukyTurn[i])
{
Console.WriteLine("请选择其中一项:按“1”或“2”");
Console.WriteLine("1.与A玩家交换位置;2.前进10步");
if (Console.ReadKey().Key == ConsoleKey.D1)
{
int temp = player[0].pos;
player[0].pos = player[1].pos;
player[1].pos = temp;
}
else if (Console.ReadKey().Key == ConsoleKey.D2)
{
player[1].pos = player[1].pos 10;
}
}
}
}
static void Boom()//炸弹事件
{
for (int i = 0; i < boom.Length; i )
{
if (player[0].pos == boom[i])
{
Console.WriteLine("玩家A踩到炸弹倒退6步");
Console.ReadKey();
player[0].pos -= 6;
}
if (player[1].pos == boom[i])
{
Console.WriteLine("玩家B踩到炸弹倒退6步");
Console.ReadKey();
player[1].pos -= 6;
}
}
}
static void Pause()//暂停事件
{
for (int i = 0; i < pause.Length; i )
{
if (player[0].pos == pause[i])
{
Console.WriteLine("玩家A暂停一回合");
Console.ReadKey();
player[1].roll = 2;
}
if (player[1].pos == pause[i])
{
Console.WriteLine("玩家B暂停一回合");
Console.ReadKey();
player[0].roll = 2;
}
}
}
static void Fly()//幸运轮盘事件
{
for (int i = 0; i < fly.Length; i )
{
if (player[0].pos == fly[i])
{
Console.WriteLine("太幸运了,玩家A好像飞了起来");
player[0].pos = 20;
}
if (player[1].pos == fly[i])
{
Console.WriteLine("太幸运了,玩家B好像飞了起来");
player[1].pos = 20;
}
}
}