Mitte Projekt hier und auf der Suche nach einem schnellen und schmutzigen Weg aus einer klebrigen Situation.Karte Ratespiel, zweite Karte wird nicht mittleren Faden zeichnen
Das Spiel sieht so aus. Um zu spielen, klicken Sie auf eine Karte und dann auf eine andere, und wenn sie übereinstimmen, bleiben beide angezeigt. Match all und Spiel ist vorbei.
In meinem Fall, wenn ich eine Karte angezeigt, wenn der Benutzer die zweite Karte auswählt, die Verarbeitungslogik, sollte die Karte gesetzt sichtbar und nur dann prüfen, wenn es eine Übereinstimmung gibt. Und wenn nicht, schicke die Karte zurück auf das alte Bild.
Dieser Code, hoffe ich, hilft Ihnen zu verstehen, was ich versuche zu tun.
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);
}
}
});
}
Das Endergebnis, wie es steht, ist die Anwendung ändert sich das Bild überprüft Spiel zu zeigen, wenn keine Übereinstimmung Änderungen nicht zeigen. Und erst danach wird die Schnittstelle erneut mit den neuen Werten gezeichnet, sodass sie für den Endbenutzer, wenn keine Übereinstimmung vorhanden ist, niemals die "falsche" Kachel sehen, da sie auf "nicht anzeigen" zurückgesetzt wird.
Vielen Dank im Voraus und bitte korrigieren Sie mich, wenn die Frage hätte besser gestellt werden können.
Bitte senden Sie keine Screenshots des Codes. Bitte posten Sie den gesamten Text als Text. –
Entschuldigung, ich bin noch relativ neu hier. Ich werde versuchen, die Regeln zu finden und zu lesen. – JoshuaTree