0

プレーヤーとランダムに動くボットを含む非常に単純な Java ゲームを作成しました。プレイヤーはボタンを押してボットをマップに追加できます。これにより、ボットの新しいスレッドが作成されます。

だから、それはこのようなものに見えます...

Thread newBotThread = new Thread(new Runnable(){

            public void run(){

ボタンを数回押すと、いくつかのボットが作成されますが、それらはすべて「newBotThread」というスレッド名で実行されますか? プレイヤーがボットとやり取りできるようにする関数を追加しています。スレッドはすべて同じ名前ですが、スレッドを区別する方法はありますか? では、1 つのボットを停止し、他のボットは続行できますか?

どうもありがとう!

4

2 に答える 2

0

簡単な答え: スレッドの名前を設定するメソッド Thread#setName(String) とコンストラクタ Thread(String) があり、start() メソッドを呼び出す前に設定する必要があります。

長い答え: この名前を使用してボットを制御するべきではありません。go()、stop()、continue() などのメソッドを含む Runnable を実装するクラスを作成することをお勧めします。また、これらのクラスの新しいインスタンスを作成するたびに、どこかに参照を保持します (Map または BotManager など)。または何でも)また、おそらくExecutorでそれらを実行する必要があります。あくまで私の意見

于 2013-04-15T23:02:12.687 に答える