私は4人のプレイヤー(3人のボットと1人の人間)がプレイするAndroid用のカードゲームを設計しています。UIとゲームの計算を考慮して、これを行うための正しいアプローチについて疑問に思っています。以下は2つの方法ですが、どちらが良いでしょうか?
1-すべてのプレーヤーをループして画面を一致して更新するスレッド(またはassignTask)を開始します
void doInBackground(){
for (i=0;i<13;i++){
player1.play();
//update GUI
thread.sleep(1000);
player2.play();
//update GUI
thread.sleep(1000);
player3.play();
//update GUI
thread.sleep(1000);
player4.play();
//update GUI
thread.sleep(1000);
}
}
2- 2番目のオプションは、バックグラウンドスレッドでループを実行することですが、各プレーヤーの計算はスレッド内で行われます。
void OnCreat(){
.
.
.
.
for (i=0;i<13;i++){
new thread().execute(player1.play());
new thread().execute(player2.play();
new thread().execute(player3.play();
new thread().execute(player4.play();
}
}
プレーヤー2がプレーヤー1の前に再生されないことを確認する必要がないという理由だけで、最初のオプションの方が良いと思います。さらに、再生の間にthread.sleep()を実行できます(再生の間に一時停止を与えるため)。
何かご意見は ?またはさらに良いアイデア?ありがとうございました