目录

开发环境:

编码

源码地址:


开发环境:

系统环境:Win10

开发工具:VS2019

语言:C#

项目:控制台应用(.NET Framework)

编码

英雄类:(更换namespace即可)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Hero_demo
{public class Hero{/// <summary>/// 编号/// </summary>private string id;/// <summary>/// 英雄姓名/// </summary>private string name;/// <summary>/// 英雄血量/// </summary>private int hp;/// <summary>/// 英雄攻击/// </summary>private int ac;/// <summary>/// <hr/><i><b>四个参数的构造方法,用于赋值</b></i><hr/>/// </summary>/// <param name="id"></param>/// <param name="name"></param>/// <param name="hp"></param>/// <param name="ac"></param>public Hero(string id, string name, int hp, int ac){this.id = id;this.name = name;this.hp = hp;this.ac = ac;}/// <summary>/// 给一个空的构造方法·不让外界使用/// </summary>public Hero() { }/*选中需要生成的变量->鼠标右键->封装字段->选择字段->确定*//// <summary>/// 以下为自动生成的内容·对外提供了可访问私有对象的接口/// </summary>public string Id { get => id; set => id = value; }public string Name { get => name; set => name = value; }public int Hp { get => hp; set => hp = value; }public int Ac { get => ac; set => ac = value; }}
}

执行类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Hero_demo
{class Program{/// <summary>/// 全局英雄数据/// </summary>public static List<Hero> lists = new List<Hero>();//对战英雄A_oneHerostatic Hero A_oneHero = null;//对战英雄B_twoHerostatic Hero B_oneHero = null;static void Main(string[] args){/*** 移动2010勇士大乱斗*/Console.WriteLine("********************************");Console.WriteLine("*******欢迎来到移动2010*********");Console.WriteLine("***********勇士大乱斗***********");Console.WriteLine("*****可选英雄四人·人机战斗*****");Console.WriteLine("********************************");//数据初始化lists = GetDefaultList();//在类中有一个全局的lists变量while (true){//菜单Console.WriteLine("********************************");Console.WriteLine("******1、遍历当前英雄列表*******");Console.WriteLine("******2、选择人物英雄对战*******");Console.WriteLine("******3、人机移动2010勇士对战***");Console.WriteLine("******4、退出2010勇士乱斗***");Console.WriteLine("********************************");string chooes = Console.ReadLine();switch (chooes){case "1":findAllHero(); break;case "2":choose(); break;case "3": PeoVSCom(); break;case "4":Console.WriteLine("欢迎再次光临:【移动2010·勇者大乱斗】");return;default: Console.WriteLine("请输入正确的选项"); break;}}//初始化中A英雄拿到了lists集合的第N个值的HashCode()并且针对于这个//HashCode()进行了战斗过程,所以,lists集合中的数据有了变化//重新创建了一个hashCode就解决了这个问题。}/// <summary>/// 人机对战/// </summary>private static void PeoVSCom(){if (A_oneHero==null) {Console.WriteLine("请选择英雄");return;}if (A_oneHero.Hp<=0||B_oneHero.Hp<=0) {Console.WriteLine("请重新选择英雄,英雄太累了。");return;}Random ra = new Random();//两个英雄Console.WriteLine("*************************");Console.WriteLine("人类英雄:" + A_oneHero.Name);Console.WriteLine("电脑英雄:" + B_oneHero.Name);Console.WriteLine("****按回车键开始战斗****");Console.WriteLine("*************************");Console.ReadKey();//回车继续//判断血量是否可以继续比赛A先攻击Bwhile (true){int A_cut = A_oneHero.Ac / 2 + ra.Next(A_oneHero.Ac / 2);B_oneHero.Hp -= A_cut;string A = string.Format("{0}\t对\t {1}发起攻击,造成{2}点伤害,{3}血量剩余:\t{4}。", A_oneHero.Name, B_oneHero.Name, A_cut, B_oneHero.Name, B_oneHero.Hp);Console.WriteLine(A);if (B_oneHero.Hp <= 0){Console.WriteLine("恭喜,您成胜利了。");return;//死亡直接return即可}Console.WriteLine("*********************************************");//判断B_电脑是否阵亡int B_cut = B_oneHero.Ac / 2 + ra.Next(B_oneHero.Ac / 2);A_oneHero.Hp -= B_cut;string B = string.Format("{0}\t对\t {1}发起攻击,造成{2}点伤害,{3}血量剩余:\t{4}。", B_oneHero.Name, A_oneHero.Name, B_cut, A_oneHero.Name, A_oneHero.Hp);Console.WriteLine(B);//判断A_人脑是否阵亡if (A_oneHero.Hp <= 0){Console.WriteLine("抱歉,电脑胜利了。");return;}Console.WriteLine("*********************************************");}}/// <summary>/// 选择英雄/// </summary>private static void choose(){Random ra = new Random();//人可以通过输入英雄ID进行选择英雄Console.WriteLine("请输入你需要选择的英雄编号:");string id = Console.ReadLine();//遍历集合匹配idforeach (var item in lists){if (item.Id.Equals(id)){Hero A1=new Hero();A1.Id = item.Id;A1.Name = item.Name;A1.Hp = item.Hp;A1.Ac = item.Ac;A_oneHero = A1;Console.WriteLine("您选择了:\t" + item.Name);break;}}//电脑就只能通过随机的方式进行赋值。Hero hero = lists[ra.Next(4)];Hero A = new Hero();A.Id = hero.Id;A.Name = hero.Name;A.Hp = hero.Hp;A.Ac = hero.Ac;B_oneHero = A;Console.WriteLine("电脑随机到了:\t" + B_oneHero.Name);}/// <summary>/// 遍历英雄/// </summary>private static void findAllHero(){foreach (var hero in lists){Console.WriteLine("*******************************");Console.WriteLine("英雄编号:" + hero.Id);Console.WriteLine("英雄名称:" + hero.Name);Console.WriteLine("英雄血量:" + hero.Hp);Console.WriteLine("英雄攻击:" + hero.Ac);Console.WriteLine("*******************************");}}/// <summary>/// 自定义函数用于英雄赋值/// </summary>/// <returns></returns>public static List<Hero> GetDefaultList(){List<Hero> hs = new List<Hero>();hs.Add(new Hero(Guid.NewGuid().ToString("N"), "精武英雄·陈真", 760, 110));hs.Add(new Hero(Guid.NewGuid().ToString("N"), "天龙八部·乔峰", 900, 150));hs.Add(new Hero(Guid.NewGuid().ToString("N"), "德玛西亚·盖伦", 860, 80));hs.Add(new Hero(Guid.NewGuid().ToString("N"), "日出东方·东方教主", 500, 210));return hs;}}
}

过程:

演示完毕。

源码地址:

【https://download.csdn.net/download/feng8403000/52727647】

C#MUD英雄大作战二、乔峰篇(副源码文件连接)相关推荐

  1. C#MUD英雄大作战(副源码文件连接)

    目录 开发环境: 编码 源码地址: 开发环境: 系统环境:Win10 开发工具:VS2019 语言:C# 项目:控制台应用(.NET Framework) 编码 英雄类:(更换namespace即可) ...

  2. Expo大作战(二十八)--expo sdk api之Speach(语音文字转换),Segment

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  3. Java实现贪吃蛇大作战小游戏(完整教程+源码)额外实现积分和变速功能

    大家好,我是黄小黄同学!今天给大家带来的是小项目是 基于Java+Swing+IO流实现 的贪吃蛇大作战小游戏.实现了界面可视化.基本的吃食物功能.死亡功能.移动功能.积分功能,并额外实现了主动加速和 ...

  4. java球球大作战小游戏代码_windows游戏编程:球球大作战(吃鸡版)源码

    #include "stdafx.h"是win32程序系统生成的 创建项目时选择win32程序项目 除了下面代码外,无其他改动 #include "stdafx.h&qu ...

  5. C/C++实现球球大作战(高仿版),全源码分享带你轻松完成

    每天一个C语言小项目,提升你的编程能力!  <球球大作战>虽然在玩法上类似于大球吃小球的模式看起来很单薄.但是在游戏过程中会出现无数种意外情况,这就需要玩家运用一系列策略来达到不被吃和吃掉 ...

  6. Expo大作战(十二)--expo中的自定义样式Custom font,以及expo中的路由RouteNavigation

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  7. 《球球大作战》游戏优化之路(上)

    自从2015年<球球大作战>发布以来,现已拥有五亿多的玩家.如此庞大的玩家群体,对游戏的画面,性能要求是非常高的.在Unite Shanghai 2019大会中,<球球大作战> ...

  8. Expo大作战(十八)--expo如何发布成独立应用程序,打包成apk或者ipa,发布到对应应用商店...

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  9. Expo大作战(三十六)--expo sdk api之 ImagePicker,ImageManipulator,Camera

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

最新文章

  1. 在idea使用maven工程建立web项目时,启动Tomcat访问不到项目首页。
  2. 面试官:群聊消息的已读未读功能,你来设计一个?
  3. Netflix是怎样做系统监控的?
  4. linux下如何查看驱动?(CH341)
  5. 日记 [2007年02月03日]邮件退信问题的解决
  6. GetDiskFreeSpace 和 GetDiskFreeSpaceEx
  7. mybatis-plus设置查询返回的类型是map
  8. mybatis学习(40):逆向工程的创建
  9. mongo php 自增,PHP7下MongoDB自增或自减一个字段的值
  10. 问题解决:error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1700”不匹配值“1800”
  11. JVM初识之虚拟机内存结构
  12. 好看的php表格样式,四个好看的CSS样式表格 | 学步园
  13. border-sizing属性
  14. Sphinx 简单应用
  15. 百度笔试题——开发测试工程师(深圳)
  16. GWT(Google Web Toolkit)是干嘛用的
  17. 【转】10种吓跑财神的漏财风水
  18. 如何区分正反馈,负反馈放大电路?【模电02课】
  19. egg项目和DVA项目的目录结构比较
  20. 0005 前端 Html 04 AutoFileName 图片的显示 文字链接 图片链接 页面内链接 列表 加超链接的列表

热门文章

  1. 去除图片水印_只需一键,即可快速去除图片水印!如此简单的方法,谁不知谁吃亏...
  2. 电脑桌面整个都变大了_三招拯救你的电脑桌面,堪比整容!
  3. mysql生成uui mybatis_mybatis----基础
  4. django ajax文件上传,django 之 ajax 篇 上传文件
  5. tensorflow常见函数
  6. JZOJ100047.基因变异 (Standard IO)
  7. Visual Translation Embedding Network for Visual Relation Detection论文中的术语以及对论文的理解笔记...
  8. beta阶段第二次scrum meeting
  9. Ajax的简单实现(JQuary)
  10. 浅谈企业MES与ERP系统集成