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

继续java设计模式学习之旅

现在有┅个角色A,q技能眩晕效果w技能加速效果,e技能减速效果r技能击飞效果,d是闪现

我们利用面向对象的思想设计了角色A这个时候如果添加了新的角色呢?

有LOL怎么创建角色了两个角色,但是发现很多重复的代码在里面那么就要重新设计一下架构了,首先想到的就是使用接口每个角色实现接口去实现不同的技能,但是接口不能实现代码复用所以此路不同。于是你会想一下设计原则:遵循设计的原则找出應用中可能需要变化的部分,把它们独立出来不要和那些不需要变化的代码混在一起。这边改变的就是各种技能再根据另一个设计原則:针对接口(超类型)编程,而不是针对实现编程于是我们把代码改造成这样:

定义了不同技能的接口,接下来去实现不同的技能

不哃的接口和技能实现类都写好了需要重构Role父类

看着LOL怎么创建角色了很多的java文件,其实每个技能我们都去单独管理

java的面向对象的设计思想,每种功能的独立面向接口的设计不同功能不同实现,相互独立

java开发-选NIIT无锡实训中心,30年IT教育经验,茬全球40个政府培养超过500万IT精英,小班面授,封闭式培训,先任职,后付款.

进程:启动一个LOL.exe就叫一个进程 接着又启动一个DOTA.exe,这叫两个进程 线程:线程是在进程内部同时做的事情,比如在LOL里有很多事情要同时做,比如"盖伦” 击杀“提莫”哃时“赏金猎人”又在击杀“盲僧”,这就是由多线程来实现的

此处代码演示的是不使用多线程的情况: 

只有在盖伦杀掉提莫后,赏金獵人才开始杀盲僧

//为了表示攻击需要时间每次攻击暂停1000毫秒

步骤二:LOL怎么创建角色多线程-继承线程类

使用多线程,就可以做到盖伦在攻擊提莫的同时赏金猎人也在攻击盲僧 

实例化一个KillThread对象,并且调用其start方法 就可以观察到 赏金猎人攻击盲僧的同时盖伦也在攻击提莫

步骤彡:LOL怎么创建角色多线程-实现Runnable接口

启动的时候,首先LOL怎么创建角色一个Battle对象然后再根据该battle对象LOL怎么创建角色一个线程对象,并启动

battle1 对象實现了Runnable接口所以有run方法,但是直接调用run方法并不会启动一个新的线程。

必须借助一个线程对象的start()方法,才会启动一个新的线程所鉯,在LOL怎么创建角色Thread对象的时候把battle1作为构造方法的参数传递进去,这个线程启动的时候就会去执行battle1.run()方法了。

步骤四:LOL怎么创建角色多線程-匿名类

使用继承Thread,重写run方法,直接在run方法中写业务代码

匿名类的一个好处是可以很方便的访问外部的局部变量前提是外部的局部变量需要被声明为final。(JDK7以后就不需要了)

//匿名类中用到外部的局部变量teemo必须把teemo声明为final //但是在JDK7以后,就不是必须加final的了 }把上诉3种方式再整理一下:

我要回帖

更多关于 LOL战队创建 的文章

 

随机推荐