Java OOP-一般的角色扮演游戏类
上面的代码是我正在开发的角色扮演游戏的OOP类,我很难思考每个类的一般状态和行为 问题Java OOP-一般的角色扮演游戏类,java,oop,generalization,Java,Oop,Generalization,上面的代码是我正在开发的角色扮演游戏的OOP类,我很难思考每个类的一般状态和行为 问题 我如何创建这些类(我是OOP的初学者)。我听过一些封装等 我不知道如何正确使用界面、抽象等 关于类的一般状态和行为的思考 正如你在武器课上看到的。枪、剑、弓可以用作近战、射程甚至魔法。我应该称这些为WeaponType吗?(射程、近战、魔法) 让我们逐行回答您的问题 我如何创建这些类(我是OOP的初学者)。我听说过一些 封装、多态性等 如果你对OOPS没有透彻的了解,你就无法开发一款游戏。花一些时间来理解抽
- 我如何创建这些类(我是OOP的初学者)。我听过一些封装等
- 我不知道如何正确使用界面、抽象等
- 关于类的一般状态和行为的思考
- 正如你在武器课上看到的。枪、剑、弓可以用作近战、射程甚至魔法。我应该称这些为WeaponType吗?(射程、近战、魔法)
- 让我们逐行回答您的问题
我如何创建这些类(我是OOP的初学者)。我听说过一些
封装、多态性等
如果你对OOPS没有透彻的了解,你就无法开发一款游戏。花一些时间来理解抽象/封装/多边形/继承
我不知道如何正确使用界面、抽象等
也许如果你知道这些是什么意思,你就能够决定何时以及如何使用它们,如果你需要它们的话
思考您可以看到的类的一般状态和行为
在武器类。枪、剑、弓可以用作近战、射程、,
甚至是魔法。我应该称这些为WeaponType吗?(射程、近战、魔法)
在这种情况下,您可以拥有一个名为“武器”的接口,其类型作为抽象方法。您可以继承它们,并更改每种武器的武器属性,如攻击力、强度等。当然,您还需要了解OOPS概念。
如果你对复杂的设计(如游戏)学得很快,我建议你学习更好的界面和抽象类。然后我建议你画一个游戏模型的UML图。 武器可以是带有fire()方法的接口,所有实现该接口的武器都有自己的fire()方法
对于一个好的设计,我也建议好好学习设计模式。如果你做了一个好的游戏设计,在未来将很容易扩展你的游戏与新功能 旁注:这是
class Foo
而不是Foo class
也许你可以从阅读一些教程开始,比如,这个问题太宽泛了,因为你有正确的标签吗?这肯定不是Java源代码?!对不起,只是打错了。再说:你的问题太广泛了。你基本上放弃了很多要求和想法,然后你要求我们向你解释如何做到这一切。对不起,stackoverflow不是这样工作的。我给你的一个一般性答案是:搜索“敏捷原则Robert Martin pdf”;下载并阅读。我不明白“武器”是如何成为一种状态的。
// in general, it could be potion, armor, weapon, etc.
Item class {
// states
id
name
// behavior
set, get of states here..
use()
// still thinking what is the other general behavior
}
// in general, it could be Gun,Sword,Wand, Bow (range,melee,magic)
Weapon class extends Item{
// gun - fire(); type: range (in the movie, the gun can be use as melee weapon too xD)
// sword - slash(); type: melee (in the movie, the sword can be thrown :) or use as magic wand?)
// wand - ??
// mace - bash();
// bow - shoot() ??
// so what is the general behavior of this weapon?
}
Bag class {} // parent is Item, collection of items here
// Human, Orc, etc
Character class {
// states
Weapon
// behavior
attack();
// still thinking what is the other behavior and states
}
// Swordsman, Magician, Archer, etc.
Hero class extends Character{
}