Python Simple Snake Game-Aufgabenbuch inklusive Code

 Inhaltsverzeichnis

Kapitel eins Einführung

1.1 Hintergrund der Entwicklung

1.2 Zweck der Entwicklung

1.3 Die Bedeutung der Entwicklung

1.4 Einführung in Entwicklungstools

Kapitel 2 Anforderungsanalyse

(1) Verwenden Sie die Richtungstasten, um die Laufrichtung der Schlange zu ändern.

(2) Generiere Nahrung an zufälligen Orten.

(3) Wenn Sie Nahrung zu sich nehmen, verwandeln Sie sich in einen neuen Schlangenkörper. Wenn Sie gegen eine Wand oder sich selbst stoßen, endet das Spiel. Andernfalls läuft es normal.

Kapitel 3 Systemumrissentwurf

3.1 Designziele

Kapitel 4 Detailliertes Design und Implementierung

4.1 Designideen

4.2. Anweisungen zum Design und zur Verwendung der Datenstruktur

Wenn das Spiel endet, wird „GAME OVER“ angezeigt

4.3 Programmierung

Den Code finden Sie im Anhang

Kapitel 5 Test

5.1 Bedeutung der Prüfung

5.2 Durchführung von Tests

5.3 Screenshots aller Funktionsschnittstellen sowie aufgetretener Probleme und Lösungen

5.4 Testergebnisse

Abschluss

Danksagungen


Verweise

Anhang

Leistungsbewertung der Lehrplangestaltung

Kapitel eins Einführung

  1.1 Hintergrund der Entwicklung  

Mit der Entwicklung der Technologie umfassen die Funktionen von Mobiltelefonen heute mehr als nur das Tätigen und Empfangen von Anrufen sowie das Senden und Empfangen von Textnachrichten. Immer mehr Mobiltelefonnutzer hoffen, nach der Arbeit und dem Studium praktische, intelligente und tragbare Geräte zur Unterhaltung zu nutzen. Um den Bedürfnissen vieler Benutzer gerecht zu werden und uns an die Größe heutiger Mobiltelefone anzupassen, haben wir eine Reihe äußerst unterhaltsamer und interaktiver Schlangenspiele entwickelt, die für Menschen aus allen Gesellschaftsschichten geeignet sind.

Der Grund, warum die Gierige Schlange einen solchen Namen erhielt, liegt auf der Hand. Die Gierige Schlange ist eigentlich nicht gierig. Sie ist ein Symbol für das ständige Streben der Menschen nach Fortschritt. Genauso wie moderne Menschen nur dann das bekommen können, was sie wollen, wenn sie ständig hart arbeiten und arbeiten vorwärts gehen. brauchen. Und auch Essen erscheint zufällig, genau wie die Möglichkeiten, die es in der heutigen Gesellschaft gibt, und wir können nur erfolgreich sein, wenn wir unsere eigenen Ziele finden.

Obwohl es mittlerweile verschiedene Spielversionen auf dem Markt gibt, ist der Markt für Snake immer noch recht groß. Denn es ist insofern etwas Besonderes, als es die Menschen tiefer in den Bann ziehen kann und einen unfähig macht, es aus der Hand zu legen. Mit zunehmender Geschwindigkeit des Spiels wird die Spannung immer stärker. Man kann sagen, dass der Vorteil dieses Spiels darin besteht, dass es einfach und leicht zu spielen ist. Egal, ob es sich um ein Mobiltelefon oder eine kleine Spielekonsole handelt, es kann schnell und reibungslos laufen. Für Menschen, die draußen beschäftigt sind und nicht viel Zeit für Unterhaltung aufwenden können, sind groß angelegte Spiele nicht machbar. Solch ein kleines Spiel geht genau auf ihre Bedürfnisse ein.

1.2 Zweck der Entwicklung  

In der heutigen Gesellschaft nimmt der Arbeits- und Lerndruck der Menschen allmählich zu und das Lebenstempo beschleunigt sich allmählich. Die meisten Menschen haben nicht genug Zeit für Freizeit, Unterhaltung und Entspannung. Dieses kleine Handyspiel ermöglicht es uns, das Spiel jederzeit und überall zu genießen. Befreien wir uns vom schweren Alltag.

Die Hauptoberfläche des Spiels sollte schön und optisch ansprechend sein, um das Interesse der Spieler am Spiel zu steigern. Das Steuermodul des Spiels sollte leicht zu verstehen und zu bedienen sein, um den Spielern eine gute Spielumgebung zu bieten.

1.3 Die Bedeutung der Entwicklung

Durch dieses Spiel können sich Schlangenspieler entspannt und glücklich fühlen. Entspannen Sie Ihre Stimmung und bauen Sie Arbeitsstress ab. Bieten Sie jedem eine angenehme Spielumgebung.

1.4 Einführung in Entwicklungstools  

PyCharm ist eine Python-  IDE (Integrated Development Environment ) , die über eine Reihe von Tools verfügt, mit denen Benutzer ihre Effizienz bei der Entwicklung in der Python- Sprache verbessern können , z. B. Debugging, Syntaxhervorhebung , Projektverwaltung , Codespringen und intelligente Eingabeaufforderungen. , automatisch Fertigstellung , Unit-Test , Versionskontrolle . Darüber hinaus bietet die IDE einige erweiterte Funktionen zur Unterstützung der professionellen Webentwicklung unter dem Django- Framework.

PyCharm verfügt über die Funktionen allgemeiner IDEs , z. B. Debugging, Syntaxhervorhebung, Projektverwaltung , Codesprünge, intelligente Eingabeaufforderungen, automatische Vervollständigung, Komponententests und Versionskontrolle.

Darüber hinaus bietet PyCharm einige großartige Funktionen für die Django-Entwicklung und unterstützt Google App Engine . Noch cooler ist, dass PyCharm IronPython unterstützt .

<Auszug> Die Python-Sprache ist sehr einfach und Sie können Inhalte, Verfahren und Tests schneller beherrschen als andere Programmiersprachen wie Java und C. Und jedes Mal, wenn Sie das entsprechende Programmsymbol eingeben, werden Ergebnisse generiert, was die Lernzeit der Programmiersprache Python für einige Nicht-Software-Studierende erheblich verkürzt hat[1]

Kapitel 2 Anforderungsanalyse

  2.1 Anforderungsanalyse Dieses Spiel dient hauptsächlich dazu, die Grundfunktionen des Snake-Spiels abzuschließen. Dieses Spiel muss die folgenden Anforderungen erfüllen:

   (1) Verwenden Sie die Richtungstasten, um die Laufrichtung der Schlange zu ändern.

   (2) Generiere Nahrung an zufälligen Orten.

   (3) Wenn Sie Nahrung zu sich nehmen, verwandeln Sie sich in einen neuen Schlangenkörper. Wenn Sie gegen eine Wand oder sich selbst stoßen, endet das Spiel. Andernfalls läuft es normal.

2.2 Machbarkeitsanalyse

  Das Snake-Spiel ist ein einfaches, beliebtes Spiel. Seit der Erfindung von Computern erfreut es sich bei den meisten Computerspielern großer Beliebtheit. Erstellen Sie ein einfaches Snake-Spiel.

    Der Kernalgorithmus von Snake besteht darin, wie man sich bewegt und Nahrung isst. Wenn keine Nahrung angetroffen wird, wird der nächste Knoten in der aktuellen Bewegungsrichtung in die Warteschlange gestellt, und dann wird der Knoten, auf den der Kopfzeiger zeigt, aus der Warteschlange entfernt, sodass Bewegung erreicht werden kann. Wirkung. Wenn Sie Essen essen, müssen Sie es nur in die Warteschlange stellen. Erkennen Sie die grundlegende Bewegung des Körpers der gierigen Schlange, das Wachstum des Körpers nach dem Essen und die Fähigkeit, anzuhalten und zu rennen, wenn Sie gegen eine Wand stoßen oder sterben.

Dieses Design wird hauptsächlich mit der Pycharm-Sprache vervollständigt. Python ist eine plattformübergreifende Computerprogrammiersprache . Es handelt sich um eine High-Level -Skriptsprache , die Interpretation, Kompilierung, Interaktivität und Objektorientierung kombiniert . Es wurde ursprünglich für das Schreiben automatisierter Skripte (Shells) konzipiert. Da die Version ständig aktualisiert und um neue Sprachfunktionen erweitert wird, wird es zunehmend für die Entwicklung unabhängiger Großprojekte eingesetzt.

Kapitel 3 Systemumrissentwurf

3.1 Designziele

Dies ist ein Py-Programm für das Snake-Spiel. Verwenden Sie die Richtungsansicht, um die Laufrichtung der Schlange zu ändern. Die Leertaste pausiert das Spiel oder setzt es fort und generiert an zufälligen Orten Nahrung. Wenn Sie Nahrung essen, verwandelt sie sich in eine neue Schlange Körper. Wenn es gegen die Wand stößt, verwandelt es sich in einen neuen Schlangenkörper. oder sich selbst, das Spiel endet, ansonsten läuft es normal.

Kapitel 4 Detailliertes Design und Implementierung

4.1 Designideen

1. Der Schlüssel zu diesem Programm besteht darin, die Form der Schlange und die Bewegung der Schlange darzustellen. Verwenden Sie ein kleines Rechteck, um einen Abschnitt des Schlangenkörpers darzustellen. Fügen Sie für jeden Abschnitt des Körpers einen rechteckigen Block hinzu und verwenden Sie zwei Abschnitte, um den Kopf der Schlange darzustellen. Wenn Sie sich bewegen, müssen Sie am Kopf der Schlange beginnen, damit sich die Schlange nicht in die entgegengesetzte Richtung bewegen kann, d. h. der Schwanz der Schlange kann nicht in den Kopf der Schlange verwandelt werden. Wenn keine Taste gedrückt wird, bewegt sich die Schlange von selbst in die aktuelle Richtung vorwärts. Wenn der Spieler eine gültige Richtungstaste drückt, bewegt sich der Kopf der Schlange in die angegebene Richtung und bewegt dabei einen Teil ihres Körpers in einem Schritt. Daher gilt: Wenn eine gültige Richtungstaste gedrückt wird, bewegt sich der Kopf der Schlange in die angegebene Richtung. Bestimmen Sie zuerst die Position des Kopfes der Schlange und dann bewegt sich der Körper der Schlange mit dem Kopf der Schlange. Die Grafiken werden durch Zeichnen der Schlange aus der neuen Position realisiert des Kopfes der Schlange. Zu diesem Zeitpunkt unterscheidet sich die Position der ursprünglichen Schlange aufgrund des fehlenden Qingping um eine Einheit von der Position der neuen Schlange. Es sieht also so aus, als hätte die Gesellschaft einen weiteren Körperabschnitt, sodass der letzte Abschnitt der Schlange bedeckt ist mit der Hintergrundfarbe. Das Erscheinen und Verschwinden von Lebensmitteln wird ebenfalls gezeichnet und durch rechteckige Blöcke abgedeckt.

4.2. Anweisungen zum Design und zur Verwendung der Datenstruktur 

1. Anfangsteil:

Das Spiel läuft im Grafikmodus, daher muss der erste Schritt darin bestehen, den Grafikmodus zu initialisieren, und dann muss es eine Startoberfläche geben. Genau wie beim Cover des Spiels habe ich einen Titelbildschirm für das Spiel festgelegt. Zusätzlich zum Spieltitelbildschirm, ich habe auch eingestellt, dass ein Begrüßungsbildschirm angezeigt wird. Nach dem Titelbildschirm muss der laufende Teil des Spiels initialisiert werden, einschließlich des Zeichnens des Hintergrunds, wenn das Spiel läuft, und der Initialisierung einiger wichtiger Variablen des Spiels.

2. Betriebsteil:

Als Kernstück des Spiels gibt es viele Funktionen, also viele Module. Lassen Sie mich zunächst den ersten Zyklus des Snake-Spielmodus simulieren: Im ersten Schritt erscheint Essen, im zweiten Schritt bewegt sich die Schlange weiter . ;Im dritten Schritt prüfen Sie, ob die Schlange getroffen hat

Entweder du selbst oder die Wand; ab dem vierten Schritt besteht das Spiel aus zwei Zweigen (A, B):

A: Im vierten Schritt berührt die Schlange sich selbst oder die Wand nicht, die Schlange bewegt sich weiter vorwärts und zeichnet die Bewegungen der Schlange. Im fünften Schritt wird festgestellt, ob die Schlange Nahrung gefressen hat. Wenn die Schlange Nahrung frisst, wird ihr Körper länger , und das ursprüngliche Futter verschwindet; Schritt sechs, lassen Sie den Spieler Steueranweisungen eingeben, damit die Schlange im zweiten Schritt des nächsten Zyklus die Bewegungsrichtung ändern kann; Schritt sieben, die zweite Runde des Zyklus

Wiederholen Sie für den ersten Schritt die Schritte der ersten Runde;

B: Im vierten Schritt berührt die Schlange sich selbst oder die Wand und das Spiel endet.

3. Schlussteil:

Wenn das Spiel endet, wird „GAME OVER“ angezeigt

Programmbeschreibung Snake:

Grundlegende Beschreibung: Länge, Farbe, Standort.

Entsprechende Daten und Datentypen: Länge – kann zwar durch Koordinaten ausgedrückt werden, in diesem Fall ist der Rechenaufwand jedoch sehr groß und wird daher in eine größere Einheit – die Anzahl der Abschnitte – umgewandelt und durch jeden Abschnitt beschrieben von fester Länge; Koordinaten – Ganzzahl; Farbe –

Ganzzahl; Position – X-, Y-Koordinaten.

Beschreibung hinzugefügt: Bewegungsrichtung der Schlange, Leben der Schlange.

Entsprechende Daten und Datentypen: Diese Beschreibungen sollen den Schlüsseleingabeteil des Programms und den Spielendbeurteilungsteil verbinden. Es gibt nur vier Richtungen: oben, unten, links und rechts. Sie können vier entsprechende Ganzzahlen festlegen

Typennummer: 3, 4, 2, 1. Es gibt nur zwei Situationen im Leben: Tod oder Leben, entsprechend 0 oder 1. Essen:

Grundlegende Beschreibung: Farbe, Standort.

Entsprechende Daten und Datentypen: Da die Farbe fest eingestellt ist, wird sie nicht noch einmal besprochen. Position - X-, Y-Koordinaten.

Beschreibung hinzugefügt: Essenspräsenz.

Entsprechende Daten und Datentyp: Dies dient dazu, das wiederholte Vorkommen von Lebensmitteln zu vermeiden, und hängt mit der Funktion des Zeichnens von Lebensmitteln zusammen. Es gibt nur zwei Werte: 0 oder 1 (kein Essen oder Essen vorhanden)

Andere Elemente: Wand, da sie als Hintergrund in der Anzeige vorhanden ist, gibt es keine Erklärung dafür, dass die tatsächliche Wand ein Rahmen ist, der aus vier geraden Linien besteht, die durch Koordinaten beschrieben werden.

Außerdem benötigte Variablen: über die Tastatur eingegebene Schlüsselwerte (als globale Variablen, ganze Zahlen); häufig verwendete Schleifenvariablen; benutzerdefinierte Füllmuster; Zeichenarrays für erklärenden Text; Spielstände; Spielgeschwindigkeit (Schlangengeschwindigkeit).

4.3 Programmierung

(0) Installieren und importieren Sie die Pygame-Bibliothek

<1>Die erste Methode: Ich habe das Pipi-Ressourcenpaket und die Pygame-Bibliothek, die mit den Computer- und Python-Versionen kompatibel sind, von der offiziellen Website heruntergeladen, dann den Befehl pip install pygame in der cmd-Befehlszeile verwendet, um es zu installieren, und schließlich Import verwendet pygame in pycharm importieren, um es zu importieren. Kann.

<2>Zweite Methode: Klicken Sie auf „Einstellungen“ in Pycharm, klicken Sie auf „Projekt“, dann auf „Python-Interpreter“, klicken Sie auf das +-Zeichen über dem Softwarepaket, suchen Sie nach „Pycharm“, klicken Sie auf „Herunterladen und installieren“ und verwenden Sie dann „Pygame importieren“, um es in Pycharm zu importieren.

  1. Definieren Sie zugehörige Parameter wie Größe und Titel des Spielfensters

Initialisierung: Referenzieren Sie nach dem Importieren der Pygame-Bibliothek zunächst die Funktion init() in der Pygame-Bibliothek zur Initialisierung.

Titel: Verwenden Sie dann das Anzeigemodul in der Pygame-Bibliothek, um den Titel des Fensters über pygame.display.set_caption("title") zu erstellen. Der von mir eingegebene Titel ist „Snake Game“.

Erstellen Sie ein Fenster: Erstellen Sie mit der Funktion pygame.display.set_mode(width,height) ein Fenster und geben Sie die Breite und Höhe ein.

Bildschirmhintergrundfarbe: Verwenden Sie die Funktion fill(color), um die Farbe einzugeben (Hinweis: Die Farbe wird mit dem Farbcode ausgefüllt) und fügen Sie die Anweisung in die Hauptschleife ein.

Bildschirmaktualisierungshäufigkeit: Erstellen Sie zuerst ein Uhrenobjekt und implementieren Sie es mit pygame.time.Clock() im Zeitmodul der Pygame-Bibliothek, definieren Sie dann die Frame-Nummer-Variable und schreiben Sie schließlich im Aktualisierungsbildschirmteil der Hauptschleife a Anweisung, die die Aktualisierungsgeschwindigkeit des Bildschirms angibt, unter Verwendung der Funktionsimplementierung Clock object.tick (Framenummer).

  1. Definieren Sie die Hauptspielschleife

Hauptschleifenstruktur:

 Verwenden Sie die Funktion „while“, um eine Schleife auszuführen, und verwenden Sie als Bedingungen definierte Variablen als „True“. Durch die Verwendung von Variablen können Sie die Endlosschleife einfach beenden. Ich habe die Hauptschleife in drei Module unterteilt, nämlich Benutzersteuerung, Aktualisierungsdaten und Aktualisierungsbildschirm.

Benutzerkontrollen:

Hier muss der Benutzer die Bewegung der Schlange steuern, d. h. wenn die Tastatur gedrückt wird, ändert sich die Bewegungsrichtung der Schlange. Siehe Anhang

Daten aktualisieren:

Die Daten müssen aktualisiert werden, um den Status der gierigen Schlange zu aktualisieren, und der Körper der Schlange wird so eingestellt (siehe Anhang für die Implementierung anhand einer Liste), dass, während der Körper der Schlange um ein Feld nach vorne wächst, der Schwanz um ein Feld kleiner wird; das ist es Es ist auch erforderlich, die Standortdaten zu aktualisieren, an denen das Lebensmittel angezeigt wird. Lebensmittel müssen eine Zufallszahlenfunktion verwenden, um die Koordinaten des Lebensmittels zu definieren, damit das Lebensmittel an zufälligen Orten auf dem Bildschirm angezeigt werden kann. Siehe Anhang

Aktualisierungsbildschirm:

Es ist notwendig, verschiedene Bilder im Bild zu aktualisieren, die Hintergrundfarbe auszufüllen, das Hintergrundgitter zu zeichnen, den Kopf und Körper der Schlange zu zeichnen und Futter zu zeichnen. Steuern Sie deren Farbe, Größe und andere Parameter. An dieser Stelle werden hauptsächlich die Funktionen pygame.draw.rect() und fill() verwendet.

  1. Definieren Sie den Anfangszustand von Snake

Schlange zeichnen: Verwenden Sie das Zeichenmodul der Pygame-Bibliothek, um eine Rechteckfunktion, pygame.draw.rect(), zu zeichnen, in der Sie den Bildschirm, die Farbe, die Anfangsposition und die Größe festlegen können.

  1. Definieren Sie die Ausgangsposition des Lebensmittels

Ich bin direkt zufällig, daher ist der Anfangswert nicht festgelegt.

  1. Definieren Sie die Bewegungsparameter von Snake
  2. Definieren Sie die Grenzerkennungsfunktion, um festzustellen, ob die Schlange gegen die Wand stößt
  3. Definieren Sie die Nahrungsgenerierungsfunktion, um zu bestimmen, ob sich die Nahrung mit der gierigen Schlange überschneidet
  4. Definieren Sie die Funktion zum Beenden des Spiels, um festzustellen, ob die gierige Schlange sich selbst schlägt
  5. Definieren Sie die Tastaturereignisfunktion, um die Bewegungsrichtung der Schlange zu steuern.

Den obigen Code finden Sie im Anhang

Kapitel 5 Test

5.1 Bedeutung der Prüfung

Unter Systemtests versteht man den Prozess, bei dem Programme ausgeführt werden, um Fehler zu finden. Erfolgreiche Tests sind Tests, bei denen Fehler gefunden werden, die noch nicht entdeckt wurden. Der Zweck des Testens besteht darin, potenzielle Fehler und Defekte mit möglichst geringem Personal- und Zeitaufwand zu entdecken. Testfälle sollten sorgfältig auf der Grundlage der Anforderungen und Designdokumente in jeder Entwicklungsphase oder der internen Struktur des Programms entworfen werden. Diese Instanzen sollten zum Ausführen des Programms verwendet werden, um Fehler zu finden. Systemtests sind ein wichtiger Schritt zur Sicherstellung der Systemqualität und -zuverlässigkeit und stellen die abschließende Überprüfung des Systemdesigns und die Implementierung der Systemanalyse während der Systementwicklung dar. Je nach Konzept und Zweck des Testens sollten bei der Durchführung von Informationssystemtests Grundprinzipien befolgt werden.

5.2 Durchführung von Tests

Führen Sie einen Probelauf des Spielprogramms durch und konzentrieren Sie sich auf das Testen fehleranfälliger und komplexer Module.

5.3 Screenshots aller Funktionsschnittstellen sowie aufgetretener Probleme und Lösungen

(1) Probleme, die bei der Installation der Pygame-Bibliothek auftreten

Zuerst habe ich die Anweisungen zum Installieren von Pygame direkt in die cmd-Befehlszeile eingegeben, es wurden jedoch häufig Fehler gemeldet, die besagten, dass keine mit Pygame übereinstimmende Version und Fehler bei der Pygame-Verteilung gefunden wurden. Danach folgte ich den Schritten im Artikel eines Zhihu-Blogs [2] und stellte fest, dass bei der Überprüfung, ob pip und die nachfolgende Pygame-Bibliothek installiert und aktualisiert wurden, Fehler auftraten, also lud ich die relevanten Ressourcen von der offiziellen Website herunter und aktualisierte sie. Dann habe ich versucht, es in Pycharm zu importieren, habe aber eine Fehlermeldung gefunden, die besagt, dass Pygame nicht gefunden werden konnte. Ich weiß nicht, warum Pycharm die Pygame-Bibliotheksdatei nicht automatisch erkannt hat. Also habe ich die zweite Methode ausprobiert und das Problem gelöst.

  1. Beim Festlegen der Hintergrund- und Schlangenfarben sind Probleme aufgetreten

Als ich die Farbe festlegte, gab ich als Farbparameter das englische Wort ein, das der Farbe entspricht. Später stellte ich fest, dass es einen Code gab, der der Farbe entsprach. Nachdem ich den Code als Parameter verwendet hatte, wurde er erfolgreich ausgeführt.

5.4 Testergebnisse

Am Ende lief das Programm normal, es wurden keine Fehler gefunden und es lief frei.

Abschluss

Das Kursdesign ist fast abgeschlossen. Ich glaube nicht, dass ich Python gut gelernt habe. In der gesamten Programmierung denke ich, dass das Snake-Spiel das einfachste sein sollte.

   Durch dieses Kursdesign habe ich ein tieferes Verständnis von Python. Ich habe auch eine tiefere Liebe dazu und habe beschlossen, hart daran zu arbeiten, Python gut zu lernen und es in zukünftigen Arbeiten besser anzuwenden.

Dieses Mal war das Design von Snake nicht perfekt und auch nicht so gut, wie ich es mir vorgestellt hatte, aber ich habe auch viele wertvolle Erfahrungen gesammelt:

  1. Bevor Sie ein Programm entwerfen, müssen Sie ein systematisches und allgemeines Verständnis der Themen und Inhalte haben, die Sie entwerfen möchten, und wissen, welche Ressourcen die von Ihnen entworfenen Themen und Inhalte enthalten. (2) Es ist nicht sehr wichtig, welche Programmiersprache zum Entwerfen des Programms verwendet wird. Der Schlüssel liegt darin, eine klare Idee und ein vollständiges Programmflussdiagramm zu haben. Daher müssen Sie zuerst die Entwurfsprinzipien und -ideen verstehen und dann den Ablauf zeichnen Diagramm. Design wie dieses. Es ist viel einfacher aufzustehen.

(3) Beim Entwerfen eines Programms können Sie sich nicht vorstellen, dass das gesamte Programm auf einmal entworfen wird. „Wiederholte und kontinuierliche Verbesserung“ ist die einzige Möglichkeit, ein Programm zu entwerfen, und das Entdecken von Fehlern ist auch die einzige Möglichkeit, Ergebnisse und Erfolge zu erzielen .

(4) Es ist notwendig, eine gute Angewohnheit beim Kommentieren von Programmen zu entwickeln. Bei der Perfektion eines Programms geht es nicht nur um seine Funktion, sondern auch darum, den Menschen zu ermöglichen, ihre Ideen auf einen Blick zu verstehen. Dies erleichtert auch die Speicherung und den Austausch von Daten. Ich hoffe, dass ich diese Erfahrungen bei zukünftigen Arbeiten anwenden kann. Für den reibungslosen Ablauf zukünftiger Arbeiten ermöglicht es Ihnen auch, bestimmte Fähigkeiten zu erwerben und einen guten Job zu haben.

(5) Kurz gesagt, Programmieren ist eine sehr langweilige und langweilige Sache, aber unter dem Druck, Hausaufgaben zu erledigen und Credits zu erhalten, müssen Sie sich dazu zwingen, durchzuhalten und es in Teilen gemäß der vom Lehrer erwähnten modularen Idee zu schreiben. Darüber hinaus handelt es sich bei der Programmierung um eine hochpräzise und standardisierte Angelegenheit. Ein geringfügiges Versehen wirkt sich auf die Gesamtsituation aus, oder ein kleiner Fehler an einer Stelle kann dazu führen, dass das gesamte Programm nicht ausgeführt werden kann. Es ist also sehr wichtig, vorsichtig zu sein. Am Anfang hatte ich wirklich das Gefühl, dass Programmieren eine sehr langweilige Sache ist, aber wenn ein Programm erfolgreich läuft, ist die Freude unbeschreiblich und das Erfolgserlebnis unvergleichlich. Nach mehreren Tagen harter Arbeit habe ich das Programm endlich fertiggestellt. Obwohl das Programm noch viele Fehler und Lücken aufweist, bin ich immer noch sehr zufrieden. In jedem Fall ist es das Ergebnis Ihrer eigenen Arbeit und der Ergebnisse, die Sie durch Ihre harte Arbeit erzielt haben. Es ist auch eine praktische Aufgabe zum Erlernen der Python-Sprache und ein Beweis für Ihre Fortschritte.

Durch dieses Kursdesign habe ich ein besseres Verständnis der Python-Sprache. Um sie gut zu lernen, muss ich mich auf die Praxis konzentrieren. Nur durch kontinuierlichen Computerbetrieb kann ich sie besser lernen. Ich habe auch festgestellt, dass ich viele Mängel habe. Erstens Ich bin nicht gut im Fingern, drücke oft die falschen Buchstaben und habe mich durch Lernen verbessert. Zweitens weiß ich nicht viel über einige Standardbibliotheksfunktionen der Python-Sprache und bin mit der korrekten Verwendung von nicht vertraut Funktionsaufrufe, und ich verstehe auch die Fehler, die oft in der Python-Sprache auftreten, nicht. Durch praktisches Lernen wurde mir klar, dass das gute Erlernen von Computern die Aufmerksamkeit auf praktische Operationen erfordert. Es geht nicht nur um das Erlernen der Python-Sprache, sondern auch um andere Sprachen ​​​​und andere Computerkenntnisse. Üben Sie, daher werde ich im Lernprozess mehr auf praktische Abläufe achten, damit ich Computer gut lernen kann.

 Anhang

# 贪吃蛇游戏

# 导入模块
import random
import sys
import pygame
from tkinter import *


pygame.init()   # pygame库初始化 #如果用print()输出,会返回一个元组。例(5,0)表示有5个模块被载入而且成功,没有失败的。
pygame.display.set_caption("贪吃蛇游戏") # 更改窗口的标题
game_screen_width, game_screen_height = 640, 480    # 定义屏幕宽和高
game_screen = pygame.display.set_mode((game_screen_width, game_screen_height)) # 创建一个窗口对象(宽高)
game_clock = pygame.time.Clock()    # 创建一个时钟对象
game_speed = 3 # 定义帧数
game_screen_color = 00, 00, 00  # 定义屏幕背景颜色
game_linecolor = 33, 33, 33  # 格子线条的颜色

square_color = 33, 255, 33  # 贪吃蛇颜色
square_color2 = 33, 195, 33 # 贪吃蛇颜色
square_color3 = 255, 95, 33 # 贪吃蛇头的颜色
square_x, square_y = 0, 0   # 贪吃蛇初始位置
square_size = 20    # 贪吃蛇尺寸
square_speed = 20    # 贪吃蛇的速度
square_become = 0   # 贪吃蛇速度变化参数
square_speed_x, square_speed_y = square_speed, 0    # 控制速度的关键中间变量
square_body = [pygame.Rect(0, 0, 0, 0)] * 3    # 蛇的身体
game_field = game_screen.get_rect()     # <rect (0, 0, 640, 480),用于判断是否出墙的变量
square_rect = pygame.draw.rect(game_screen, square_color, (square_x, square_y, square_size, square_size))   # 蛇头
# food
food_color = 255, 255, 255  # 食物的颜色
m = 0 # 吃掉的食物个数
x = random.randrange(0, 640, 20)    # 食物位置参数x
y = random.randrange(0, 480, 20)    # 食物位置参数y
game_food = pygame.draw.rect(game_screen, square_color, (x, y, square_size, square_size))   # 食物位置以及大小

game_running = True
game_playing = True
while game_running: # 主循环
    # 用户控制
    for event in pygame.event.get():    # 从队列中获取事件  在后续获取鼠标键盘操作时可以得到应用
        if event.type == pygame.QUIT:   # 此时结束循环
            game_running = False
        elif event.type == pygame.KEYDOWN:  # 按下键盘时,贪吃蛇的移动控制
            if square_speed_y == 0:
                if event.key == pygame.K_UP and square_x % 20 == 0:
                    square_speed_x = 0
                    square_speed_y = -square_speed
                elif event.key == pygame.K_DOWN and square_x % 20 == 0:
                    square_speed_x = 0
                    square_speed_y = square_speed
            if square_speed_x == 0:
                if event.key == pygame.K_LEFT and square_y % 20 == 0:
                    square_speed_x = -square_speed
                    square_speed_y = 0
                elif event.key == pygame.K_RIGHT and square_y % 20 == 0:
                    square_speed_x = square_speed
                    square_speed_y = 0

    # 更新数据
        # 蛇的移动
    square_x += square_speed_x  # 贪吃蛇位置数据
    square_y += square_speed_y
    square_body.insert(0, square_rect)  # 增加一节身体
    square_body.pop()  # 尾部减少一节

        # Food

    if square_rect == game_food:
        x = random.randrange(0, 640, 20)
        y = random.randrange(0, 480, 20)
        game_food = pygame.draw.rect(game_screen, square_color, (x, y, square_size, square_size))
        square_body.append(pygame.Rect(0, 0, 0, 0))
        m += 1

    if len(square_body) != square_become:
        if len(square_body) % 5 == 0:
            game_speed += 2
            square_become = len(square_body)
    # 更新画面
    if game_playing:
        game_screen.fill(game_screen_color) # 填充背景颜色
            # 画格子
        for i in range(square_size, game_screen_width, square_size):
            pygame.draw.line(game_screen, game_linecolor, (i, 0), (i, game_screen_height))
        for i in range(square_size, game_screen_height, square_size):
            pygame.draw.line(game_screen, game_linecolor, (0, i), (game_screen_width, i))

            # 绘制蛇
                # 蛇头
        square_rect = pygame.draw.rect(game_screen, square_color, (square_x, square_y, square_size, square_size)) # 绘制蛇头,square_size这里表示长和宽
        game_screen.fill(square_color3, square_rect.inflate(-5, -5))    # 丰富蛇头色彩
                # 身体
        # pygame_Rect = pygame.draw.rect(game_screen, square_color,(square_x-20, square_y, square_size, square_size))
        for cell in square_body:    # 利用循环,绘制身体
            game_screen.fill(square_color, cell)
            game_screen.fill(square_color2, cell.inflate(-5, -5))
                # 食物
        game_food = pygame.draw.rect(game_screen, food_color, (x, y, square_size, square_size))

        # game over
        if game_playing:
            # 撞墙
            if not game_field.contains((square_x, square_y, square_size, square_size)):
                game_playing = False
                # 撞身体
            for cell in square_body:
                if square_rect == cell:
                    game_playing = False
            # 得分
            if not game_playing:
                print("GAME OVER")
                win = Tk()  # 创建根窗口
                win.title("游戏结果")   # 窗口的标题
                win.geometry("400x100+600+300")  # 窗口的大小和出现的位置
                win.configure(bg="white")   # 窗口颜色
                a = Label(win, text='您一共吃到了{0}食物\n蛇的长度为{1}\n您的最终得分为{2}'.format(m, len(square_body)+1, m*100*(len(square_body)+4))) #显示数据
                a.grid()    # 显示文字
                win.mainloop()  # 显示窗口
                game_running = False


        # 更新窗口内容
    pygame.display.flip()   # 更新整个待显示的 Surface 对象到屏幕上。(一般来说第一次更新用flip,后续更新使用update)
    game_clock.tick(game_speed)     # 更新画面速度



pygame.quit()    # 取消初始化

Hinweis: Laden Sie die entsprechenden Bibliotheken von Drittanbietern vorab herunter, andernfalls wird ein Fehler gemeldet.

Supongo que te gusta

Origin blog.csdn.net/qq_74349936/article/details/129679621
Recomendado
Clasificación