ここでは中プロジェクトで、スティッキーな状況から素早く汚い方法を探しています。カード推測ゲームでは、セカンドカードは中間のスレッドを描画しません
ゲームはこのようになります。再生するには、カードをクリックして別のカードをクリックし、一致する場合は両方が表示されたままになります。すべて一致し、ゲームは終了しました。私は1枚のカードが示されている私の場合
、ユーザが第2カード処理ロジックを選択した場合、目に見える、一致がある場合だけにして、チェックするカードを設定する必要があります。そうでない場合は、カードを古い画像に戻します。
このコードは、私がしようとしていることを理解するのに役立ちます。
gridLayout.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//HOW DO I FORCE THE INTERFACE TO REDRAW BEFORE CONTINUING THE THREAD?
engine.setCardStateToShow(position);
gridLayout.invalidate();
gridLayout.invalidateViews();
try{
Thread.sleep(1000);
}catch (Exception x){
}
//DETERMINE IF THE CARDS MATCH AND IF NOT -- SET CARD INVIS
String message = engine.itemClicked(position, gridLayout);
Toast.makeText(getApplication(), message, Toast.LENGTH_SHORT).show();
//If engine returns a value of WASWINNER, we can end the activity and end the game.
if (message.equals(GameEngine.WASWINNER)) {
startActivity(endActivity);
}
}
});
}
最後の結果は、アプリケーションが画像を表示するように変更し、一致するものがない場合は表示しないように変更することです。その後、新しい値でインターフェイスを再描画するので、エンドユーザーには一致しなかった場合、「間違った」タイルは表示されません。これは「表示しない」に戻されるためです。
ご質問ありがとうございました。ありがとうございました。
コードのスクリーンショットを投稿しないでください。すべてのテキストをテキストとして投稿してください。 –
申し訳ありませんまだ私はまだ比較的新しいです。私はルールを見つけて読むことを試みます。 – JoshuaTree