Wenn du ein Othello-Spiel machen willst, brauchst du zuerst ein 8x8-Brett. Insgesamt gibt es 64 Felder.
Um die Position der Quadrate darzustellen, habe ich beschlossen, die Zahlen 1 bis 8 als X in horizontaler Richtung und die Zahlen 1 bis 8 als Y in vertikaler Richtung zu verwenden. Im Allgemeinen scheint es, dass die horizontale Achse von Othello oft durch a bis h dargestellt wird, aber wenn Sie Programmieren studieren, sind Zahlen leichter zu verstehen, also machen Sie es so, dass sowohl horizontal als auch vertikal durch 1 bis 8 dargestellt werden. Es gibt.
Dies ist das einzige Hauptprogramm des Othello-Spiels, das ich gemacht habe, um meine Kinder zu unterrichten. Wie ich im vorherigen Artikel geschrieben habe, sind die Grundlagen des Programms nur Steueranweisungen, bedingte Anweisungen und sich wiederholende Anweisungen. Dieses Othello wird auch hergestellt, indem diese drei voll ausgenutzt werden. Lassen Sie uns das folgende Programm erklären.
if __name__ == '__main__':
#Erstellen Sie eine Instanz der Othello-Klasse
myot = OthelloCls()
#Board-Anzeige
myot.ot_display()
#Für immer wiederholen
while True:
#Bestimmen Sie, ob das Spiel beendet ist oder ob es einen Platz gibt, an dem Sie Ihre Hand legen können
sts = myot.ot_checkendofgame()
if sts == 1: #Spiel ist aus
break
elif sts < 0: #Ich kann meine Hand nicht legen
continue
#Rufen Sie eine Funktion auf, die anzeigt, wer an der Reihe ist
myot.ot_yourturn()
#Geben Sie die X- und Y-Koordinaten ein
myx = myot.ot_inputXY("X = ")
myy = myot.ot_inputXY("Y = ")
#Legen Sie Ihre Hand auf die angegebenen Koordinaten
myot.ot_place(myx,myy)
Die Deklaration von if __name__ == '__ main __':
zeigt an, dass die folgenden Einrückungen das Hauptprogramm von hier sind. Da der Block des Hauptprogramms nach unten eingerückt werden muss, erfolgt der Einzug in 4 Leerzeichen und das Programm wird geschrieben.
Wenn Sie das Programm zum ersten Mal ausführen, wird ein Bildschirm wie dieser angezeigt, der auf die Tastatureingabe wartet.
Die erste Zeile des Programms materialisiert eine Instanz der Othello-Klasse. Es besteht kein Zweifel, dass die Othello-Klasse mit verschiedenen Funktionen ausgestattet ist, die für Othello erforderlich sind. Bitte seien Sie jedoch versichert, dass die Details später beschrieben werden.
Die Tafel von Othello im allerersten Zustand wird auf dem Bildschirm angezeigt. Wenn Sie die Funktion "ot_display ()" aufrufen, wird die Karte in dem Zustand angezeigt, in dem sie aufgerufen wurde.
Das Hauptprogramm beginnt mit einer ewigen Wiederholung des Teils "whilt True:".
Im Othello-Spiel wechseln sich Weiß und Schwarz ab, aber irgendwann kommt es, wenn entweder keine Hand oder beide Hände nicht platziert werden können.
Die einzige Bedingung, um diese ewige Wiederholung zu beenden, ist, wenn Sie entscheiden, dass das Spiel beendet ist. Eine Funktion namens "ot_checkendofgame ()" ist dafür verantwortlich, die nächste Aktion in einer permanenten Iteration zu überprüfen. Der von dieser Funktion zurückgegebene Wert bestimmt die nächste Aktion.
Rückgabewert von der Funktion | Bedeutung | Nächste Aktion |
---|---|---|
0 | Fahren Sie fort, weil Sie Ihre eigenen Hände legen können | Gehen Sie zur X- und Y-Koordinateneingabe, die Sie über die Tastatur eingeben möchten |
1 | Spiel ist aus | Entkomme der ewigen Wiederholung |
-1 | Ich kann meine eigene Hand nicht legen, also habe ich zur Hand der anderen Partei gewechselt | Kehren Sie zum Beginn der ewigen Wiederholung zurück |
Wie oben erwähnt, gibt die Funktion "ot_yourturn ()" an, wer an der Reihe ist, wenn der Rückgabewert der Funktion 0 ist, z. B. "Es ist eine Hand von ●!" Oder "Es ist eine Hand von ○!".
Geben Sie als Nächstes eines von 1 bis 8 mit X und eines von 1 bis 8 mit Y ein, welches Quadrat von der Tastatur platziert werden soll. Die Funktion "ot_inputXY (" X = ")" ist eine Funktion, die Tastatureingaben ausführt, die keine anderen Werte als 1 bis 8 akzeptieren, und Tastatureingaben als eine Funktion implementiert, indem X = oder Y = als Parameter angegeben wird. Es gibt. Die Teile von X = 6 und Y = 5 in der obigen Abbildung werden genau von dieser Funktion ausgeführt.
Weisen Sie abschließend die Funktion "ot_place (myx, myy)" an, die über die Tastatur eingegebene X-Koordinatennummer und die Y-Koordinatennummer zum Platzieren des Rahmens zu übergeben.
Ein Othello-Programm kann als Othello-Spiel gespielt werden, indem nur fünf Funktionen aufgerufen werden. Die Programmtypen sind in Bildschirmanzeigesystem, Eingabesystem und Programmlogiksystem unterteilt. Um sich in Zukunft zu einem grafischen Othello-Spiel zu entwickeln, werden der Bildschirmanzeigeteil und das Eingabesystem sowie der Logikteil absichtlich in der Klasse getrennt.
Funktionen zum Erstellen von Othello-Spielen | Programmtyp | Was machst du |
---|---|---|
ot_display() | Bildschirmanzeige | Zeigen Sie die Tafel von Othello an |
ot_checkendofgame() | Logik | Sagt Ihnen, was als nächstes in ewiger Wiederholung zu tun ist |
ot_yourturn() | Bildschirmanzeige | Zeigen Sie, wer an der Reihe ist |
ot_inputXY() | Tastatureingabe | Geben Sie die Koordinaten ein, um den Ort anzugeben, an dem der Rahmen platziert werden soll |
ot_place() | Logik | Platzieren Sie einen Rahmen an den eingegebenen Koordinaten |
Wie ich im vorherigen Artikel kurz erwähnt habe, gibt es zwei Arten sich wiederholender Sätze. Einer ist ein sich wiederholender Satz, der sich für immer dreht. Der andere ist ein sich wiederholender Satz, in dem die Anzahl der Umdrehungen bekannt ist. In der folgenden Abbildung entgeht bei dem Typ, der sich für immer wiederholt, ein Ereignis, das aus der Wiederholung ausbricht, der Wiederholung. Das andere ist ein sich wiederholendes Muster, bei dem Sie, wenn Sie sich von Anfang an für 10 Bauchmuskeln entscheiden, dies 10 Mal tun und dann beenden. In Python werden permanente Iterationen als "while True:" geschrieben. Der Einrückungsblock unter diesem "while True:" wird für immer wiederholt, es sei denn, ein Ereignis tritt ein. Schreiben Sie in der ewigen Wiederholung "weiter", um zum Anfang zurückzukehren, und schreiben Sie "Pause", um der ewigen Wiederholung zu entkommen. Wenn in der folgenden Abbildung "Snack?" Ja ist, schreiben Sie "break", andernfalls schreiben Sie "continue". Im Hauptprogramm schreibe ich "continue", wenn ich zum Anfang der Wiederholung in der Mitte eines Blocks zurückkehren möchte, der sich für immer wiederholt, aber ich mache mir nicht die Mühe, "continue" zu schreiben, nachdem ich "ot_place ()" aufgerufen habe Da es sich um die letzte Zeile des Wiederholungsblocks handelt, kehrt es beim Zurückkehren von der Funktion automatisch zum Beginn der Wiederholung zurück.
Wenn ich diese beiden in Python schreibe, sieht es so aus. Ich werde mehr darüber schreiben, wie man es für das nächste Mal benutzt.
while True:
Studie()
wenn Snack=="Yes":
break
for index in range(10):
Bauchmuskel()
Verwenden Sie "if-Bedingung:", um die Bedingung zu bestimmen. Die Logik, die der Bedingung entspricht, wird im Block mit abgesenktem Einzug beschrieben, und die Logik, die die Bedingung nicht erfüllt, wird durch Verringern des Einzugs unter "else:" oder "elif:" beschrieben. Schauen wir uns das Hauptprogramm früher an. Der Rückgabewert der Funktion ot_checkendofgame () wird in einer Variablen namens sts gespeichert. Die folgende if-Anweisung bestimmt, ob sts 1 ist, und verwendet in diesem Fall brek, um aus der permanenten Schleife auszubrechen. Wenn elif die erste Bedingung nicht erfüllt, bestimmt die nächste Bedingungsanweisung, ob sts kleiner als 0 ist, und wenn die Bedingung erfüllt ist, kehrt continue zum Beginn der permanenten Iteration zurück.
sts = myot.ot_checkendofgame()
if sts == 1: #Spiel ist aus
break
elif sts < 0: #Ich kann meine Hand nicht legen
continue
Symbol für die Zustandsbeurteilung | Wie benutzt man | Erläuterung |
---|---|---|
Gleichheitszeichen== | if sts == 1: | M. gleich 1 |
Ungleichheit!= | if sts != 1: | sts ist nicht gleich 1 |
Größer> | if sts > 1: | M. ist größer als 1 (2 oder größer) |
Klein< | if sts < 1: | sts ist kleiner als 1 (kleiner oder gleich 0) |
Größere gleiche Anzahl>= | if sts >= 1: | M. ist 1 oder mehr |
Kleineres Problem<= | if sts <= 1: | M. ist 1 oder weniger |
Daher möchte ich beim nächsten Mal kurz die tatsächliche Ausführung des Programms und die in Python verwendeten Variablen erläutern.
<< Ich habe ein Othello erstellt, um Kindern Python3 beizubringen (1) Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (3) >>
Recommended Posts