要是玩家要有像真实的感觉有掷骰子的,所以要系统随机产生1-6之间的数,产生随机数的方法Random r = new Random(),还有进入每个关卡所产生的效果
/// <summary>
/// 玩家掷筛子的方法
/// </summary>
/// <param name="play">A掷骰子传0过来 B掷筛子传1过来</param>
static void Action(int play)
{ //play中存当前玩家 姓名 坐标 是否暂停 这三个数组的下标
//1-play中存对方玩家 姓名 坐标 是否暂停 这三个数组的下标
string msg="";
Console.WriteLine("{0}按任意键开始掷骰子.........", name[play]);
Random r = new Random();//产生随机数的
ConsoleKeyInfo rec= Console.ReadKey(true);
if (rec.Key == ConsoleKey.Backspace&&rec.Modifiers==(ConsoleModifiers.Control|ConsoleModifiers.Shift))//设置快捷键
{
ConsoleKeyInfo cc = Console.ReadKey();
if (cc.Key == ConsoleKey.F1)
{
step = ReadInt(1,100);
}
}
else
{
step = r.Next(1, 7);//存放随机数
}
Console.WriteLine("{0}掷出了:{1}", name[play], step);
Console.WriteLine("按任意键开始行动........");
player[play] = player[play] + step;
Check();
if (player[play] == player[1 - play])//判断两个玩家是否相遇,如果相遇了,先到被踩回起点
{
player[1 - play] = 0;//被踩回起点
msg = string.Format("玩家{0}踩到{1},玩家{1}回到起点", name[play], name[1 - play]);
}
else
{
switch (Map[player[play]])
{
//没什么特别的效果
case 0: msg = ""; break;
//走到了幸运盘关卡
case 1:
Console.Clear();
DrawMap();
Console.WriteLine("玩家{0}走到了幸运盘,请选择运气?", name[play]);
Console.WriteLine("1---交换位置 2---轰炸对方");
int userSelect = ReadInt(1, 2);
if (userSelect == 1)//判断玩家的选择
{
int temp = player[play];
player[play] = player[1 - play];
player[1 - play] = temp;
msg = string.Format("玩家{0}和玩家{1}交换位置", name[play], name[1 - play]);
}
else
{
player[1 - play] = player[1 - play] - 6;
Check();
msg = string.Format("玩家{0}被玩家{1}轰炸了,后退6格", name[1 - play], name[play]);
}
; break;
//走到地雷关卡
case 2:
player[play] = player[play] - 6;
Check();
msg = string.Format("悲剧玩家{0}踩到地雷,后退6格", name[play]);
; break;
//走到暂停关卡
case 3:
Tstop[play] = true;
msg = string.Format("{0}遇到红灯,暂停一次", name[play]);
break;
//走到时光隧道关卡
case 4:
player[play] = player[play] + 10;
Check();
msg = string.Format("玩家{0}人品爆发,进入时空隧道,前进10格", name[play]);
; break;
}
Console.Clear();
DrawMap();
if (msg != "")
{
Console.WriteLine(msg);
}
Console.WriteLine("玩家{0}掷出了{1}", name[play], step);
Console.WriteLine("*******玩家A和玩家B的位置");
Console.WriteLine("玩家{0}的位置{1}", name[play], player[play] + 1);
Console.WriteLine("玩家{0}的位置{1}", name[1 - play], player[1 - play] + 1);
}
}
判断范围方法
/// <summary>
/// 检查玩家的坐标是否在范围内
/// </summary>
static void Check()
{
for (int i=0; i < name.Length; i++)
{
if (player[i] > 99)
{
player[i] = 99;
}
if (player[i] < 0)
{
player[i] = 0;
}
}
}
分享到:
相关推荐
自制飞行棋游戏,可支持4人同时游戏
c++飞行棋 飞行棋.zip
飞行棋游戏的设计与实现.pdf
Java飞行棋源码【飞行棋2023】
基于 C# 飞行棋 游戏源码 ( 面向对象入门 )
python实现飞行棋游戏--附源码
Java实现飞行棋游戏源码.
飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java飞行棋java
网上都是Java实现飞行棋,都有Bug,今天解决Bug可顺利运行,完了几把,爽;可以交作业了
游戏规则:对战双方轮流掷骰子控制自己的骑兵前进或后退,在游戏棋盘上设置有关卡 普通 地雷 暂停 时空隧道 幸运轮盘(提供两种运气:交换位置和轰炸) 棋盘上的关卡只在骑兵第一次移动遇到时有效 根据需求分析...
基于easyx 的c++语言图形界面飞行棋代码
这是一个uniapp H5源码【飞行棋】项目完整例子,二到四人可以玩的投骰子游戏,以下还有↓ 通过HBuilderX开发工具选uniapp项目可打开,可编译运行,请放心下载, 值得参考学习研究,有相关配套的文章...
这是一个微信小程序源码【飞行棋】项目完整例子,二到四人可以玩的投骰子游戏,以下还有↓ 通过微信开发工具小程序方式打开,可编译运行,请放心下载, 值得参考学习研究,有相关配套的文章...
(1)游戏规则和传统的飞行棋一样,支持两人对战 (2)采用100格小型游戏棋盘 (3)游戏规则:每家有一个骑兵,谁家的兵最先到达目的地谁就赢。对战双方轮流掷骰子控制自己的骑兵前进或后退,在游戏棋盘上设置有关卡...
飞行棋小游戏c++实现
飞行棋100格的小型的游戏棋盘 对战的双方轮流掷骰子控制自己的骑兵前进或者后退,在棋盘上设置关卡 普通 地雷 暂停 时空隧道 在控制台上显示 棋盘 并显示当前玩家在棋盘上的位置
飞行棋c++源代码(初学者适合) 是基于控制台的
这是一个c#练习项目,项目内容为飞行棋小游戏,适合初学者练习。
java编写的飞行棋,GUI界面,bug已经修改,能够正常运行,本人自用的java课设,需要的可以下载。
骑士飞行棋,不会做的可以看下,java的项目完整代码