0

だから私は、プレーヤーがマップを歩き回って物を集めることができる小さなゲームを作っていますが、ランダムに動くボットに出くわすこともあります. プレイヤーがボットの隣に立ち、「戦う」をクリックすると、ボットが健康を失うようにしようとしています。

これを行う唯一の方法は、bot クラスで ActionListener を作成することです。そのため、プレイヤーが隣のタイルにいて「戦う」をクリックすると、ボットは体力を失うような「if」ステートメントを作成しようとしています。しかし、私は ActionListener を使用したことがなく、多くの例を見てもまだ理解できません。

マップ上のボットの座標は「ycord」と「xcord」で、プレーヤーは「P」で表されます。

こういう言い方はありますか...

if(map[ycord+1][xcord].equals("P") && 'fightbutton' is pressed){
                bot.health--;

どうもありがとう!

4

1 に答える 1

0

ActionListener を使うべきではないと思います。ActionListeners は、アクションを作成するインスタンス (プレイヤーの場合) に「登録」する必要があります。したがって、すべてのボットはすべてのプレイヤーに ActionListener を登録する必要がありますが、これは (私の意見では) 少し面倒です。

代わりに、優れたインスタンスによって実行されるhitBy(Player)メソッドを作成するだけです。格闘プレイヤーは次のようなことを行い、ゲームは近くのボットを検索して実行します。これは、すべてのボットを含むリストを反復処理するだけで実行できます。このリストは で利用できるはずです。BotGamegame.madeHit(this)bot.hitBy(player)Game

于 2013-04-12T14:28:07.967 に答える