Möglichkeit einen Vorgang immer wieder zu wiederholen in C#?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Nein, in dem Fall prüft man das nicht immer wieder, sondern nach jedem Zug. Ein asynchroner Thread ist dafür sicher nicht nötig. Du hast doch sicher Code, der ausgeführt wird, sobald der Text in einer Textbox verändert wird. Normalerweise gibt es sowas wie ein Event OnTextChanged oder so dafür (Stichwort).


EnderLuca 
Fragesteller
 14.08.2020, 19:29

hab es jetzt so gelöst das jedes mal wenn in einer der Textboxen der text verändert wird abgefragt wird ob einer der spieler gewonnen hatt.

0

Warum regelmäßig prüfen?
Prüfe doch nach einem Zug, ob der ziehende Spieler nach dem Zug gewonnen hat.

Und dass die UI blockiert, ist normal, dafür musst Du asynchron arbeiten.
Guckst Du Mal da: https://mycsharp.de/wbb2/thread.php?threadid=27992
Das ist zwar für WinForms, das Grundprinzip ist aber ähnlich, mitlerweile gibt's da aber noch eine Vereinfachung: Tasks und das async/await-Feature.

Woher ich das weiß:Berufserfahrung

EnderLuca 
Fragesteller
 14.08.2020, 19:13

Ich habe das Programm mit Textboxen gemacht da geht das nicht

0
Palladin007  14.08.2020, 19:18

PS:

Regelmäßiges Prüfen schreit nach einem Timer.
Damit hättest Du dann auch das UI-blockt-Problem nicht mehr.

Aber wie gesagt:
Du musst nicht regelmäßig prüfen.

0
EnderLuca 
Fragesteller
 14.08.2020, 19:30
@Palladin007

hab es jetzt so gelöst das jedes mal wenn in einer der Textboxen der text verändert wird abgefragt wird ob einer der spieler gewonnen hatt.

0