K.Maebashi's BBS 削除ページ

以下の投稿を削除します。

[314] Re:書き方覚えて後から理解
返信
投稿者:(ぱ)
2007/02/20 02:13:25

私はそもそもRPGをろくすっぽやったこともないんですが。 # 家庭用ゲーム機持ってないもんで… # 大昔、PC1500版labyrinthを作ろうとして挫折した記憶が(以下略) > これもまた面倒で、明らかに敵のグループを選択して魔法を撃つ場合と、 > フィールド上で「ボカーン!」と爆発する魔法を撃つ場合を考えないと > いけないでしょうね。(後者は味方の巻き添えもありえますし)  プロのゲームプログラマさんの投稿ありがとうございます。  こういうのは、いわゆる「教科書的なOO」が適用できないケースですよね。 RPGに限らず、CADなどでも、例外的な事象はいくらでもあるわけで。  ユーザが画面上である座標をクリックしたとき、最寄の図形を選択したいわけですが、 ・「折れ線」の上に「中間点(vertex)」がある場合、vertexを優先して検出したい。 ・せっかく直線を選択したのなら、クリックした座標から下ろした垂線の足も  検出したい。  とかの要望も出てきて、  Shape#distance(double x, double y)  をいろんなShapeでオーバーライドすれば完璧! とはなかなかならないのが現実です。 > ですからAttackTo(Enemy)と書いた場合でも、内部的にはEnemy.DamageFrom(This)と >書いて、Enemy側で「その攻撃が本当にダメージになるか」などを判断する必要が >あるのじゃないかと思います。  このへんは、ダブルディスパッチ(いや、Character→Arm→Enemyのトリプル ディスパッチかな)でいけそうな気がしますが、どうなんでしょうか。
パスワード:

管理者削除