两人飞行棋小游戏
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication8
{
class Program
{
static string[] name = new string[2]; //name[0]玩家A的名字,name[1]玩家B的名字
static bool bname0 = false; //玩家A取名是否OK
static bool bname1 = false; //玩家B取名是否OK
static int[] diTu = new int[100]; //表示100个地图的位置
static int[] lunPan = { 6, 23, 40, 55, 69, 83 };//幸运轮盘
static int[] diLei = { 5, 13, 17, 33, 38, 50, 64, 80, 94 };//地雷
static int[] zanTing = { 9, 27, 60, 93 };//暂停
static int[] suiDao = { 20, 25, 45, 63, 72, 88, 90 };//时空隧道
static int[] pos = new int[2]; //存玩家A和玩家B的坐标
static int dianSu = 0; //玩家当前掷出的骰子数
static bool[] bZhiTouZi = new bool[2]; //掷骰子标志
static bool bWin = false; //胜利标志
static bool bExis = false; //退出游戏标志
static void Main(string[] args)
{
Ui();
Console.WriteLine("只能两个人一起玩!!!");
Console.WriteLine("是否开始游戏?输入Y开始游戏,输入别的退出!按Enter键结束");
string input = Console.ReadLine();
if (input != "Y")
{
Console.WriteLine("退出游戏!!!");
bExis = true;
}
else
{
Console.WriteLine("请输入玩家A的名字?按Enter键结束!");
name[0] = Console.ReadLine();
do
{
if (name[0] == "" || name[0] == null)
{
Console.WriteLine("玩家A的名字不能为空,请重新输入!");
name[0] = Console.ReadLine();
}
else
{
Console.WriteLine("取名成功!!!");
Console.WriteLine("玩家A的名字是:" + name[0]);
bname0 = true;
}
} while (!bname0);
Console.WriteLine("请输入玩家B的名字?按Enter键结束!");
name[1] = Console.ReadLine();
do
{
if (name[1] == "" || name[1] == null)
{
Console.WriteLine("玩家B的名字不能为空,请重新输入!");
name[1] = Console.ReadLine();
}
else if (name[1] == name[0])
{
Console.WriteLine("用户名已存在,请重新输入!");
name[1] = Console.ReadLine();
}
else
{
Console.WriteLine("取名成功!!!");
Console.WriteLine("玩家B的名字是:" + name[1]);
bname1 = true;
}
} while (!bname1);
Console.Clear();
Ui();
Console.WriteLine("玩家A的名字是:" + name[0]);
Console.WriteLine("玩家B的名字是:" + name[1]);
Console.WriteLine(" 表示幸运轮盘1, 表示地雷2, 表示暂停3,卍表示时空隧道4, 表示普通0,");
}
if (!bExis)
{
for (int i = 0; i < lunPan.Length; i++)
{
diTu[lunPan[i]] = 1;
}
for (int i = 0; i < diLei.Length; i++)
{
diTu[diLei[i]] = 2;
}
for (int i = 0; i < zanTing.Length; i++)
{
diTu[zanTing[i]] = 3;
}
for (int i = 0; i < suiDao.Length; i++)
{
diTu[suiDao[i]] = 4;
}
if (pos[0] > 99)
{
pos[0] = 99;
}
else if (pos[0] < 0)
{
pos[0] = 0;
}
else if (pos[1] > 99)
{
pos[1] = 99;
}
else if (pos[1] < 0)
{
pos[1] = 0;
}
pos[0] = 0;
pos[0] = 0;
Console.WriteLine("按Enter键开始游戏");
Console.ReadKey();
Console.Clear();
Ui();
Map();
while (!bWin)
{
dianSu = ZhiTouZi(name[0]);
YiDong(name[0], dianSu);
if (bWin)
{
break;
}
dianSu = ZhiTouZi(name[1]);
YiDong(name[1], dianSu);
Console.ReadKey();
Console.Clear();
Ui();
Map();
}
Console.ReadKey();
}
}
///
/// 玩家移动后的地图
///
/// 玩家名
/// 掷出的点数
public static void YiDong(string name_1, int dianSu_1)
{
if (name_1 == name[0])
{
pos[0] = pos[0] + dianSu_1;
if (pos[0] > 99)
{
Console.WriteLine("玩家{0}胜利!!!", name_1);
bWin = true;
}
else
{
Map();
for (int i = 0; i < lunPan.Length; i++)
{
if (pos[0] == lunPan[i])
{
Console.WriteLine("踩到幸运轮盘,再掷一次");
ZhiTouZi(name_1);
YiDong(name_1, dianSu);
}
}
for (int i = 0; i < diLei.Length; i++)
{
if (pos[0] == diLei[i])
{
Console.WriteLine("踩到地雷后退3格");
pos[0] = pos[0] - 3;
Map();
}
}
for (int i = 0; i < zanTing.Length; i++)
{
if (pos[0] == zanTing[i])
{
Console.WriteLine("移动到暂停位,休息一下吧");
bZhiTouZi[1] = true;
}
}
for (int i = 0; i < suiDao.Length; i++)
{
if (pos[0] == suiDao[i])
{
Console.WriteLine("穿越时空隧道,前进5格");
pos[0] = pos[0] + 5;
Map();
}
}
if (bZhiTouZi[0])
{
bZhiTouZi[0] = false;
ZhiTouZi(name_1);
YiDong(name_1, dianSu);
}
}
}
if (name_1 == name[1])
{
pos[1] = pos[1] + dianSu_1;
if (pos[1] > 99)
{
Console.WriteLine("玩家{0}胜利!!!", name_1);
bWin = true;
}
else
{
Map();
for (int i = 0; i < lunPan.Length; i++)
{
if (pos[1] == lunPan[i])
{
Console.WriteLine("踩到幸运轮盘,再掷一次");
ZhiTouZi(name_1);
YiDong(name_1, dianSu);
}
}
for (int i = 0; i < diLei.Length; i++)
{
if (pos[1] == diLei[i])
{
Console.WriteLine("踩到地雷后退3格");
pos[1] = pos[1] - 3;
Map();
}
}
for (int i = 0; i < zanTing.Length; i++)
{
if (pos[1] == zanTing[i])
{
Console.WriteLine("移动到暂停位,休息一下吧");
bZhiTouZi[0] = true;
}
}
for (int i = 0; i < suiDao.Length; i++)
{
if (pos[0] == suiDao[i])
{
Console.WriteLine("穿越时空隧道,前进5格");
pos[1] = pos[1] + 5;
Map();
}
}
if (bZhiTouZi[1])
{
bZhiTouZi[1] = false;
ZhiTouZi(name_1);
YiDong(name_1, dianSu);
}
}
}
}
///
/// 掷骰子
///
/// 玩家名
/// 掷出的骰子值
public static int ZhiTouZi(string name)
{
Console.WriteLine("玩家{0}开始掷骰子...", name);
Console.WriteLine("请按Enter键掷骰子");
Console.ReadKey();
Console.Clear();
Ui();
Random suiJi = new Random();
dianSu = suiJi.Next(1, 7);
Console.WriteLine("玩家{0}掷出的骰子数是{1}。", name, dianSu);
Console.WriteLine("开始移动!!!");
return dianSu;
}
///
/// 绘制初始地图
///
public static void Map()
{
for (int i = 0; i < 30; i++)
{
if (pos[0] == i && pos[1] == i)
{
Console.Write("<>");
}
else if (pos[0] == i)
{
Console.Write("A");
}
else if (pos[1] == i)
{
Console.Write("B");
}
else
{
switch (diTu[i])
{
case 1:
Console.ForegroundColor = ConsoleColor.Blue;
Console.Write(" ");
break;
case 2:
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write(" ");
break;
case 3:
Console.ForegroundColor = ConsoleColor.Red;
Console.Write(" ");
break;
case 4:
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("卍");
break;
default:
Console.ForegroundColor = ConsoleColor.White;
Console.Write(" ");
break;
}
}
}
Console.WriteLine();
for (int i = 30; i < 35; i++)
{
Console.Write(" ");
if (pos[0] == i && pos[1] == i)
{
Console.Write("<>");
}
else if (pos[0] == i)
{
Console.Write("A");
}
else if (pos[1] == i)
{
Console.Write("B");
}
else
{
switch (diTu[i])
{
case 1:
Console.ForegroundColor = ConsoleColor.Blue;
Console.Write(" ");
break;
case 2:
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write(" ");
break;
case 3:
Console.ForegroundColor = ConsoleColor.Red;
Console.Write(" ");
break;
case 4:
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("卍");
break;
default:
Console.ForegroundColor = ConsoleColor.White;
Console.Write(" ");
break;
}
}
Console.WriteLine();
}
for (int i = 64; i > 34; i--)
{
if (pos[0] == i && pos[1] == i)
{
Console.Write("<>");
}
else if (pos[0] == i)
{
Console.Write("A");
}
else if (pos[1] == i)
{
Console.Write("B");
}
else
{
switch (diTu[i])
{
case 1:
Console.ForegroundColor = ConsoleColor.Blue;
Console.Write(" ");
break;
case 2:
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write(" ");
break;
case 3:
Console.ForegroundColor = ConsoleColor.Red;
Console.Write(" ");
break;
case 4:
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("卍");
break;
default:
Console.ForegroundColor = ConsoleColor.White;
Console.Write(" ");
break;
}
}
}
Console.WriteLine();
for (int i = 65; i < 70; i++)
{
if (pos[0] == i && pos[1] == i)
{
Console.WriteLine("<>");
}
else if (pos[0] == i)
{
Console.WriteLine("A");
}
else if (pos[1] == i)
{
Console.WriteLine("B");
}
else
{
switch (diTu[i])
{
case 1:
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine(" ");
break;
case 2:
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(" ");
break;
case 3:
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(" ");
break;
case 4:
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("卍");
break;
default:
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(" ");
break;
}
}
}
for (int i = 70; i < 100; i++)
{
if (pos[0] == i && pos[1] == i)
{
Console.Write("<>");
}
else if (pos[0] == i)
{
Console.Write("A");
}
else if (pos[1] == i)
{
Console.Write("B");
}
else
{
switch (diTu[i])
{
case 1:
Console.ForegroundColor = ConsoleColor.Blue;
Console.Write(" ");
break;
case 2:
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write(" ");
break;
case 3:
Console.ForegroundColor = ConsoleColor.Red;
Console.Write(" ");
break;
case 4:
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("卍");
break;
default:
Console.ForegroundColor = ConsoleColor.White;
Console.Write(" ");
break;
}
}
}
Console.WriteLine();
}
///
/// 飞行棋表头
///
public static void Ui()
{
Console.WriteLine("***********************************");
Console.WriteLine("* *");
Console.WriteLine("* 飞行棋 *");
Console.WriteLine("* *");
Console.WriteLine("***********************************");
Console.WriteLine(" 表示幸运轮盘,再掷一次; 表示地雷,退后3格; 表示暂停,休息一轮;卍表示时空隧道前进5格, 表示普通.");
}
}
}
C语言的头文件包含竟然有那么多讲究前言很多事不深入以为自己懂了,但真正用到项目上,才发现了问题。曾以为自己写C语言已经轻车熟路了,特别是对软件文件的工程管理上,因为心里对自己的代码编写风格还是有自信的。(毕竟刚毕业
分享几个Ubuntu必装的软件1输入法Ubuntu自带的输入法不太好用,我常常选择使用搜狗输入法作为默认输入法。下载deb格式的安装包,然后按照如下教程安装配置即可使用httpspinyin。sogou。com
华为老用户必看!内存和鸿蒙双升级,旧机型也能强势逆袭结识新朋友,不忘老朋友,永远是朋友这首老歌,称赞的可能是华为。因为华为不仅以用户为中心,不断打造出色的产品,更通过持续的服务和升级,希望与客户永远是朋友。最近,华为就连续推出了两项
揭秘长津湖的气象故事那年冬天,为什么这么寒冷?最近,中央电视台的伟大历史剧跨过鸭绿江正在播出。在残酷的战争环境中,成千上万的人被冻死冻僵,看到这一幕幕的我们心痛不已。长津湖的位置长津湖位于朝鲜东北部的盖马高原上,北面是中朝边界
村长职务将取消,农村领导大变动?由三个新领导接替国家一直在发展农村经济,但仍然没有有效缓解农村人口大量流失的情况,根本的原因在于城乡之间经济发展的差异。农村的经济发展模式过于单一,同时农产品所获利润空间小,导致很多人的收入并不理
试驾十一代思域,颜值退化后整车风格变化很大,还值得入手吗?近期一款上市新车饱受争议,它便是十一代思域,想必大家对这款车都是比较熟悉的,那么为何十一代思域上市后会成为消费者口诛笔伐的对象了呢?原因在于十代思域的惊艳亮相给我们留下了一个极为运
10多万配豪车级内饰,7。9S破百,能无人驾驶,威马W6真的够厚道随着人们生活水平的提高,对于汽车各个方面的表现自然有着更高的要求,而很多车企面对消费者日益增长的各种诉求,也在不断完善旗下车型的产品力,可以说当下市场正在倒逼车企对旗下车型进行升级
啤酒选购的3个小技巧随着疫情不断反复,由原材料涨价引起的通货膨胀传导到国内的众多产业。媒体说国产啤酒品牌最近宣布要提价了。由于以前的国产啤酒都是以生产中低端啤酒为主,国外高端啤酒进入国内市场,引发了部
选择一部合适的手机必须注意的要素,谨慎入坑(二)系统篇关键要素系统硬件是手机的肉体,那么系统就是手机的灵魂。一个足够聪明好用的灵魂才能发挥出肉体应有的价值。其中第一代表当属苹果,苹果的系统目前所有手机中老化率最低的,即使是老款的苹果手
小苏打在生活中的5个妙用1清洗毛巾毛巾使用时间长了,会滋生很多细菌,光用清水和肥皂也无法彻底清除。定期把毛巾放在温水中放一些小苏打浸泡,如果较难清洗干净,还可以用高温蒸煮的方法,然后再清洗干净,就能彻底起
今年手机芯片为什么会紧缺小米卢伟冰的一条微博曝出了今年手机芯片境况极度紧缺在芯片制造业高度发达的今天为什么会出现这种状况,首先绕不过去的就是当今世界的霸主美国美国向中国公司华为举起了全面制裁的大棒这其中种