-2
// 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{
} 

上記のコードは、私が開発しているロール プレイング ゲームの OOP クラスであり、各クラスの一般的な状態と動作を考えるのに苦労しています。

問題

  • これらのクラスを作成するにはどうすればよいですか (私は OOP の初心者です)。カプセル化、多形性などを聞いたことがあります。
  • インターフェイス、アブストラクトなどを適切に使用する方法がわかりません。
  • クラスの一般的な状態と動作を考える
  • 武器クラスでわかるように。銃、剣、弓は、近接、範囲、さらには魔法として使用できます。そして、これらを WeaponType と呼ぶ必要がありますか? (範囲、近接、魔法)
4

2 に答える 2

2

クエリに一行ずつ答えましょう

これらのクラスを作成するにはどうすればよいですか (私は OOP の初心者です)。カプセル化、多形性などを聞いたことがあります。

OOPS の理解がなければゲームを開発することはできません。抽象化/カプセル化/Polymerphsim/継承を理解するのに時間を費やしてください。

インターフェイス、アブストラクトなどを適切に使用する方法がわかりません。

それらが何を意味するかを知っていれば、それらを必要とする場合にいつ、どのように使用するかを決定できるでしょう。

クラスの一般的な状態と動作を考える 武器クラスでわかるように。銃、剣、弓は、近接、範囲、さらには魔法として使用できます。そして、これらを WeaponType と呼ぶ必要がありますか? (範囲、近接、魔法)

この場合、抽象メソッドとして型を持つ Weapons と呼ばれるインターフェースを持つことができます。それらを継承し、攻撃力、強さなどの各武器の武器プロパティを変更できます。もちろん、OOPS の概念を理解する必要があります。 . すぐに学習できる場合は、このビデオから始めてください。

于 2016-07-08T11:47:36.627 に答える