c#骑士飞行器主代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

{

相关文档
最新文档