Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 19.07.2012, 23:18 Titel: |
|
|
edit: vielleicht solltest du beide Drehrichtungen einbauen.
auf diversen Seiten im WWW wird im Uhrzeigersinn rotiert.
Ich hab keine Ahnung wie es in der Praxis gehandhabt wird:
Code: | dim shared as integer spieler,runden,ppr,merkespieler,rotation,r,i
redim shared as integer paarungen(1 to 1, 1 to 2)
input "Anzahl Spieler:",spieler
if spieler<3 then end
''Partien pro Runde,Rundenzahl festlegen
if (spieler mod 2) = 0 then'bei gerader Spielerzahl
runden=spieler-1
ppr=spieler/2
else 'bei ungerader Spielerzahl
runden=spieler
ppr=(spieler-1)/2
end if
redim paarungen(1 to ppr, 1 to 2)
'Rutschen gegen Uhrzeigersinn
rotation=1 'Startspieler für Rotation festlegen
for r as integer=1 to runden
if (spieler mod 2) = 0 then 'gerade Spielerzahl
'Spieler mit höchster Nummer an Brett 1 "unten"
paarungen(1,2)=spieler
'"obere" Spieler setzen
for i=1 to ppr
paarungen(i,1)=rotation
rotation +=1
if rotation>(spieler-1) then rotation=1
next i
'restliche "untere" Spieler setzen
for i=ppr to 2 step -1
paarungen(i,2)=rotation
rotation +=1
if rotation>(spieler-1) then rotation=1
next i
rotation=paarungen(2,1)'rotation auf Brett 2 "oben" setzen
else 'ungerade Spielerzahl
'"obere" Spieler setzen
for i=1 to ppr
paarungen(i,1)=rotation
rotation +=1
if rotation>spieler then rotation=1
next i
'"untere" Spieler setzen
for i=ppr to 1 step -1
paarungen(i,2)=rotation
rotation +=1
if rotation>spieler then rotation=1
next i
rotation=paarungen(2,1)'rotation auf Brett 2 "oben" setzen
end if
'spezielle Brett-Dreh-Regel bei gerader Spielerzahl:
if ((spieler mod 2) = 0) and ((r mod 2) = 0) then swap paarungen(1,1),paarungen(1,2)
'generelle Brett-Dreh-Regel:
for i=2 to ppr step 2
swap paarungen(i,1),paarungen(i,2)
next i
'Ausgabe:
print r & ": " ;
for i=1 to ppr
print paarungen(i,1)&"-"&paarungen(i,2)&" ";
next i
print
next r
sleep
end
/'
'Rutschen im Uhrzeigersinn
if (spieler mod 2) = 0 then rotation=2 else rotation=1 'Startspieler für Rotation festlegen
for r as integer=1 to runden
if (spieler mod 2) = 0 then 'gerade Spielerzahl
'Spieler mit Nummer 1 an Brett 1 "oben"
paarungen(1,1)=1
'"obere" Spieler setzen
'rotation=merkespieler
for i=2 to ppr
paarungen(i,1)=rotation
rotation +=1
if rotation>spieler then rotation=2
next i
'restliche "untere" Spieler setzen
for i=ppr to 1 step -1
paarungen(i,2)=rotation
rotation +=1
if rotation>spieler then rotation=2
next i
rotation=paarungen(1,2)'rotation nach letzter Erhöhung(im FOR-NEXT-Block) zurücksetzen
else 'ungerade Spielerzahl
'"obere" Spieler setzen
for i=1 to ppr
paarungen(i,1)=rotation
rotation +=1
if rotation>spieler then rotation=1
next i
'"untere" Spieler setzen
for i=ppr to 1 step -1
paarungen(i,2)=rotation
rotation +=1
if rotation>spieler then rotation=1
next i
'rotation enthält jetzt nach letzter Erhöhung(im FOR-NEXT-Block) den Spieler der gerade aussetzt
end if
'spezielle Brett-Dreh-Regel bei gerader Spielerzahl:
if ((spieler mod 2) = 0) and ((r mod 2) = 0) then swap paarungen(1,1),paarungen(1,2)
'generelle Brett-Dreh-Regel:
for i=2 to ppr step 2
swap paarungen(i,1),paarungen(i,2)
next i
'Ausgabe:
print r & ": " ;
for i=1 to ppr
print paarungen(i,1)&"-"&paarungen(i,2)&" ";
next i
print
next r
'/ |
Mutton
Zuletzt bearbeitet von Muttonhead am 20.07.2012, 16:27, insgesamt einmal bearbeitet |
|