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