自己从0开始学习Unity的笔记 VIII (C#中类继承练习 II)
自己写了一个关于兵种的,因为一直在测试,到底面向对象是个什么玩意。。。然后就做了这个
- namespace 兵种
- {
- class Role //作为父类,构建一个普通角色属性用于继承
- {
- protected int health;
- protected int attack;
- protected int speed;
- protected int defend;
- public Role(int health,int attack,int speed,int defend)
- {
- this.health = health;
- this.attack = attack;
- this.speed = speed;
- this.defend = defend;
- }
- public void RoleData()
- {
- Console.WriteLine("你的人物属性是");
- Console.WriteLine("HP :"+health);
- Console.WriteLine("攻击 :"+attack);
- Console.WriteLine("防御 :"+defend);
- Console.WriteLine("速度 :"+speed);
- }
- }
- class Saber : Role //继承父类,创建一个剑士角色
- {
- private string position = "剑士";
- public Saber(int health, int attack, int speed, int defend) : base(health, attack, speed, defend)
- {
- }
- public void skill()
- {
- Console.WriteLine("职业 :"+position);
- Console.WriteLine("必杀技:EX咖喱棒");
- }
- }
- class Archer : Role //继承父类,创建一个弓箭角色
- {
- private string position = "弓箭手";
- public Archer(int health, int attack, int speed, int defend) : base(health, attack, speed, defend)
- {
- }
- public void skill()
- {
- Console.WriteLine("职业 :" + position);
- Console.WriteLine("必杀技:无限剑制");
- }
- }
- class Caster : Role //继承父类,创建一个法师角色
- {
- private string position = "魔法师";
- public Caster(int health, int attack, int speed, int defend) : base(health, attack, speed, defend)
- {
- }
- public void skill()
- {
- Console.WriteLine("职业 :" + position);
- Console.WriteLine("必杀技:理想乡");
- }
- }
- class RoleDataPosition //这是一次尝试,把职业数据写在一个类里面,这样不在主函数里面也方便查找和修改。
- {
- public Saber dataSaber = new Saber(, , , );
- public Archer dataArcher = new Archer(, , , );
- public Caster dataCaster = new Caster(, , , );
- }
- class Program
- {
- static void Main(string[] args)
- {
- RoleDataPosition playerData = new RoleDataPosition();
- for (int i = ; i < ; i++) //本来想用while,想了一下还是算了
- {
- Console.WriteLine("请选择你想要的职业");
- Console.WriteLine("1.剑士");
- Console.WriteLine("2.弓箭手");
- Console.WriteLine("3.魔法师");
- char choose = Console.ReadKey(true).KeyChar;
- switch (choose)
- {
- case '':
- playerData.dataSaber.RoleData();
- playerData.dataSaber.skill();
- break;
- case '':
- playerData.dataArcher.RoleData();
- playerData.dataArcher.skill();
- break;
- case '':
- playerData.dataCaster.RoleData();
- playerData.dataCaster.skill();
- break;
- default:
- Console.Clear();
- i--; //用于输入错误不让跳出用
- break;
- }
- }
- Console.ReadKey();
- }
- }
- }
记录这个的原因,是因为我觉得,如果以后怪兽多了,也可以建立这样一个类,存储所有怪兽的属性,大概可能有这样的一个扩展空间,方便以后自己查询,先记录一下
自己从0开始学习Unity的笔记 VIII (C#中类继承练习 II)的更多相关文章
- 自己从0开始学习Unity的笔记 I (C#字符串转换为数字)
我基本上从0开始学习编程,运算符基本上跳过,因为知道了 “=”这个符号相当于赋值,然后“==”才是等于,其他和普通运算符号差不都,也就跳过了. 最基础的赋值那种,我看了下代码,似乎没什么难度,估计新手 ...
- 自己从0开始学习Unity的笔记 VII (C#中类继承练习)
好久都没有写了.今天做了类继承的练习,做了一个小队,进行简单的判定. namespace 兵团建立练习 { class ServantBasics { public string name; //pr ...
- 自己从0开始学习Unity的笔记 VI (C#的for循环练习)
最近学到了for循环,我觉得其实看情况吧,和while挺像的,不过适合于累加或者累减这类的,for循环要更好用一点 for循环首先格式是 ; i < length; i++) { } 意思很简单 ...
- 自己从0开始学习Unity的笔记 V (C#的数组练习)
今天练习了数组输入,先从最简单的开始,因为我输入完这些之后,觉得应该有更简单的方法,先来介绍一下我做的练习代码 //做一个最多能容纳10个数字的,用户可以输入任意1-10个数字,判断长度,输出数字 ] ...
- 自己从0开始学习Unity的笔记 IV (C#循环练习-数字猜谜游戏)
想起来现在基础的已经学了不少了,那么这次试一下用while写一个数字猜谜的. Random roll = new Random(); //建立一个骰子 , ); //让骰子在1-100内随机一个数 ; ...
- 自己从0开始学习Unity的笔记 IV (C#循环练习输出素数)
来测试一下循环....刚刚学了while循环,测试一下输出1-100的素数 我想了一下,素数就是只能被1和本身整除,那就是只能被整除2次,我是顺着这个思路写的代码,如果被整除超过2次,那么肯定不是素数 ...
- 自己从0开始学习Unity的笔记 III (C#随机数产生基础练习)
自己开始尝试弄一下随机数,照着方法,自己做了个英雄打怪兽的测试 int heroAttack; ; ; Random attack = new Random(); //初始化一个随机数的类 heroA ...
- 自己从0开始学习Unity的笔记 II (C#条件语句基础练习)
首先,自己用了下三目表达式,来做了一个闰年的判断,也就是能被400整除,或者是能够被4整除,但是不能被100整除的年份. int year; //输入的年 bool fourHunderd; //能被 ...
- 从0开始学习Unity的学习笔记(I 界面学习和简单模型拼装)
先给一个大致今天学习的图,然后后面是细节 1.下载Unity :官网下载需要版本 2.Unity安装:一定不要有中文路径:一台电脑可以安装不同版本的Unity,但是要安装在不同的文件夹下: 3. 新建 ...
随机推荐
- 简单的TCP代理服务器
我之前的一篇文章(http://www.cnblogs.com/MikeZhang/archive/2012/03/07/socketRedirect.html )中介绍过用python写的一个简单的 ...
- python实现socket上传下载文件-进度条显示
在python的socket编程中,可以实现上传下载文件,并且在下载的时候,显示进度条,具体的流程如下图所示: 1. 服务器端代码如下: [root@python 519]# cat server.p ...
- es6 class 了解
ES6之class ES5中通常通过构造函数和原型的组合形式来创建对象.在ES6中引入class作为对象模板, Class定义语法 class point{ constructor(x,y){ thi ...
- ansible debug
<demoredis_redis_1> ESTABLISH DOCKER CONNECTION FOR USER: ?<demoredis_redis_1> EXEC ['/u ...
- 【bzoj3437】小P的牧场
3437: 小P的牧场 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 947 Solved: 542[Submit][Status][Discuss ...
- POJ1458 最长公共子序列
描述: 给定两个字符串,求其最长公共子序列(不用连续), 输入: abc bcc programning content 输出: 2 2 解法: 动态规划. 定义dp[i][j]表示s1到i索引,以及 ...
- Castle ActiveRecord学习(七)使用日志
暂无 参考:http://terrylee.cnblogs.com/archive/2006/04/14/374829.html
- 逆序对 分治nlogn
定义:A是包含n个元素的有序序列{a1,a2 … an},若ai > aj 且 i < j ,则称 (ai , aj)是A的一个逆序对.求逆序对是指求出A中存在逆序对的数量. 这个算法是归 ...
- gp sql
appendonly -- drop table if exists test_appendonly; -- create table test_appendonly with(appendonly= ...
- Java 设计模式系列(十二)代理模式
Java 设计模式系列(十二)代理模式 代理模式是对象的结构模式.代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用. package com.github.binarylei.de ...