1月5日 结构体(对战小游戏)

namespace duzhanxiaoyouxi
{
struct RenWu                              //定义 struct  类型
{
public string Name;
public int Blood;                   //这个就是结构体:结构体相当于我们自己定义的一种复杂的类型,用来解决生活中的复杂问题。
public int Attack;
public int Defence;
public int Speed;
public WuGong WG;            //结构体内也可以引用结构体
}
struct WuGong                           //结构体可以定义多个
{
public string Name;
public int Attack;                 //public 公共的      public   变量类型  变量名;
public int Defence;
public int Speed;
}
class Program
{
static void Main(string[] args)
{
//创建
RenWu r1 = new RenWu();                   //构造的类型可以和int、string等一样使用
RenWu r2 = new RenWu();

Console.Write("请输入第一个战士的姓名:");
r1.Name = Console.ReadLine();

Console.Write("请输入第二个战士的姓名:");
r2.Name = Console.ReadLine();

//生成血量
Random rand = new Random();
r1.Blood = rand.Next(1000) + 1000;
r2.Blood = rand.Next(1000) + 1000;

//生成攻防
r1.Attack = rand.Next(100) + 50;
r1.Defence = rand.Next(100) + 50;

r2.Attack = rand.Next(100) + 50;
r2.Defence = rand.Next(100) + 50;

//生成身法
r1.Speed = rand.Next(100);
r2.Speed = rand.Next(100);

Console.WriteLine(r1.Name + "的血量为:" + r1.Blood + "滴\t攻击力为:" + r1.Attack + "\t防御力为:" + r1.Defence);
Console.WriteLine(r2.Name + "的血量为" + r2.Blood + "滴\t攻击力为:" + r2.Attack + "\t防御力为:" + r2.Defence);
Console.WriteLine();
//对战
while (true)
{
//跳出循环的条件
if (r1.Blood <= 0 && r2.Blood <= 0)
{
Console.WriteLine(r1.Name + "和" + r2.Name + "同归于尽了");
break;
}
if (r1.Blood <= 0)
{
Console.WriteLine(r2.Name + "把" + r1.Name + "KO了");
break;
}
if (r2.Blood <= 0)
{
Console.WriteLine(r1.Name + "把" + r2.Name + "KO了");
break;
}

//开始对战
int shenfa = rand.Next(50)+50;

//速度稍慢一些 暂停一秒
System.Threading.Thread.Sleep(1000);

if (r2.Speed > shenfa)
{
Console.WriteLine(r2.Name + "躲过了" + r1.Name + "的攻击");
}
else
{
int shanghai1 = rand.Next(100) + 50;//第一个对第二个的伤害
shanghai1 += r1.Attack - r2.Defence; //第二个人实际掉的血

r2.Blood = (r2.Blood - shanghai1) < 0 ? 0 : (r2.Blood - shanghai1);

//改变文字颜色
Console.ForegroundColor = ConsoleColor.Blue;

Console.Write(r1.Name + "发起攻击," + r2.Name + "掉了" + (shanghai1 < 0 ? 0 : shanghai1) + "滴血\t");
Console.WriteLine();
}

if (r1.Speed > shenfa)
{
Console.WriteLine(r1.Name + "躲过了" + r2.Name + "的攻击");
}
else
{
int shanghai2 = rand.Next(100) + 50;
shanghai2 += r2.Attack - r1.Defence;

r1.Blood = (r1.Blood - shanghai2) < 0 ? 0 : (r1.Blood - shanghai2);

//改变文字颜色
Console.ForegroundColor = ConsoleColor.Red;

Console.WriteLine(r2.Name + "发起攻击," + r1.Name + "掉了" + (shanghai2 < 0 ? 0 : shanghai2) + "滴血");
}
//改变文字颜色
Console.ForegroundColor = ConsoleColor.Green;

Console.WriteLine(r1.Name + "的剩余血量为" + r1.Blood + "\t" + r2.Name + "的剩余血量为" + r2.Blood );

Console.WriteLine();
Console.WriteLine();

}
}
}
}

时间: 2024-10-13 10:46:03

1月5日 结构体(对战小游戏)的相关文章

5月12日 结构体

一.结构体定义: 结构体一般定义在Main函数上面,位于Class下面,作为一个类:一般情况Struct定义在Main函数前面,Main函数里面的地方都可以使用,参数前面加上public代表公用变量. 二.格式: struct +结构体的名称 { public int+变量名; public string+变量名: public int+变量名: } namespace _5月12日_结构体 { class Program { struct student { public int num; p

结构体的一些小知识点

知识点:结构体 1. 结构体,其实就是一个自定义的集合,里面可以包含各种类型的数据 定义方法就是: struct student { public int no; public string name; public int Cshap; public int web; public int datebase; public int sum; } 以上语句就是定义一个名字叫做student的结构体,里面包含一个整形的NO,代表学号:一个字符串类型的name,代表名字:一个整形的Cshap,代表C

2018年11月29日 16点50分 小苗苗出生了

print("I love U , my daughter") 原文地址:https://www.cnblogs.com/python1988/p/10059419.html

链表结构(贪吃蛇小游戏)

实现原理 为蛇的身体每一个节点添加脚本BodyFollow,使其能跟随父节点移动和设置它的子节点 1 public class BodyFollow : MonoBehaviour { 2 3 //下一个节点. 4 public BodyFollow next; 5 6 //本节点当前位置. 7 Vector3 originalPisition; 8 9 //节点移动的方法. 10 public void Follow(Vector3 gotoPosition) 11 { 12 //移动前记录下

对战小游戏

我们先封装一个叫做战士的类 using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace 对战游戏{ public class Soldier { //名字,生命值,攻击力,招式 private string _Name; public string Name { get { return _Name; } set { _Name = value; } } private

实习2个月后,第一次自己写的小游戏来玩玩

这是小弟第一次写的小游戏,基于jQ写的,没用面向对象思维去写,可能写得不好,请见谅,亲测是能玩的!! 尾部我附上材料图片提供大家下载 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta charset="utf-8" /> <

湖人VS爵士!!科比4月14日最后一战,本赛季最高得分!狂得60分!!完美大逆转!!!

莫愁前路无知己,天下谁人不识君.科比,愿你如迈克尔·乔丹,仍然活跃在篮球界.退役不是结束,而是另一段人生的开始. 北京时间2016年4月14日,湖人101-96击败爵士,科比-布莱恩特告别战,20年职业生涯划上句号.NBA江湖从此再无科比,再无黑曼巴.在这场谢幕战中,科比得到60分,创造NBA33岁以上球员的得分纪录,也是本赛季NBA的得分纪录和个人赛季纪录……他用这样一场谢幕战,完美谢幕,回馈60E科比球迷(是对科比球迷群体的一种夸张描述,借此凸显科比球迷群体的庞大) 科比谢幕战创三项纪录 “

2014年7月10日,我人生的最重要Upgrade

2014年7月10日上午,我的小公主顺利的出生于国妇婴.之前各种紧张,各种不安.在不安中的前天晚上陪着来上海的董博士于方先生在人民广场聚餐.大家都是工作几年的,各种感慨,对于工作中的零零种种.还有对未来的模糊规划.在近11点,散伙回家,在酒精的刺激下,终于睡了个好觉. 在10号的六点半,起床,快速的洗漱后打车到国妇婴,要赶到早高峰之前到达,要知道,从浦东到浦西还是有很多红绿灯的,尽管只有15公里.到达了,陪着老婆做产前的各种检查.当确定了产后还是住六人间的小床后,觉得不可思议,怎么能让产妇和新生

15-07-10 结构体

结构体:由多种简单类型,组合成一种复杂的类型.使用这种复杂的类型来解决生活中的实际例子. 一.结构体定义:struct 结构体的名子{public 类型名 变量名;.....} 二.结构体的使用: 1.使用结构体来定义变量Student s1 = new Student();2.给结构体变量赋值.s1.Name = "";s1.NO = "";3.给结构体变量取值.s2.YuWen 三.复杂结构体.使用结构体类型的成员变量,来组成更大的结构体.1.先造个小的结构体2