Kurs:FreeBASIC/Projekte/FBT3/0001
Erscheinungsbild
Version 0001 ist fertig. Möglicherweise bin ich schneller fertig, wenn ich schreibe, was funktioniert. --Michael Reschke 18:27, 18. Jul. 2008 (CEST)
Quellcode
[Bearbeiten]Der Quellcode lautet:
' - - - - Meine Variablen und meine Unterprogramme - - - - - -
DIM AS Integer Eingabe, x, Spieler
Spieler = 1 'Verwaltet die Spieler-Züge (1 und 2)
' - - - - Zeichne das Spielfeld - - - - - - - - - - - - - - - -
PRINT "Ein Spiel"
PRINT "fuer 2 Spieler"
PRINT
PRINT " 1 2 3"
PRINT
PRINT "1 . | . | ."
PRINT " - + - + -"
PRINT "2 . | . | ."
PRINT " - + - + -"
PRINT "3 . | . | ." : PRINT
' - - - - Die Programmschleife - - - - - - - - - - - - - - - -
For x = 1 to 9
Locate 12,68
PRINT " "
Locate 12,1
INPUT "Bitte geben Sie abwechselnd eine Koordinate (z. B. 11 oder 31) ein: ", Eingabe
SELECT CASE Eingabe
CASE 11
Locate 6,5
If Spieler = 1 Then
Print "X"
Else
Print "0"
End If
CASE 12
Locate 8,5
If Spieler = 1 Then
Print "X"
Else
Print "0"
End If
CASE 13
Locate 10,5
If Spieler = 1 Then
Print "X"
Else
Print "0"
End If
CASE 21
Locate 6,9
If Spieler = 1 Then
Print "X"
Else
Print "0"
End If
CASE 22
Locate 8,9
If Spieler = 1 Then
Print "X"
Else
Print "0"
End If
CASE 23
Locate 10,9
If Spieler = 1 Then
Print "X"
Else
Print "0"
End If
CASE 31
Locate 6,13
If Spieler = 1 Then
Print "X"
Else
Print "0"
End If
CASE 32
Locate 8,13
If Spieler = 1 Then
Print "X"
Else
Print "0"
End If
CASE 33
Locate 10,13
If Spieler = 1 Then
Print "X"
Else
Print "0"
End If
CASE ELSE
Locate 12,1
PRINT "Die Eingabe war ungueltig. Bitte geben Sie erneut eine Koordinate ein. "
Sleep
END SELECT
'Verwaltet die Spieler
If Spieler = 1 Then
Spieler = 2
Else
Spieler = 1
End If
Next x
' - - - - Das Ergebnis - - - - - - - - - - - - - - - - - - - -
Locate 14,1
Print "Moeglicherweise hat ein Spieler gewonnen."
Print "Bei diesem Spiel weiss man das nie so genau."
Print "Zum Beenden des Programms eine Taste druecken."
' - - - - Programmende - - - - - - - - - - - - - - - - - - - -
Sleep
Bugs
[Bearbeiten]Bug notieren und bitte einen Eintrag mit --~~~~ abschließen (signieren).
- Das Programm funktioniert praktisch nur bei intelligentem User bzw. wohlwollender und vorausschauender Bedienung. --Michael Reschke 18:27, 18. Jul. 2008 (CEST)
- Es ist noch möglich ein gesetztes Kreuz durch einen Kreis (und umgekehrt) zu überschreiben. --Michael Reschke 18:27, 18. Jul. 2008 (CEST)
- Das Programm kann nicht vorzeitig abgebrochen werden. --Michael Reschke 18:27, 18. Jul. 2008 (CEST)
Nächste Version (vorgesehene Features)
[Bearbeiten]Folgende Sachen sollen überarbeitet werden:
- Die If-Anweisung (1 bis 9) soll durch eine Do-Loop-Schleife ersetzt werden.
- Es soll ein Überschreiben von gesetzten Symbolen unterbunden werden.
- Es soll abgefragt werden, wer gewonnen hat.
Feedback
[Bearbeiten]Bitte hierfür die Diskussionsseite nutzen. Vielen Dank!
Kommentar(e)
[Bearbeiten]- Das Programm hat jetzt bereits 137 Programmzeilen, was mich zu der Frage führt, ob ich denn da auch alles richtig gemacht haben kann... --Michael Reschke 18:27, 18. Jul. 2008 (CEST)