fb:porticula NoPaste
Algorithmus Rundensystem
Uploader: | ALWIM |
Datum/Zeit: | 06.06.2012 22:08:30 |
Hinweis: Dieser Quelltext ist Bestandteil des Projekts Schachturnierorganisationsprogramm, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.
dim shared as integer spieler,runden,ppr,startwert
redim shared as integer paarungen(1 to 1, 1 to 2)
declare sub ErstellePaarungen (runde as integer)
input "Anzahl Spieler:",spieler
if spieler<3 then end
if spieler/2 <> int(spieler/2) then spieler +=1' wenn ungerade um eins erhöhen
runden=spieler-1
ppr=spieler/2 'Partien pro Runde
redim paarungen(1 to ppr, 1 to 2)
startwert=1
for r as integer=1 to runden
ErstellePaarungen (r)
print "R" & r & ": ";
for i as integer=1 to ppr
print paarungen(i,1) & "-" & paarungen(i,2) &" ";
next i
print
startwert=paarungen(ppr,2)
next r
sleep
end
sub ErstellePaarungen (runde as integer)
dim as integer rotation
rotation=startwert
for i as integer=1 to ppr
paarungen(i,1)=rotation
rotation +=1
if rotation>runden then rotation=1
next i
for i as integer=ppr to 2 step -1
paarungen(i,2)=rotation
rotation +=1
if rotation>runden then rotation=1
next i
paarungen(1,2)=spieler
if runde/2 = int(runde/2) then swap paarungen(1,1),paarungen(1,2)' bei jeder geraden Runde erstes Paar tauschen
end sub