我创建了一个井字游戏应用程序(在此处的问题中提到)。现在我在这部分使用石头剪刀布。现在我的做法是有 3 个对应于石头、纸、剪刀的按钮和一个在每个玩家做出选择时必须按下的按钮。在内部,当按下任何石头/纸/剪刀按钮时,一条消息被发送,它被处理程序接收并存储到另一个设备上的字符串中。当玩家按下第 4 个按钮时,游戏会执行逻辑并显示结果。
现在我想摆脱第四个按钮。也就是说,当我按下石头/剪刀/剪刀时,它应该等待其他玩家做出选择,或者如果他已经做出选择,则立即显示结果。我怎样才能做到这一点?无论如何要等待处理程序接收消息(忙于等待除外)?这是我的处理程序的代码:
static Handler receiveChoice = new Handler() {
@Override
public void handleMessage(Message msg) {
int numOfBytesReceived = msg.arg1;
byte[] buffer = (byte[]) msg.obj;
String strReceived = new String(buffer);
strReceived = strReceived.substring(0, numOfBytesReceived);
opponentChoice = strReceived;
}
};