C#类与对象_创建玩家类
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#类与对象_创建玩家类相关推荐
- 从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的?
转载自 从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的? 先回顾一下Java程序执行的过程: Java程序执行时,第一步系统创建虚拟机进程,然后虚拟器用类加载器Class Loade ...
- C++ 类与对象_类的其他成员(常成员,静态成员,友元)
系列文章目录 重新复习c++,所以把书中的重点内容整理成博客,尽量简洁,易懂. C++ 类与对象_类和对象的定义与访问 (定义类和对象,访问对象成员,this指针) C++ 类与对象_构造函数和析构函 ...
- 类与对象的创建详解(适合新人)
概念在上一篇文章讲了,那么接下来用代码写类 类: class关键字 [public]:访问修饰符,[]表示括号里的内容可以省略,但是做跨项目去访问的时候不可以省略 类里的成员:字段,属性,方法 语法: ...
- 装饰器/使用类和对象封装一个工具类
# coding:utf-8 # 装饰器是以@开头,@结构称为语法糖,装饰器的作用主要是给现有的函数增加一些额外的功能. # @classmethod # @staticmethod # @prope ...
- 设计如下类: 1) 建立一个Point类,表示平面中的一个点;建立一个Line类,表示平面中的一条线端, 内含两个Point类的对象;建立Triangle类,表示一个三角形
设计如下类: 1) 建立一个Point类,表示平面中的一个点:建立一个Line类,表示平面中的一条线端, 内含两个Point类的对象:建立Triangle类,表示一个三角形,内含三个L ...
- 类和对象(一)——类对象概念及定义
c++是基于面向对象的语言,并不是纯面向对象的语言,因为它包含c的部分,c是面向过程的语言 一.面向对象 概念:面向对象程序设计(OOP)是一种程序设计的泛型,同时也是一种程序开发的方法,它将对象作为 ...
- python 全栈开发,Day116(可迭代对象,type创建动态类,偏函数,面向对象的封装,获取外键数据,组合搜索,领域驱动设计(DDD))...
昨日内容回顾 1. 三个类 ChangeList,封装列表页面需要的所有数据.StarkConfig,生成URL和视图对应关系 + 默认配置 AdminSite,用于保存 数据库类 和 处理该类的对象 ...
- 类和对象_月隐学python第15课
目录 1 ⾯向对象的思想 2. 类和对象 2.1 类和对象的概念 2.2 类的定义 2.3 成员⽅法 2.4 对象的创建 2.5 成员属性 3 构造和析构 3.1 构造⽅法 3.2 析构⽅法 3.3 ...
- Java面向对象(1)--对象的创建使用类的实例化
1.类与对象 类是对一类事物的描述,是抽象的.概念上的定义. 对象是实际存在的该类事物的每个个体,因而也称为实例(instance). 通常都是将类实例化,也就是对象的创建 可以理解为:类 = 抽象概 ...
最新文章
- C# WinForm开发系列 - ListBox/ListView/Panel
- 【ArcGIS风暴】什么是点云?什么是Las数据集?一篇文章告诉你点云数据的奥秘
- linux 路由表设置 之 route 指令详解
- 实例56:python
- phpcms v9 sql数据{$r[content]},前端如何换行显示?
- Linux安装prometheus+grafana监控
- HDOJ 4734 数位DP
- C++新经典——C++从入门到精通
- php 同步退出,phpcms phpsso不能同步退出怎么办
- 三星android webview,[转]三星GS4(Android 4.3)上webview crash问题
- 再谈如何成为一名优秀CTO
- ASP.NET Core的路由[2]:路由系统的核心对象——Router
- 程序员求职之道(《程序员面试笔试宝典》)之求职的时候该不该只看钱?
- Oracle创建directory
- FillRect、FrameRect与Rectangle矩形绘制函数使用对比分析
- [深度学习入门]两阶段目标检测算法到Faster RCNN
- 我的理想200字计算机工程师,我的理想作文200字
- Office EXCEL如何批量把以文本形式存储的数字转换为数字
- 货车什么叫半挂?什么叫全挂?
- nginx学习十 ngx_cycle_t 、ngx_connection_t 和ngx_listening_t
热门文章
- 农村土地确权之成果展示 —— 地块签章图
- 英语介绍计算机的一样东西,计算机保研英语自我介绍
- 一文告诉你,国密SM2算法有多优秀
- 广西计算机类定中级职称,广西职称评审认定新办法:职称不与工资等待遇挂钩...
- jxl去掉excel有效性验证
- 网上买手机卡,过来人给你总结了几条经验,得注意了!
- 软件测试分类,本篇博文属于对软件测试领域的科普篇
- Java if判断语句的用法
- 微型计算机可以用于办公嘛,两千元出头性能也不差,家用办公配置这样配最省钱...
- 设计模式怎么玩-代理模式