我正在设计一款由4名玩家(3个机器人和1个人)玩的机器人游戏 考虑到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()(在玩游戏之间暂停)。
有什么想法?甚至更好的想法? 谢谢
答案 0 :(得分:0)
我会建议第一个选项。因为在你的游戏中,玩家可以一个接一个地玩。