C#MUD英雄大作战二、乔峰篇(副源码文件连接)
目录
开发环境:
编码
源码地址:
开发环境:
系统环境: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英雄大作战二、乔峰篇(副源码文件连接)相关推荐
- C#MUD英雄大作战(副源码文件连接)
目录 开发环境: 编码 源码地址: 开发环境: 系统环境:Win10 开发工具:VS2019 语言:C# 项目:控制台应用(.NET Framework) 编码 英雄类:(更换namespace即可) ...
- Expo大作战(二十八)--expo sdk api之Speach(语音文字转换),Segment
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Java实现贪吃蛇大作战小游戏(完整教程+源码)额外实现积分和变速功能
大家好,我是黄小黄同学!今天给大家带来的是小项目是 基于Java+Swing+IO流实现 的贪吃蛇大作战小游戏.实现了界面可视化.基本的吃食物功能.死亡功能.移动功能.积分功能,并额外实现了主动加速和 ...
- java球球大作战小游戏代码_windows游戏编程:球球大作战(吃鸡版)源码
#include "stdafx.h"是win32程序系统生成的 创建项目时选择win32程序项目 除了下面代码外,无其他改动 #include "stdafx.h&qu ...
- C/C++实现球球大作战(高仿版),全源码分享带你轻松完成
每天一个C语言小项目,提升你的编程能力! <球球大作战>虽然在玩法上类似于大球吃小球的模式看起来很单薄.但是在游戏过程中会出现无数种意外情况,这就需要玩家运用一系列策略来达到不被吃和吃掉 ...
- Expo大作战(十二)--expo中的自定义样式Custom font,以及expo中的路由RouteNavigation
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- 《球球大作战》游戏优化之路(上)
自从2015年<球球大作战>发布以来,现已拥有五亿多的玩家.如此庞大的玩家群体,对游戏的画面,性能要求是非常高的.在Unite Shanghai 2019大会中,<球球大作战> ...
- Expo大作战(十八)--expo如何发布成独立应用程序,打包成apk或者ipa,发布到对应应用商店...
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(三十六)--expo sdk api之 ImagePicker,ImageManipulator,Camera
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
最新文章
- 在idea使用maven工程建立web项目时,启动Tomcat访问不到项目首页。
- 面试官:群聊消息的已读未读功能,你来设计一个?
- Netflix是怎样做系统监控的?
- linux下如何查看驱动?(CH341)
- 日记 [2007年02月03日]邮件退信问题的解决
- GetDiskFreeSpace 和 GetDiskFreeSpaceEx
- mybatis-plus设置查询返回的类型是map
- mybatis学习(40):逆向工程的创建
- mongo php 自增,PHP7下MongoDB自增或自减一个字段的值
- 问题解决:error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1700”不匹配值“1800”
- JVM初识之虚拟机内存结构
- 好看的php表格样式,四个好看的CSS样式表格 | 学步园
- border-sizing属性
- Sphinx 简单应用
- 百度笔试题——开发测试工程师(深圳)
- GWT(Google Web Toolkit)是干嘛用的
- 【转】10种吓跑财神的漏财风水
- 如何区分正反馈,负反馈放大电路?【模电02课】
- egg项目和DVA项目的目录结构比较
- 0005 前端 Html 04 AutoFileName 图片的显示 文字链接 图片链接 页面内链接 列表 加超链接的列表
热门文章
- 去除图片水印_只需一键,即可快速去除图片水印!如此简单的方法,谁不知谁吃亏...
- 电脑桌面整个都变大了_三招拯救你的电脑桌面,堪比整容!
- mysql生成uui mybatis_mybatis----基础
- django ajax文件上传,django 之 ajax 篇 上传文件
- tensorflow常见函数
- JZOJ100047.基因变异 (Standard IO)
- Visual Translation Embedding Network for Visual Relation Detection论文中的术语以及对论文的理解笔记...
- beta阶段第二次scrum meeting
- Ajax的简单实现(JQuary)
- 浅谈企业MES与ERP系统集成