c#骑士飞行器主代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
官场小说
namespace骑士飞行棋
{
class Program
{
//定义在了类里面,让Class类可以通过这个来访问用户的名字public static string[] name = new string[2]; //存储玩家名字的数组,name0代表
a,name1代表b
static void Main(string[] args)
{
Random r = new Random(); //r是产生随机数的变量,Random是随机数类
型
int step = 0; //用于临时存取随机数的变量
//显示游戏界面
Class p = new Class();//实验定义方法的时候不加static修饰符,然后再main方
法实例化类
p.ShowUi();//通过实例名点方法名!
Console.WriteLine("请输入玩家A的姓名?");
name[0] = Console.ReadLine();
//判断用户输入的名称为空,如果为空则重新输入
while (name[0] == "")
{
Console.WriteLine("玩家A的姓名为空,请重新在输入!");
name[0] = Console.ReadLine();
}
Console.WriteLine("请输入玩家B的姓名?");
name[1] = Console.ReadLine();
//判断用户输入的名称为空或者跟玩家A的名一样则提示重新输入
while (name[1] == "" || name[1] == name[0])
{
if (name[1] == name[0])
{
Console.WriteLine("玩家B的姓名不能跟玩家A的姓名重复!"); //名称重复输出提示
}
else if (name[1] == "")
{
Console.WriteLine("玩家B的姓名为空,请重新在输入!"); //名称为空输出提示
}
name[1] = Console.ReadLine();
}
//清除屏幕内容
Console.Clear();
//显示游戏界面
p.ShowUi();
Console.WriteLine("对战开始...");
Console.WriteLine("玩家{0}用A表示", name[0]);
Console.WriteLine("玩家{0}用B表示", name[1]);
Console.WriteLine("如果AB在同个位置,用<>表示!");
Class.InitialMap(); //初始化关卡地图
Class.DrawMap(); //绘制地图
Console.ResetColor(); //把颜色设置为默认值
Console.WriteLine("开始游戏...");
//调用存储玩家的坐标,Class.PlayerPos(0,0)代表玩家A,Class.PlayerPos(1,1)代表玩家B!
while (Class.PlayerPos(0, 0) < 99 && Class.PlayerPos(1, 0) < 99)
{
Console.ResetColor(); //把颜色设置为默认值
if (Class.Suspend())
{
#region玩家A开始掷骰子
Console.WriteLine("玩家{0}按任意键开始掷骰子...", name[0]);
ConsoleKeyInfo rec = Console.ReadKey(true); //等到玩家A按任意键!括号里面的true代表不显示按下的按键
if (rec.Key == ConsoleKey.Tab)
{
step = 9;
}
else
{
step = r.Next(1, 7);
}
Console.WriteLine("{0}掷出了{1}", name[0], step);
Console.WriteLine("按任意键开始...");
Console.ReadKey(true); //等到玩家A按任意键!括号里面的true代
表不显示按下的按键
//Class.PlayerPos(0,step);返回玩家的位置括号里面的0代表玩家A,step
代表掷出是点数
Class.PlayerPos(0, step);
Console.Clear(); //清除屏幕
Class.DrawMap(); //绘制地图
Console.ResetColor(); //把颜色设置为默认值
Console.WriteLine("玩家{0}掷出了{1}", name[0], step);
Console.WriteLine("********************* 玩家的位置
*********************");
Console.WriteLine("玩家{0}的位置在{1}位置上!", name[0],
Class.PlayerLocation(0));
Console.WriteLine("玩家{0}的位置在{1}位置上!", name[1],
Class.PlayerLocation(1));
#endregion
}
else
{
for (int i = 0; i < 2; i++)
{
#region玩家A开始掷骰子
Console.WriteLine("玩家{0}按任意键开始掷骰子...", name[0]);
ConsoleKeyInfo rec = Console.ReadKey(true); //等到玩家A按任意键!括号里面的true代表不显示按下的按键
if (rec.Key == ConsoleKey.Tab)
{