C#:类与对象_创建玩家类,实现字段,方法,引用和简单游戏逻辑
//创建CF当中的玩家类Player,该类含有字段:名字,性别, 血量,武器。
//武器背包当中匕首,步枪,机枪,狙击枪。 玩家类具有以下方法:
//(1)自我介绍Introduce方法
//(2)换武器装备
//(3)受到攻击掉血,当血量小于等于0的时候玩家死亡
//(4)攻击其他玩家的方法
在写玩家属性字段时,利用了枚举来方便性别和武器这种多种类别属性的封装。

玩家类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Test
{class CFPlayer{private string NameID;public float Hp=100;public SexEnum Sex;public WeaponEnum Weapon;public bool IsDie;public enum SexEnum{male,female,}public enum WeaponEnum:int{BiShou,BuQiang,JiQiang,JuJiQiang,}public void SetName(string name){NameID = name;}public void Introduce(){Console.WriteLine("玩家属性列表: ");Console.WriteLine("名字:" + NameID);Console.WriteLine("性别:" + Sex);Console.WriteLine("武器:" + Weapon);Console.WriteLine("血量:" + Hp);Console.WriteLine("是否死亡:" + IsDie);Console.WriteLine("//——————————————//");//Console.Read();}public void WeaponChange(int weapon){Console.WriteLine("{0}切换武器为{1}", NameID,(WeaponEnum)weapon);Console.WriteLine("//——————————————//");Weapon = (WeaponEnum)weapon;}public void BeAttack(string attacker){Console.WriteLine("{0}受到{1}攻击" ,NameID,attacker);Console.WriteLine("//——————————————//");if (Hp > 0){Hp -= 100;IsDie = (Hp <= 0);}}public void AttackOthers(CFPlayer others){Console.WriteLine("{0}攻击{1}",NameID,others.NameID);Console.WriteLine("//——————————————//");others.BeAttack(NameID);}}
}

main函数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Test
{ //创建CF当中的玩家类Player,该类含有字段:名字,性别, 血量,武器。//武器背包当中匕首,步枪,机枪,狙击枪。 玩家类具有以下方法://(1)自我介绍Introduce方法//(2)换武器装备//(3)受到攻击掉血,当血量小于等于0的时候玩家死亡//(4)攻击其他玩家的方法class Program{static void Main(string[] args){CFPlayer player001 = new CFPlayer();CFPlayer player002 = new CFPlayer();player001.SetName("玩家1号");player002.SetName("玩家2号");player001.Sex = CFPlayer.SexEnum.female;player002.Sex = CFPlayer.SexEnum.male;player001.Weapon = CFPlayer.WeaponEnum.BiShou;player002.Weapon = CFPlayer.WeaponEnum.BuQiang;player001.Introduce();player002.Introduce();player001.WeaponChange(3);player001.AttackOthers(player002);player001.Introduce();player002.Introduce();}}
}

运行结果

C#类与对象_创建玩家类相关推荐

  1. 从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的?

    转载自   从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的? 先回顾一下Java程序执行的过程: Java程序执行时,第一步系统创建虚拟机进程,然后虚拟器用类加载器Class Loade ...

  2. C++ 类与对象_类的其他成员(常成员,静态成员,友元)

    系列文章目录 重新复习c++,所以把书中的重点内容整理成博客,尽量简洁,易懂. C++ 类与对象_类和对象的定义与访问 (定义类和对象,访问对象成员,this指针) C++ 类与对象_构造函数和析构函 ...

  3. 类与对象的创建详解(适合新人)

    概念在上一篇文章讲了,那么接下来用代码写类 类: class关键字 [public]:访问修饰符,[]表示括号里的内容可以省略,但是做跨项目去访问的时候不可以省略 类里的成员:字段,属性,方法 语法: ...

  4. 装饰器/使用类和对象封装一个工具类

    # coding:utf-8 # 装饰器是以@开头,@结构称为语法糖,装饰器的作用主要是给现有的函数增加一些额外的功能. # @classmethod # @staticmethod # @prope ...

  5. 设计如下类: 1) 建立一个Point类,表示平面中的一个点;建立一个Line类,表示平面中的一条线端, 内含两个Point类的对象;建立Triangle类,表示一个三角形

    设计如下类:     1) 建立一个Point类,表示平面中的一个点:建立一个Line类,表示平面中的一条线端,     内含两个Point类的对象:建立Triangle类,表示一个三角形,内含三个L ...

  6. 类和对象(一)——类对象概念及定义

    c++是基于面向对象的语言,并不是纯面向对象的语言,因为它包含c的部分,c是面向过程的语言 一.面向对象 概念:面向对象程序设计(OOP)是一种程序设计的泛型,同时也是一种程序开发的方法,它将对象作为 ...

  7. python 全栈开发,Day116(可迭代对象,type创建动态类,偏函数,面向对象的封装,获取外键数据,组合搜索,领域驱动设计(DDD))...

    昨日内容回顾 1. 三个类 ChangeList,封装列表页面需要的所有数据.StarkConfig,生成URL和视图对应关系 + 默认配置 AdminSite,用于保存 数据库类 和 处理该类的对象 ...

  8. 类和对象_月隐学python第15课

    目录 1 ⾯向对象的思想 2. 类和对象 2.1 类和对象的概念 2.2 类的定义​ 2.3 成员⽅法 2.4 对象的创建 2.5 成员属性 3 构造和析构 3.1 构造⽅法 3.2 析构⽅法 3.3 ...

  9. Java面向对象(1)--对象的创建使用类的实例化

    1.类与对象 类是对一类事物的描述,是抽象的.概念上的定义. 对象是实际存在的该类事物的每个个体,因而也称为实例(instance). 通常都是将类实例化,也就是对象的创建 可以理解为:类 = 抽象概 ...

最新文章

  1. C# WinForm开发系列 - ListBox/ListView/Panel
  2. 【ArcGIS风暴】什么是点云?什么是Las数据集?一篇文章告诉你点云数据的奥秘
  3. linux 路由表设置 之 route 指令详解
  4. 实例56:python
  5. phpcms v9 sql数据{$r[content]},前端如何换行显示?
  6. Linux安装prometheus+grafana监控
  7. HDOJ 4734 数位DP
  8. C++新经典——C++从入门到精通
  9. php 同步退出,phpcms phpsso不能同步退出怎么办
  10. 三星android webview,[转]三星GS4(Android 4.3)上webview crash问题
  11. 再谈如何成为一名优秀CTO
  12. ASP.NET Core的路由[2]:路由系统的核心对象——Router
  13. 程序员求职之道(《程序员面试笔试宝典》)之求职的时候该不该只看钱?
  14. Oracle创建directory
  15. FillRect、FrameRect与Rectangle矩形绘制函数使用对比分析
  16. [深度学习入门]两阶段目标检测算法到Faster RCNN
  17. 我的理想200字计算机工程师,我的理想作文200字
  18. Office EXCEL如何批量把以文本形式存储的数字转换为数字
  19. 货车什么叫半挂?什么叫全挂?
  20. nginx学习十 ngx_cycle_t 、ngx_connection_t 和ngx_listening_t

热门文章

  1. 农村土地确权之成果展示 —— 地块签章图
  2. 英语介绍计算机的一样东西,计算机保研英语自我介绍
  3. 一文告诉你,国密SM2算法有多优秀
  4. 广西计算机类定中级职称,广西职称评审认定新办法:职称不与工资等待遇挂钩...
  5. jxl去掉excel有效性验证
  6. 网上买手机卡,过来人给你总结了几条经验,得注意了!
  7. 软件测试分类,本篇博文属于对软件测试领域的科普篇
  8. Java if判断语句的用法
  9. 微型计算机可以用于办公嘛,两千元出头性能也不差,家用办公配置这样配最省钱...
  10. 设计模式怎么玩-代理模式