
現在、勉強のためJavaを使ってポケモンのバトルシステムのデモを作成しています。
ポケモンの技を実装したいのですが、ポケモンの技の内容(処理内容)にバリエーションが多すぎて困っています。
多かれ少なかれ、技には似たような性質があるのでポリモーフィズムを使えばよいと思っているのですが、
「次のターン必ず相手がねむる」
「相手の攻撃をすべて自分に向ける」
「敵に同じ技をださせなくする」
など、イレギュラーな要素も多くて実装方法に困っています。
どのようにすればスマートに実装できるか、お力を貸して頂けたら幸いです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>それとも、プログラム自体をデータベースに登録するということでしょうか?
そんなわけはない。
>イレギュラーの要素に対応しようとすると属性が増えたり正規化が辛そうだと考えたのですが
イレギュラーが発生する値は単純に○%とかでいいのでは?
パソコンが故障していたため返信がおくれてしまいました、すみません。
イレギュラーというのはクラスの構造的なもので、技をによって色々なデータが必要になるとポリモーフィズムも意味がなくなるのではないか、という意味でした。
説明不足でした。
地道に少しずつ実装していくことにします。
ありがとうございました。
No.2
- 回答日時:
>いっそのこと 「skill パッケージに全スキル手書きでプログラム書いてしまう」というのも手だと思います。
個人的にはここはデータベースを利用するかな。
ご回答ありがとうございます。
DBの利用も考えたのですが、イレギュラーの要素に対応しようとすると属性が増えたり正規化が辛そうだと考えたのですが、その程度ならDB構築としては許容範囲内でしょうか?
それとも、プログラム自体をデータベースに登録するということでしょうか?
No.1
- 回答日時:
interface BattleSkill {
void act( BattleCondition cond )
}
という感じで、戦闘の状況を自由にいじれるようにしておくとよいのではないでしょうか。同じようなものをまとめても構いませんが、逆に複雑化する可能性があるので、いっそのこと 「skill パッケージに全スキル手書きでプログラム書いてしまう」というのも手だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(アニメ・マンガ・特撮) よく分からない事がギネスに載る事ってありませんか? 15 2022/07/11 03:56
- 医師・看護師・助産師 看護専門学校の入学志望動機の添削をお願い致します(400~800字以内) 2 2022/07/17 14:39
- 戦争・テロ・デモ 防衛予算が大きく増額されます。 お金だけで国防ができるわけがありません。 兵隊、戦闘機、戦艦、タンク 21 2022/12/17 22:54
- 携帯型ゲーム機 ポケモン新作なんで毎回低クオリティなのか? 新作ポケモンの新トレーラーが公開されましたが、見るやいな 3 2022/06/01 22:38
- その他(教育・科学・学問) 大学理系研究室における器材の貸し出しや取り決めについて 1 2022/12/01 22:04
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- その他(教育・科学・学問) 大学実験器材の貸し出しルール 1 2022/12/05 16:23
- 都市伝説・怖い話 イルミナティ・ディープステイト・ㇵザールマフィアの回し者である関暁夫君がやりすぎ都市伝説 1 2022/12/23 22:26
- 教育・学術・研究 情報系の学部で卒業研究中の大学四回生です。 現在、卒業研究中なのですが不安に感じることがあるので質問 2 2022/09/09 00:19
- 倫理・人権 日本の技能実習制度って何ですか? 事実上の奴隷制度ではないでしょうか?形骸化してますよね? 3 2022/06/13 20:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
初級者の質問――time_tについて
-
c言語 コマンドライン引数
-
Directshowのサンプルを利用して
-
C言語について。
-
USBポートを用いたプログラムの...
-
指定したフォルダーを最前面表...
-
デュアルCPUでのプログラミング...
-
VBAのプログラムが動いているか...
-
C++ Builder6 をふたたび動か...
-
XPathの関数「text()="value"」...
-
VBA
-
Visual Studio .NET C# でDLLを...
-
三次元のグラフを書きたいので...
-
プログラミングの問題です。写...
-
c言語についてで、星占いをswit...
-
作ったプログラムがすぐに閉じ...
-
C言語primeについて
-
プログラムってコードに性格っ...
-
コンパイルエラーの意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
プロダクションコードとは?
-
マイコンからプログラムを読み...
-
指定したフォルダーを最前面表...
-
初級者の質問――time_tについて
-
COBOLのS9タイプからXタイプへ...
-
Arduino nano(アルドゥイーノ ...
-
i-mode
-
無限ループ中にある任意のキー...
-
三次元のグラフを書きたいので...
-
2値化した画像の黒い部分のピク...
-
XPathの関数「text()="value"」...
-
DCOMのアプリで配布用プロ...
-
マウスカーソルの表示・非表示
-
C言語primeについて
-
世界一美しいソースコード
-
gccでスタックオーバーフローの...
-
VBAのプログラムが動いているか...
-
openGLで物体を半透明にして表...
-
cとVisual Basic
おすすめ情報