黑马程序员_骑士飞行棋学习
作者:网络转载 发布时间:[ 2014/7/22 10:45:57 ] 推荐标签:程序员 Net 软件开发
3.后要考虑的是玩家A和B的行动如何进行代码的实现,
具体的代码实现如下:
/// <summary>
/// 执行AB动作
/// </summary>
/// <param name="playernumber"></param>
static void Action(int playernumber)
{
#region 玩家掷骰子
Random rand = new Random(); //产生随机数
int step = 0; //存储临时产生的随机数
string msg = ""; //关卡提示消息
Console.WriteLine("{0}按任意键开始掷骰子", players[playernumber]);
ConsoleKeyInfo rec = Console.ReadKey(true);
step = rand.Next(1, 7);
msg = "";
if (rec.Key == ConsoleKey.Backspace && (rec.Modifiers == ConsoleModifiers.Shift|rec.Modifiers == ConsoleModifiers.Control))
{
ConsoleKeyInfo rec2 = Console.ReadKey(true);
if (rec2.Key == ConsoleKey.Tab)
{
step = 30;
}
}
Console.WriteLine("{0}掷出了{1}", players[playernumber], step);
Console.WriteLine("按任意键进行行动........");
Console.ReadKey(true);
playerPos[playernumber] = playerPos[playernumber] + step;
CheckPos();
//玩家A踩到了玩家B,B返回原点
if (playerPos[playernumber] == playerPos[1 - playernumber])
{
playerPos[1 - playernumber] = 0;
msg = string.Format("{0}踩到了{1},{1}退回原点", players[playernumber], players[1 - playernumber]);
}
else //没踩到的时候判断是否有其他的关卡
{
switch (map[playerPos[playernumber]])
{
case 0:
//普通
break;
case 1:
//幸运轮盘
Console.Clear();
DrawMap();
Console.WriteLine("你走到了幸运轮盘,请选择运气:");
Console.WriteLine("1---交换位置 2---轰炸对方");
int userSelect = ReadInt(1, 2);
if (userSelect == 1)
{
playerPos[playernumber] = playerPos[playernumber] - playerPos[1 - playernumber];
playerPos[1 - playernumber] = playerPos[1 - playernumber] + playerPos[playernumber];
playerPos[playernumber] = playerPos[1 - playernumber] - playerPos[playernumber];
msg = string.Format("{0}选择了交换位置", players[playernumber]);
}
else
{
//轰炸
playerPos[1] -= 6;
msg = string.Format("{0}轰炸了{1},{1}退6格", players[playernumber], players[1 - playernumber]);
}
break;
case 2:
//地雷
playerPos[0] -= 6;
msg = string.Format("{0}踩到了地雷,{0}退6格", players[playernumber]);
break;
case 3:
//暂停
isStop[0] = true;
msg = string.Format("{0}走到了暂停", players[playernumber]);
break;
case 4:
//时空隧道
playerPos[0] += 10;
msg = string.Format("{0}进入时空隧道,爽死了,{0}前进10格", players[playernumber]);
break;
}
}
CheckPos();
Console.Clear();
DrawMap();
Console.WriteLine();
if (msg != "")
{
Console.WriteLine(msg);
}
Console.WriteLine("
{0}掷出了{1},行动完成", players[playernumber], step);
Console.WriteLine("{0}的位置为{1}", players[playernumber], playerPos[playernumber] + 1);
Console.WriteLine("{0}的位置为{1}", players[1 - playernumber], playerPos[1 - playernumber] + 1);
#endregion
}
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南