Thread Denkfehler in while? (29 answers)
Opened by Ichhalt at 2016-11-21 08:18

Ichhalt
 2016-11-23 09:57
#185641 #185641
User since
2016-10-10
30 articles
BenutzerIn
[default_avatar]
Danke Crian für Deine Zeit, die Du dem Problem entgegen bringst.
Tatsache ist aber, dass ja durch das Schweizer System vorgegeben ist, dass einfach der, sagen wir einfach mal Erste, gegen den nächstplatzierten Schlechteren spielen muss gegen den er noch nicht gespielt hat.
Dadurch sollte das ja möglich sein, zumindest eine Mindestrundenzahl zu spielen OHNE dass dieses Problem auftritt....

Eigentlich ja so definiert, dass mindestens die gleiche Rundenanzahl gespielt wird, abhängig von der Teilnehmerzahl, wie Runden im KO System benötigt werden würden - nur um eine größere Genauigkeit im Mittelfeld zu erreichen müssten mehr Runden gespielt werden ...

Da wir davon ausgehen, dass die Mindestrundenzahl der des KO Systems entspricht und auch nicht mehr gespielt werden soll, sollte es eigentlich ja kein Problem geben... solange ich VORHER überprüfen kann, ob das Feld aufgeht in der Runde x ... also nachdem die Runden x-n schon gespielt wurden.

Gehe ich von sagen wir 4 Spielern aus, sollte eine max Rundenzahl von ((4*4)-4)/2 also 6 Runden zu spielen sein was einem RoundRobin System entsprechen würde.
Da wie gesagt aber ja die Tabelle eine Rolle spielt und nur immer ungefähr gleichstarke Gegner gegeneinander antreten sollten, sollte eine Rundenzahl von 2 ausreichend sein.

Daher sollte es wie schon gesagt kein Problem geben ... aber das zu verhindern was ich beschrieben habe, also dass wenn ich die Liste leere eben 2 übrigbleiben, die schon gegeneinander gespielt haben, brauche ich eben eine Lösung das Spielfeld der Runde x VOR VERÖFFENTLICHUNG zu prüfen und notfalls neu zu arrangieren ... im Rahmen dessen was mir durch die Tabelle vorgegeben ist ... und da scheitere ich im Moment ...

Eigentlich müsste ich das doch über einen rekursiven Aufruf der Subroutine klären können fällt mir gerade ein - lieg ich da falsch?
Paarungen zusammenstellen - geht nicht
Routine sich selbst aufrufen lassen und dabei eine Elementverschiebung im mittleren Bereich vornehmen.
Im mittleren Bereich, da hier die meisten Spieler zu finden sind die auf ungefähr gleichem Level spielen ...

Hmmmmm - das versuch ich jetzt mal umzusetzen ...

LG und Danke
Ichhalt

View full thread Denkfehler in while?