控制台文字对战游戏 初始版
namespace 对战游戏
{
class Program
{
#region
public struct JueSe //创建一个角色对象
{
public string XingMing;//这个对象中有这些属性
public int GongJi;
public int ShengMing;
public int HuJiaZhi;
}
public struct JiNeng //创建技能对象
{
public string JiNengMingCheng;
public int JiNengShangHai;
}
public struct WuQi //创建武器对象
{
public string MingCheng;
public int GongJiLi;
}
public struct HuJia //创建护甲对象
{
public string MingZi;
public int HuJiaZhi;
}
#endregion
static void Main(string[] args)
{
#region 生成武器库
WuQi wq1 = new WuQi(); //新建武器1
wq1.MingCheng = "大剑";
wq1.GongJiLi = 100;
WuQi wq2 = new WuQi();
wq2.MingCheng = "小刀";
wq2.GongJiLi = 50;
WuQi wq3 = new WuQi();
wq3.MingCheng = "火枪";
wq3.GongJiLi = 200;
WuQi wq4 = new WuQi();
wq4.MingCheng = "火柴";
wq4.GongJiLi = -10;
#endregion
#region 生成护甲
HuJia FY1 = new HuJia(); //新建护甲1
FY1.MingZi = "草甲";
FY1.HuJiaZhi = 20;
HuJia FY2 = new HuJia();
FY2.MingZi = "木甲";
FY2.HuJiaZhi = 40;
HuJia FY3 = new HuJia();
FY3.MingZi = "铁甲";
FY3.HuJiaZhi = 60;
#endregion
#region 创建角色
Random SuiJi = new Random(); // 创建随机数
JueSe JS1 = new JueSe(); //创建一个角色1.
Console.Write("请输入第一个角色的姓名:");//在前端让用户输入字符.
JS1.XingMing = Console.ReadLine();//输入的内容赋值给角色1的姓名.
JS1.GongJi = SuiJi.Next(80, 120);//设定角色1攻击
JS1.HuJiaZhi = 0; //设定角色护甲
JS1.ShengMing = SuiJi.Next(8000, 12000);//设定色1生命时1000
Random HQSuiJi = new Random(); // 创建随机数
int HuoDewuqi = HQSuiJi.Next(0, 101); //创建获取武器的几率
if (HuoDewuqi <= 30)
{
Console.WriteLine("获得武器" + wq1.MingCheng);
JS1.GongJi += wq1.GongJiLi;
}
else if (HuoDewuqi <= 70)
{
Console.WriteLine("获得武器" + wq2.MingCheng);
JS1.GongJi += wq2.GongJiLi;
}
else if (HuoDewuqi <= 80)
{
Console.WriteLine("获得武器" + wq1.MingCheng);
JS1.GongJi += wq3.GongJiLi;
}
else
{
Console.WriteLine("获得武器" + wq1.MingCheng);
JS1.GongJi += wq4.GongJiLi;
}
Random FangYu = new Random(); // 创建护甲随机数
int HQFangYu = HQSuiJi.Next(0, 101); //创建获取护甲的几率
if (HQFangYu <= 50)
{
Console.WriteLine("获得护甲" + FY1.MingZi);
JS1.HuJiaZhi += FY1.HuJiaZhi;
}
else if (HQFangYu <= 80)
{
Console.WriteLine("获得护甲" + FY2.MingZi);
JS1.HuJiaZhi += FY2.HuJiaZhi;
}
else
{
Console.WriteLine("获得护甲" + FY3.MingZi);
JS1.HuJiaZhi += FY3.HuJiaZhi;
}
Console.WriteLine("第一个角色,攻击力" + JS1.GongJi + ",生命值" + JS1.ShengMing +"护甲"+JS1.HuJiaZhi); //输出角色的基本属性 新建角色完成
JueSe JS2 = new JueSe();//同上
Console.Write("请输入第二个角色的姓名:");
JS2.XingMing = Console.ReadLine();
JS2.GongJi = SuiJi.Next(80, 120); ;
JS2.ShengMing = SuiJi.Next(8000, 12000);
JS2.HuJiaZhi = 0;
Random HQSuiJi1 = new Random(); // 创建随机数
int HuoDewuqi1 = HQSuiJi.Next(0, 101);
if (HuoDewuqi1 <= 30)
{
Console.WriteLine("获得武器" + wq1.MingCheng);
JS2.GongJi += wq1.GongJiLi;
}
else if (HuoDewuqi1 <= 70)
{
Console.WriteLine("获得武器" + wq2.MingCheng);
JS2.GongJi += wq2.GongJiLi;
}
else if (HuoDewuqi1 <= 80)
{
Console.WriteLine("获得武器" + wq1.MingCheng);
JS2.GongJi += wq3.GongJiLi;
}
else
{
Console.WriteLine("获得武器" + wq1.MingCheng);
JS2.GongJi += wq4.GongJiLi;
}
Random FangYu1 = new Random(); // 创建护甲随机数
int HQFangYu1 = HQSuiJi.Next(0, 101); //创建获取护甲的几率
if (HQFangYu1 <= 50)
{
Console.WriteLine("获得护甲" + FY1.MingZi);
JS2.HuJiaZhi += FY1.HuJiaZhi;
}
else if (HQFangYu1 <= 80)
{
Console.WriteLine("获得护甲" + FY2.MingZi);
JS2.HuJiaZhi += FY2.HuJiaZhi;
}
else
{
Console.WriteLine("获得护甲" + FY3.MingZi);
JS2.HuJiaZhi += FY3.HuJiaZhi;
}
Console.WriteLine("第一个角色,攻击力" + JS2.GongJi + ",生命值" + JS2.ShengMing+"护甲" + JS2.HuJiaZhi);
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("点击任意键开始");
Console.ReadKey();
#endregion
#region 技能生成
ArrayList JiNengMen = new ArrayList(); //新建放技能的集合 只能放一个
JiNeng jn1 = new JiNeng(); //新建技能1
jn1.JiNengMingCheng = "大招";
jn1.JiNengShangHai = 4;
JiNeng jn2 = new JiNeng();
jn2.JiNengMingCheng = "中招";
jn2.JiNengShangHai = 3;
JiNeng jn3 = new JiNeng();
jn3.JiNengMingCheng = "小招";
jn3.JiNengShangHai = 2;
JiNengMen.Add(jn1); //集合
JiNengMen.Add(jn2);
JiNengMen.Add(jn3);
#endregion
#region 对战部分
Console.ForegroundColor = ConsoleColor.White; //改变前景颜色
while (true)
{
Random fudong = new Random(); // 创建浮动攻击随机数
int fudonggongji = fudong.Next(0,30);
Random JNjilv = new Random(); //创建角色1使用技能几率
int JNfadongjilv = fudong.Next(1, 11);
Random JNjilv2 = new Random(); //创建角色2使用技能几率
int JNfadongjilv2 = fudong.Next(1, 11);
#region 角色1攻击
if (JNfadongjilv <= 3) //<=3时使用技能
{
Console.ForegroundColor = ConsoleColor.Yellow; //设置下一条内容的颜色
JiNeng jn = (JiNeng)JiNengMen[fudong.Next(0, 3)]; //设置使用哪一个技能
int shanghai11 = Convert.ToInt32(JS1.GongJi - fudonggongji) * jn.JiNengShangHai; //设置伤害 = 角色攻击加浮动值成技能伤害
JS2.ShengMing = JS2.ShengMing - (shanghai11-JS2.HuJiaZhi); //设置剩余生命值=初始生命-(伤害-护甲)
Console.WriteLine(JS1.XingMing+"发动技能"+jn.JiNengMingCheng + "对" + JS2.XingMing + "造成了" + shanghai11 + "点伤害-"+ JS2.HuJiaZhi+"护甲值"+ JS2.XingMing + "剩余" + JS2.ShengMing + "血量");
}
else
{
Console.ForegroundColor = ConsoleColor.White; //颜色
int shanghai1 = JS1.GongJi - fudonggongji; //伤害
JS2.ShengMing = JS2.ShengMing - shanghai1; //生命
Console.WriteLine(JS1.XingMing + "对" + JS2.XingMing + "造成了" + shanghai1 + "点伤害-" + JS2.HuJiaZhi + "护甲值" + JS2.XingMing + "剩余" + JS2.ShengMing + "血量");
System.Threading.Thread.Sleep(500); //延迟500毫秒进行下一步
}
#endregion
#region 角色2攻击
if (JNfadongjilv2 <= 3)
{
Console.ForegroundColor = ConsoleColor.Yellow;
JiNeng jn = (JiNeng)JiNengMen[fudong.Next(0, 3)];
int shanghai11 = Convert.ToInt32(JS2.GongJi - fudonggongji) * jn.JiNengShangHai;
JS1.ShengMing = JS1.ShengMing - shanghai11;
Console.WriteLine(JS2.XingMing + "发动技能" + jn.JiNengMingCheng + "对" + JS1.XingMing + "造成了" + shanghai11 + "点伤害-" + JS1.HuJiaZhi + "护甲值" + JS1.XingMing + "剩余" + JS1.ShengMing + "血量");
}
else
{
Console.ForegroundColor = ConsoleColor.White;
int shanghai1 = JS2.GongJi - fudonggongji;
JS1.ShengMing = JS1.ShengMing - shanghai1;
Console.WriteLine(JS2.XingMing + "对" + JS1.XingMing + "造成了" + shanghai1 + "点伤害-" + JS1.HuJiaZhi + "护甲值" + JS1.XingMing + "剩余" + JS1.ShengMing + "血量");
System.Threading.Thread.Sleep(500);
}
#endregion
#region 判断胜负
if (JS1.ShengMing <= 0 || JS2.ShengMing <= 0) // 判断生命为0时
{
if (JS1.ShengMing <= 0 && JS2.ShengMing <= 0) //判断角色几生命为0
{
Console.WriteLine("二位同归于尽了!!!");
}
else
{
if (JS1.ShengMing <= 1)
{
Console.WriteLine(JS2.XingMing + "获得了最终胜利!!!");
}
else
{
Console.WriteLine(JS1.XingMing + "获得了最终胜利!!!");
}
}
break;
}
#endregion
}
#endregion
}
}
}
转载于:https://www.cnblogs.com/buzhiheyan/p/7808110.html
控制台文字对战游戏 初始版相关推荐
- Unity编写冰球对战游戏 2D版
Unity编写冰球对战游戏 2D版 Unity是一款非常方便.简洁.低成本的一款游戏引擎.在这里,向大家介绍这样用Unity这个引擎编写冰球对战游戏 因为Unity这个引擎可以编写3D游戏 ,同样的也 ...
- C#小游戏(文字对战游戏)
第一代,不是很完善,会在后续增加更多的功能 主: using System; using System.Collections.Generic; using System.Linq; using Sy ...
- Python基础阶段练习必备项目——文字对战游戏
项目介绍: [主菜单]- 选择玩家 - 进入商店 - 进入充值 - 选择装备 - 玩家信息 - 进入战斗 - 退出 [选择玩家]选择什么职业 - 1.战士 - 2.法师 - 3.返回 [进入商城]欢迎 ...
- 火箭工作室c++小游戏——坦克大战(初始版)
今天第四次写博客,给大家发一个坦克大战的初始版,可以开外挂,要自己去探索 #include<windows.h> #include<conio.h> #include<i ...
- 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
题目 尼姆游戏,这是一个著名的游戏,有很多变种玩法.两个玩家轮流从一堆物品中拿走一部分.在每一步中,玩家可以自由选择拿走多少物品,但是必须拿走一部并且最多只能拿走一半物品,然后轮到下一个玩家.拿走 ...
- 基于C++实现平台类对战游戏
1. 设计任务的描述 用面向对象的设计方法来设计一款平台类对战游戏. 内容包括宠物小精灵的加入.用户注册与平台登录.游戏对战的设计. 2. 功能需求说明及分析 2.1 宠物小精灵的加入 设计宠物小精灵 ...
- 基于QT(C++)实现(窗体)平台类对战游戏【100010513】
1. 设计任务的描述 用面向对象的设计方法来设计一款平台类对战游戏. 内容包括宠物小精灵的加入.用户注册与平台登录.游戏对战的设计. 2. 功能需求说明及分析 2.1 宠物小精灵的加入 设计宠物小精灵 ...
- 动物棋c语言程序,斗兽棋游戏手机版|斗兽棋游戏下载 v0.2C 安卓版_最火软件站...
斗兽棋android手机版,动物对战棋,回味童年的棋牌休闲游戏,登陆android手机,整个游戏画面是分为两块区域,中间有河流分割两块区域,有桥梁可以让彼此的动物过河,要取得胜利,必须占领那一边动物的 ...
- NodeJS 开发多人实时对战游戏服务器 (一)
从一个游戏情怀说起 接触的第一款多人对战游戏是帝国时代,依稀记得那时候上学每周最期待的就是冲到电脑课撸一把罗马复兴,高中开始接触<魔兽争霸3>,一款真正让我迷恋十多年的游戏,怀念那时候的& ...
最新文章
- 整合PyTorch 0.4和Caffe 2,PyTorch 1.0能挑战TensorFlow吗?
- 修改特征码的相关知识
- linux shell expr命令 字符串操作
- python 函数装饰器学习
- 亏损63亿,美图真能“美”到上市?
- 矢量合成和分解的法则_力的合成与分解专题解析,寒假复习!
- 归纳偏置是什么?从现实生活中观察到的现象中归纳出一定的规则,然后对模型做一定的约束,从而可以起到“模型选择”的作用
- Win7-VirsualBox下学习Ubuntu--初识ubuntu
- 一次 Java 内存泄漏排查过程,涨姿势
- [转载] Python中NumPy简介及使用举例
- mybatis generator 中文注释_[SpringBoot2.X] 23- 整合持久层技术 -MyBatis - 配置
- 简单迅速解决windows电脑下载windows应用商店(Microsoft Store)
- 绕过深澜校园宽带认证客户端使用校园网的方法
- 创建user01-user20 随机六位数密码 a-z A-Z 0-9
- datedif函数mysql_datedif函数怎么用
- Java8新特性之一:Lambda表达式
- Douyin-Bot 项目优化-改进,优化效率,本地cv2识别过滤
- Linux 常用命令大全(虚拟机)
- 【HTML】HTML网页设计----模仿汉服前端设计
- 服务器输入不显示字,搜狗输入法打字不显示怎么办 快来看看解决办法
热门文章
- mybatis更新时间字段_你以为把Mybatis型处理器了解了,就不会“暴雷”了!
- Redis —— 常用命令一览
- Git初学札记(零)————EGIT完成Eclipse到GitHub一条龙
- 使用springboot来实现WebLog
- 云南计算机专修学校附中,昆明高中哪家强? 师附中和昆一中高考尖子生最多...
- 使用python对数据集进行批处理
- 有趣的编程代码_iPad amp; Mac 编程游戏推荐
- lamp 安装 mysql_linux lamp之离线安装mysql
- php 制作ppt,PPT制作三个基本要素是什么?
- qq linux版本下载官网下载,腾讯QQ For Linux