快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

打怪兽代码Java,中文打怪兽

英雄打怪兽C#编程

templateclass T

公司主营业务:成都做网站、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出勃利免费做网站回馈大家。

void SelectSort(T a[], int len)

{

T temp;

int nIndex=0;

//每次循环只进行一次交换 最多进行len-1次循环,因此总体上,比冒泡进行交换的次数少

for (int i=0;ilen-1;i++)

{

//第i次排序时,已经进行了i次大循环,因此已经排好了i个元素

//已排好序的元素0,,...,i-2,i-1

// 待排元素为i,i+1,...,len-1

nIndex=i;

for (int j=i+1;jlen;j++)

{

if (a[j]a[nIndex])

{

nIndex=j;

}

}

//交换

if (nIndex!=i)

{

temp=a[i];

a[i]=a[nIndex];

a[nIndex]=temp;

}

}

}

java当中怪物类如何引用武器类打怪兽类

这是个挺有趣的问题,我们可以一起来分析下:

1.这里面只有两个类,武器类和怪兽类;而动作只有一个,打。

2.面向对象的思想是为类分配职责,那么打这个动作到底分配给谁?

很明显应该分配给怪兽类,因为打这个动作涉及的大部分数据都是怪兽类包含的,从常识上来讲分配给武器类感觉怪怪的...

3.从上面可以想象到会出现这样的情况monster.hit(otherMonster),这里monster是打,otherMonster是被打。hit方法里面需要将otherMonster的信息获取出来,然后计算打的过程...这样会把otherMonster的数据封装破坏掉,如果扩展otherMonster,显然你必需要在hit方法里判断otherMonster是哪种类型。但是monster.hit(otherMonster)又是符合对象的思维的。那么问题出在哪里?

问题出在打是一个动词,打这个方法分配给了一个对象,但作用的是另一个对象,因此而破坏了数据封装。如果打分配给一个对象,同时作用的是这个对象,那么问题就解决了。

怎样把打分配给一个对象,同时作用的是这个对象呢?答案是把打转换成被打,于是就成了otherMonster.hit(),在monster需要去打otherMonster时,调用otherMonster.hit()就可以了。

4.武器类还没有被引入进来,明显武器不会自动攻击,他必须装备在monster上,我们可以把weapon作为monster的成员。

5.武器类可以被使用在打这个动作上,于是我们为hit方法增加武器参数,于是就变成otherMonster.hit(weapon),这个方法是在monster内部调用的,weapon也是monster的成员,没有破坏封装性。

6.至此,你提的这个问题就是这样了...

class Monster{

private Weapon weapon;

public void hit(Weapon weapon){

//dosometing.

}

public Weapon getWeapon(){

return weapon;

}

public void setWeapon(Weapon weapon){

this.weapon = weapon;

}

}

是不是感觉怪怪的...我们可以继续来探讨这个问题:

为什么感觉怪怪的?是因为这个问题太简化了,简化到我们并不知道Monster被打之后到底发生什么。

感觉这个很像个游戏,大部分游戏都是基于hitpoint(血量)的,为了使这个问题带感一些,我们给Monster一个int类型的hitPoint。

同时给武器类赋予一个attackPoint,在Monster被打的时候扣除attackPoint数量的hitPoint。

那么问题来了,hit方法里需要获取Weapon中的attackPoint,这又会把Weapon的数据封装破坏掉...

为此我们需要给Monster一个直接扣除hitPoint的方法damage(int attackPoint),让Weapon能够调用damage方法把自身的attackPoint传递进来。

Weapon本身我们可以分配一个attack(Monster monster)方法来给Monster把自身传递进来,于是程序就变成了:

class Monster{

private Weapon weapon;

private int hitPoint;

public void hit(Weapon weapon){

weapon.attack(this);

}

public void damage(int attackPoint){

this.hitPoint -= attackPoint;

}

public Weapon getWeapon(){

return weapon;

}

public void setWeapon(Weapon weapon){

this.weapon = weapon;

}

}

class Weapon{

private int attackPoint;

public void attack(Monster monster){

monster.damage(attackPoint);

}

}

也许有人会问,hit里面调用weapon.attack,attack里面又调用monster.damage,那还不如在hit里直接获取weapon的attackPoint,然后直接扣除hitPoint。

为什么要这么麻烦呢?实际上这里Weapon是一个策略(Strategy模式),由策略来决定对对象到底采取什么样的作用。这里感觉麻烦也是因为问题太简单了。

再带感一点,我们参考网游的做法,Monster本身有一定的躲避和格挡率,同时某些Weapon可能会有暴击率:

此时我们需要在hit方法里先计算是否躲避或者格挡,如果都不成功,才调用weapon.attack(this).在attack方法里,需要先计算是否暴击,如果暴击,则把attackPoint乘以2。于是又变成了

class Monster{

private Weapon weapon;

private int hitPoint;

private int dodge;//100%比例

private int block;//100%比例

public void hit(Weapon weapon){

if (isDodge()){

return;

}

if (isBlock){

return;

}

weapon.attack(this);

}

public void damage(int attackPoint){

this.hitPoint -= attackPoint;

}

public boolean isDodge(){

//COMPUTE IS DODGE?

}

public boolean isBlock(){

//COMPUTE IS BLOCK?

}

public Weapon getWeapon(){

return weapon;

}

public void setWeapon(Weapon weapon){

this.weapon = weapon;

}

}

class Weapon{

private int attackPoint;

private int critical;//100%比例

public void attack(Monster monster){

int actualAttackPoint = isCritical()?attackPoint*2:attackPoint;

monster.damage(actualAttackPoint);

}

public boolean isCritical(){

//COMPUTE IS CRITICAL

}

}

这样就不觉得麻烦了...

最后应该把monster抽象成接口,因为可能不只是monster可以被武器打哦

你还可以后面再加入怎么判断Monster挂了,通过观察者模式来通知打人者,还有其他各种各样带感的东西。

祝你好运!

求口袋妖怪叶子绿的金手指代码

03007E28:0001——妙娃种子 03007E28:0002——妙娃草

03007E28:0003——妙娃花 03007E28:0004——小火龙

03007E28:0005——火恐龙 03007E28:0006——喷火龙

03007E28:0007——杰尼龟 03007E28:0008——卡咪龟

03007E28:0009——水箭龟 03007E28:000A——绿毛虫

03007E28:000B——铁甲蛹 03007E28:000C——巴大蝴

03007E28:000D——独角虫 03007E28:000E——铁壳蛹

03007E28:000F——大针蜂 03007E28:0010——波波

03007E28:0011——比比鸟 03007E28:0012——比雕

03007E28:0013——小拉达 03007E28:0014——拉达

03007E28:0015——鬼雀 03007E28:0016——大嘴雀

03007E28:0017——阿柏蛇 03007E28:0018——阿柏怪

03007E28:0019——皮卡丘 03007E28:001A——雷丘

03007E28:001B——穿山鼠 03007E28:001C——穿山王

03007E28:001D——尼多兰♀ 03007E28:001E——尼多丽娜

03007E28:001F——尼多后 03007E28:0020——尼多郎♂

03007E28:0021——尼多力诺 03007E28:0022——尼多王

03007E28:0023——皮皮 03007E28:0024——皮可斯

03007E28:0025——六尾 03007E28:0026——九尾

03007E28:0027——胖丁 03007E28:0028——胖可丁

03007E28:0029——超音蝠 03007E28:002A——大嘴蝠

03007E28:002B——走路草 03007E28:002C——臭臭花

03007E28:002D——霸王花 03007E28:002E——蘑菇虫

03007E28:002F——巨菇虫 03007E28:0030——毛球

03007E28:0031——末入蛾 03007E28:0032——地鼠

03007E28:0033——三地鼠 03007E28:0034——喵喵

03007E28:0035——猫老大 03007E28:0036——可达鸭

03007E28:0037——哥达鸭 03007E28:0038——猴怪

03007E28:0039——火爆猴 003A——卡蒂狗

003B——风速狗 003C——蚊香蝌蚪

003D——蚊香蛙 003E——大力蛙

003F——卡斯 0040——勇吉拉

0041——胡地 0042——腕力

0043——豪力 0044——怪力

0045——喇叭花 0046——口呆花

0047——大食花 0048——玛瑙水母

0049——毒刺水母 004A——小拳石

004B——隆隆石 004C——隆隆岩

004D——小火马 004E——烈焰马

004F——呆呆兽 0050——呆河马

0051——小磁怪 0052——三磁怪

0053——大葱鸭 0054——多多

0055——多多利

0056——小海狮 0057——白海狮

0058——臭泥 0059——臭臭泥

005A——大舌贝 005B——铁甲贝

005C——鬼斯 005D——鬼斯通

005E——耿鬼 005F——大岩蛇

0060——食梦兽 0061——催眠兽

0062——大钳蟹 0063——巨钳蟹

0064——雷电球 0065——雷霆球

0066——蛋蛋 0067——椰蛋树

0068——卡拉卡拉 0069——嘎拉嘎拉

006A——沙瓦郎 006B——艾比郎

006C——大舌头 006D——瓦斯弹

006E——双弹瓦斯 006F——铁甲犀牛

0070——铁甲暴龙 0071——吉利蛋

0072——蔓藤怪 0073——袋龙

0074——墨海马 0075——海刺龙

0076——角金鱼 0077——金鱼王

0078——海星 0079——宝石海星

007A——魔偶 007B——飞天螳螂

007C——迷唇姐 007D——电击兽

007E——鸭嘴火龙 007F——钳刀甲虫

0080——肯泰罗 0081——鲤鱼王

0082——暴鲤龙 0083——乘龙

0084——百变怪 0085——伊布

0086——水伊布 0087——雷伊布

0088——火伊布 0089——3D龙

008A——菊石兽 008B——多刺菊石兽

008C——万年虫 008D——镰刀虫

008E——化石翼龙 03007E28:008F——卡比兽

03007E28:0090——急冻鸟 03007E28:0091——闪电鸟

03007E28:0092——火焰鸟 03007E28:0093——迷你龙

03007E28:0094——哈克龙 03007E28:0095——快龙

03007E28:0096——超梦 03007E28:0097——梦幻

0098——菊草叶 0099——月桂叶

009A——大菊花 009B——火球鼠

009C——岩浆鼠 009D——暴焰兽

009E——小锯鳄 009F——蓝鳄

00A0——大力鳄 00A1——尾立

00A2——大尾立 00A3——小猫头鹰

00A4——猫头鹰 00A5——金龟虫

00A6——昆虫战士 00A7——独角蛛

00A8——大角蛛 00A9——叉字蝠

00AA——电灯鱼 00AB——大电灯鱼

00AC——皮丘 00AD——小皮皮

00AE——小胖丁 00AF——刺头蛋

00B0——刺头鸟 00B1——天然雀

00B2——天然鸟 00B3——电绵羊

00B4——电气羊 00B5——电气龙

00B6——美丽花 00B7——水鼠

00B8——大水鼠 00B9——伪装树

00BA——大水蛙 00BB——毽子草

00BC——毽子花 00BD——毽子棉

00BE——强尾猴 00BF——向日种子

00C0——向日葵花 00C1——花羽蜓

00C2——乌波 00C3——沼王

00C4——光依布 00C5——暗依布

00C6——暗乌鸦 00C7——呆呆兽王

00C8——梦妖 00C9——未知图腾

00CA——果然翁 00CB——双头长颈鹿

00CC——松果兽 00CD——核果兽

00CE——土龙 00CF——蝎子蝠

00D0——钢岩蛇 00D1——布鲁

00D2——布鲁皇 00D3——河豚

00D4——钢甲螳螂 00D5——壶壶龟

00D6——独角仙 03007E28:00D7——狃拉

00D8——姬熊 00D9——圈圈熊

00DA——小蜗牛 00DB——熔岩蜗牛

00DC——小猪怪 00DD——长毛猪

00DE——太阳珊瑚 00DF——怪蛙鱼

00E0——章鱼 00E1——企鹅

00E2——飞鱼怪 00E3——钢鸟

00E4——暗犬 00E5——地狱犬

00E6——海马龙 00E7——短脚象

00E8——轮子象 00E9——3D龙2

00EA——惊角鹿 00EB——图图犬

00EC——巴尔郎 00ED——卡波郎

00EE——迷唇娃 00EF——小电击兽

00F0——小鸭嘴火龙 00F1——奶牛

03007E28:00F2——幸福蛋 03007E28:00F3——雷皇

03007E28:00F4——炎帝 03007E28:00F5——水君

03007E28:00F6——幼甲兽 03007E28:00F7——蛹甲兽

03007E28:00F8——巨大甲兽 03007E28:00F9——路基亚

03007E28:00FA——凤凰 03007E28:00FB——雪拉比

0115——树蜥蜴 0116——森林蜥蜴

0117——蜥蜴王 0118——小火鸡

0119——斗火鸡 011A——火鸡战士

011B——小水狗 011C——水狗

011D——水狗王 011E——皮皮犬

011F——黑毛犬 0120——针鼠 0121——大飞鼠

0122——红毛虫 0123——小白蛹 0124——黄蝶

0125——小粉蛹 0126——毒蛾 0127——顶叶兽

0128——顶叶童 0129——乐天河童 012A——橡实果

012B——长鼻叶 012C——铁扇天狗 012D——钻地虫

012E——风速蝉 012F——鬼蝉 0130——麻燕

0131——大麻燕 0132——木果兽 0133——木生兽

0134——晕眩熊 0135——海鸥 0136——大嘴鹈鹕

0137——水蛛怪 0138——巨蛛怪 0139——皮皮鲸

013A——鲸鱼王 013B——小松鼠 013C——大松鼠

013D——变色龙 013E——土偶 013F——三土偶

0140——磁石怪 0141——熔岩乌龟 0142——地狱超人

0143——泥鳅 0144——龙鳅 0145——心形鱼

0146——奇亚蟹 0147——大利蟹 0148——丑丑鱼

0149——美丽龙 014A——三色鲨 014B——鲨鱼王

014C——大头怪 014D——小蜻蜓龙 014E——蜻蜓龙

014F——拳击兔 0150——相扑熊 0151——电气兽

0152——雷电兽 0153——喷火驼 0154——双峰喷火驼

0155——海象球 0156——大海象 0157——海象王

0158——仙人球 0159——恶魔仙人掌 015A——小头冰怪

015B——巨头冰怪 015C——月亮石 015D——太阳石

015E——小水鼠 015F——弹簧猪 0160——飞天猪

0161——正电兔 0162——负电兔 0163——巨嘴娃

0164——冥思兽 0165——佳雷木 0166——云雀

0167——大云雀 0168——果然宝宝 0169——钻墙鬼

016A——独眼鬼 016B——芭蕾玫瑰 016C——小懒猴

016D——狂猴 016E——大猩猩 016F——毒布丁

0170——毒布丁王 0171——香蕉飞龙 0172——音波兔

0173——噪音怪 0174——噪音王 0175——海贝

0176——大嘴鳗 0177——长睫鳗 0178——灾兽

0179——小失眠鬼 017A——失眠鬼 017B——钢尾蛇

017C——斩猫 017D——化石鱼 017E——钢甲虫

017F——钢甲犀牛 0180——钢甲暴龙

03007E28:0181——天气怪 03007E28:0182——母萤火虫 03007E28:0183——公萤火虫

03007E28:0184——化石花 03007E28:0185——化石巨花 03007E28:0186——化石蝎

03007E28:0187——化石巨蝎 03007E28:0188——感知兽 03007E28:0189——神知兽

03007E28:018A——圣护兽 03007E28:018B——宝贝龙 03007E28:018C——甲壳龙

03007E28:018D——血翼飞龙 03007E28:018E——铁哑铃 03007E28:018F——金属怪

03007E28:0190——钢螃蟹 03007E28:0191——岩神柱 03007E28:0192——冰神柱

03007E28:0193——钢神柱 03007E28:0194——海皇牙全部招式机机器

0153 秘传机01 0154 秘传机 02 0155 秘传机03 0156 秘传机04 0157 秘传机05

0158 秘传机06 0159 秘传机07 015A 秘传机08

0085 树果01 0086 树果02 0087 树果03 0088 树果04 0089 树果05

008A 树果06 008B 树果07 008C 树果08 008D 树果09 008E 树果10

008F 树果11 0090 树果12 0091 树果13 0092 树果14 0093 树果15

0094 树果16 0095 树果17 0096 树果18 0097 树果19 0098 树果20

0099 树果21 009A 树果22 009B 树果23 009C 树果24 009D 树果25

009E 树果26 009F 树果27 00A0 树果28 00A1 树果29 00A2 树果30

00A3 树果31 00A4 树果32 00A5 树果33 00A6 树果34 00A7 树果35

00A8 树果36 00A9 树果37 00AA 树果38 00AB 树果39 00AC 树果40

00AD 树果41 00AE 树果42 00AF 树果43

00FE 红手巾 00FF 篮手巾 0100 粉手巾 0101 绿手巾 0102 黄手巾

0103 风马自行车 0104 硬币盒子 0105 探宝器 0106 普通钓竿 0107 好钓竿

0108 超级钓竿 0109 船票 010A 比赛通行证 010C 皮皮鲸喷壶 010D 天力行李

010E 背包 010F 地下钥匙 0110 沙道自行车 0111 怪兽盒 0112 代后的信

0113 梦幻票 0114 红色玉石 9115 蓝色玉石 0116 探知器 0117 沙道眼睛

0118 陨石 0119 1室钥匙 011A 2室钥匙 011B 4室钥匙 011C 6室钥匙

011D 仓库钥匙 011E 木根化石 011F 指甲化石

0120 デボァスコ-ド 好像个背包?用处不明!大概是主角的包吧!

015D 邮包 015E 怪兽笛子 015F 火焰道馆钥匙 0160 自行车兑换卷 0161 假牙

0162 琥珀 0163 黄金室大楼钥匙 0164 火箭队钥匙 0165 菊石兽化石 0166 化石盔化石

0167 照妖眼镜 0168 自行车 0169 城市地图 016A 声音探测器?

016B 电话机? 016C 技能盒子 016D 树果袋子 016E 电视机

016F 1、2、3岛道船票 0170 彩虹船票? 0171 茶 0172 紫色的票?

0173 水底的票? 0174 收集瓶?(深蓝市老头家得到换东西的) 0175 红宝石

0176 蓝宝石 03007E28:0195——古拉顿

03007E28:0196——烈空龙 03007E28:0197——红水都 03007E28:0198——蓝水都 03007E28:0199——许愿星 03007E28:019A——迪奥西斯

03007E28:019B——风铃子HP 020241E6:03E7

HP 020241E8:03E7(HP上限)

攻击: 020241EA:03e7 防御: 020241EC:03e7 特攻: 020241EE:03e7

特防: 020241F0:03e7 敏捷: 020241F2:03e7

0001 大师球 0002 超力怪兽球 0003 超级球(比怪兽球更厉害些) 0004 怪兽球(普通的球) 0005 砂狐球(砂狐乐园专用球)

0006 触网球(容易抓水和虫类的怪兽) 0007 大布斯球(容易抓底的怪兽)

0008 尼斯道球(怪兽越弱越容易抓) 0009 利比道球(容易抓抓过的球)

000a 达伊玛球(回合数越长越容易抓) 000b 高基石球(抓到的怪兽变亲密)

000c 布雷密球(珍惜怪兽球)

道具

000d 伤药(体力恢复20) 000e 解毒药(恢复毒状态)

0010 解冻药(恢复冻状态) 0011 清醒药(恢复沉睡状态)

0012 麻痹恢复(恢复麻痹状态) 0013 恢复药(全恢复体力与所有状态)

0014 慢谈药(体力全恢复) 0015 伤药(体力恢复200)

0016 好伤药(体力恢复50) 0017 万能恢复(全部恢复)

0018 精神片(死亡恢复体力一半) 0019 精神草(死亡全恢复体力)

001a 美味水(恢复体力50) 001b 精神汽水(恢复体力60)

001c 米力液(恢复体力80) 001d 木木奶(恢复体力100)

001e 力量粉(恢复体力50,很苦粉,减底怪兽亲密度)

001f 力量根(恢复体力200,很苦根,减底怪兽亲密度)

0020 万能粉(全恢复状态,非常苦的粉,大大减低与怪兽的亲密度)

0021 复活草(死亡复活,很苦的草)

0022 pp艾依(1种技能值恢复10)

0023 pp力卡(1种技能值全恢复)

0024 ????????(?????)

0025 pp最大(1只怪兽的全部技能值全恢复)

0026 飞音饼(恢复全部异常状态)

0027 蓝玻璃(恢复沉睡状态,可用无限次)

0028 黄玻璃(恢复混乱状态,可用无限次)

0029 红玻璃(恢复颓废状态,可用无限次)

002a 黑玻璃(不遇野生怪兽)

002b 白玻璃(容易遇野生怪兽)

002c 树果汁(恢复体力20)

002d 圣是(死亡恢复全部体力,异常状态恢复)

002e 浅水盐(看看洞用的道具)

002f 浅水贝(看看洞用的道具)

0030 红碎片(换进化石的道具)

0031 蓝碎片(换进化石的道具)

0032 黄碎片(换进化石的道具)

0033 绿碎片(换进化石的道具)

0034—03e ????????(?????) 003f 最大上升(体力基础值提高)

0040 赞美语(攻击基础值提高) 0041 落海夫(防御基础值提高)

0042 因得西(敏捷基础值提高) 0043 立麦森(特攻基础值提高)

0044 奇异甜食(怪兽升1级) 0045 值上升(技能值的最大值上升)

0046 极道山果(德望基础值提高) 0047 值最大(技能值提高到最大)

0048 ?????????(?????)

0049 效果卡(战斗中…能避开对方的攻击,用于装备)

004a 清洗物(战斗中…容易命中要害,用于装备)

004b 布拉斯力量(战斗中…攻击力上升,用于装备)

004c 力道(战斗中…防御力上升,用于装备)

004d 敏捷力(战斗中…敏捷上升,用于装备)

004e 纪念打(战斗中…技能容易命中)

004f 特别上升(战斗中…特攻的威力上升,用于装备)

0050 皮皮木偶(在战斗中逃脱)

0051 小松鼠尾(在战斗中逃脱)

0052—05c ????????(?????)

005d 太阳石(让独特的怪兽进化) 005f 火焰石(让独特的怪兽进化)

0060 雷电石(让独特的怪兽进化) 0061 水石(让独特的怪兽进化)

0062 珊瑚石(让独特的怪兽进化)

0063—066 ????????(?????)

0067 小的树果(普通的树果容易成熟)

0068 大的树果(珍贵的树果难成熟)

0069 ????????(?????)

006a 珍珠(美丽的珍珠容易成熟)

006b 大珍珠(很美丽的大珍珠难成熟)

006c 星沙(美丽的红色的沙子)

006d 星星碎片(美丽的红宝石碎片)

006e 金珠(金星)

006f 心灵碎片(可以恢复忘却的技能)

0070—078 ????????(?????)

0079 彩色邮件(针鼠模样的信件)

007a 哈伯邮件(海鸥模样的信件)

007b 闪光邮件(皮卡丘模样的信件)

007c 机械邮件(小磁怪模样的信件)

007d 鸟烟邮件(食叶兽模样的信件)

007e 十字邮件(皮皮鲸模样的信件)

007f 珍贵邮件(有持有怪兽模样的信件)

0080 阴影邮件(钻墙怪模样的信件)

0081 热带邮件(美丽花模样的信件)

0082 花边邮件(有持有怪兽模样的信件)

0083 神奇邮件(豪华的信件)

0084 怀旧邮件(3只怪兽的信件)

java 创建一个LOL中的英雄类和怪物类 初学者,求大神指点

static class Hero{ //英雄类

private String name;//英雄的名字

private Integer experience;//经验值

private Integer level; //英雄等级

private Integer attack; //攻击力

public Hero(String name){ //新建英雄的构造方法

this.name = name;//输入名字

this.experience = 0;//初始经验值为0

this.level = 1;//初始等级为1

this.attack = 100;//初始攻击力为100

}

public void AttackMonster(Monster monster){ //攻击怪物的方法

System.out.println("英雄"+this.name+"攻击"+monster.getName()+"造成"+this.attack+"点伤害");

Integer hp = monster.getHealthPoint();//怪物被攻击前血量

if (hp  this.attack) { //判断 如果怪物的血量大于攻击力

hp = hp - this.attack;//怪物的血量 就减少攻击力的点数

} else { //如果怪物的血量 等于或者小于攻击力

hp = 0; //怪物血量为0 死亡

}

monster.setHealthPoint(hp); //改变怪物被攻击后的血量

System.out.println("怪物剩余血量"+hp);

if (hp == 0  this.level 18){ //如果怪物死亡 且英雄等级没有达到最高的18级

System.out.println("英雄"+this.name+"的经验值增加"+monster.getExperience()+"点");

this.experience = this.experience + monster.getExperience(); //英雄的经验值 增加

if (this.experience = level * 100){ //设定 英雄升级所需经验值为 等级*100  如果英雄增加后的经验值达到升级条件

this.experience = this.experience - level*100; //经验值减去当前升级需要的经验值 溢出的进入下一个等级经验

this.level = this.level + 1;//英雄等级 +1

this.attack = this.attack + 20; //设定 每升一级英雄攻击力 +20

System.out.println("英雄"+this.name+"升级了,等级+1,攻击力+20,当前等级"+this.level+",当前攻击力"+this.attack);

}

}

}

//获取英雄名字的方法

public String getName() {

return name;

}

//改变英雄名字的方法

public void setName(String name) {

this.name = name;

}

//获取英雄当前经验值的方法

public Integer getExperience() {

return experience;

}

//改变英雄当前经验值的方法

public void setExperience(Integer experience) {

this.experience = experience;

}

//获取英雄当前等级的方法

public Integer getLevel() {

return level;

}

//改变英雄当前等级的方法

public void setLevel(Integer level) {

this.level = level;

}

//获取英雄当前攻击力的方法

public Integer getAttack() {

return attack;

}

//改变英雄当前攻击力的方法

public void setAttack(Integer attack) {

this.attack = attack;

}

}

static class Monster{ //怪物类

private String name; //怪物的名字

private Integer healthPoint;//生命值

private Integer level;//怪物等级

private Integer experience; //怪物的经验值

public Monster(String name,Integer level){ //创建怪物的构造方法 参数 名字,等级

this.name = name; //初始化怪物的名字

this.level = level; //初始化怪物的等级

this.healthPoint = level * 1000; //初始化怪物的血量

this.experience = level * 10;//初始化怪物的经验,英雄杀死后可获得,设定怪物经验值为等级*10

}

public Integer getHealthPoint() {

return healthPoint;

}

public void setHealthPoint(Integer healthPoint) {

this.healthPoint = healthPoint;

}

public Integer getLevel() {

return level;

}

public void setLevel(Integer level) {

this.level = level;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getExperience() {

return experience;

}

public void setExperience(Integer experience) {

this.experience = experience;

}

}

public static void main(String[] args) throws Exception {

Hero hero = new Hero("德玛西亚之力"); //新建一个英雄

Monster monster = new Monster("小兵",1);//新建一个小兵

do {

hero.AttackMonster(monster); //攻击怪物

}while (monster.getHealthPoint() != 0);  //如果怪物没死 一直攻击

}


当前文章:打怪兽代码Java,中文打怪兽
本文来源:http://6mz.cn/article/hcceee.html

其他资讯