我正在为 4 名玩家(3 名机器人和 1 名人类)设计一款适用于 android 的纸牌游戏,我想知道考虑到 UI 和游戏计算的正确方法。以下是两种方法,哪一种更好?
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-第二个选项是让循环在后台线程上运行,但每个玩家的计算都在一个线程中
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() (在播放之间暂停)。
有什么想法吗 ?甚至更好的想法?谢谢