|
Vier Gewinnt
|
![]() |
2.Feststellen der Falltiefe des Steines Um zu bestimmen wie tief ein Stein fallen darf beginnt der Computer vom untersten Feld an solange aufwärts zu zählen, bis ein nicht belegtes Feld gefunden ist (siehe Grafik li). Im Quelltext ist dies so realisiert: procedure steinchen(spalte:integer; color:word; am_zug:twert); var zeile:integer; p:tposition; begin zeile:=6; { Beginn bei letzter Zeile} while feld[spalte,zeile] <> leer do dec(zeile); {Durchlauf und Test} ... end; |
![]() |
3. Überprüfung, ob Gewinner vorliegt
|
| 4. Hauptschleife des Spiels repeat eingabe:=readkey;{Einlesen des Tastenduckes} case eingabe of #27: ende:=true;{Escape} #75: begin {Linke Richtungstaste} pfeil(spieler.spalte,black); {Neuen Pfeil setzen} dec(spieler.spalte); {Spalteposition nach links verschieben} if spieler.spalte<1 then spieler.spalte:=8; {Verlassen des Spielfeldes abfangen} end; #77: siehe #75 {rechte Richtungstaste} #13: begin {Return-> Zug ausführen} if spieler1 then begin{Spieler 1 am zug} message(n1+' ,Sie sind am Zug'); steinchen(spieler.spalte,red,player); end else {Spieler 2 am Zug} begin message(n2+' ,Sie sind am Zug'); steinchen(spieler.spalte,yellow,pc); end; spieler1:=not spieler1; {anderer Spieler bekommt den Zug} end; end; if spieler1 then pfeil(spieler.spalte,red) else pfeil(spieler.spalte,yellow); {Neuen Pfeil setzen} until ende; |