Willkommen zu einer neuen Serie von Schnelltipps zur objektorientierten Programmierung! Wir werden die Prinzipien von OOP und die Möglichkeiten zur Erstellung von organisiertem Code durchgehen. In diesem ersten Teil werden wir darüber sprechen, was OOP ist und warum es hilfreich ist, mit einigen Beispielen, wie es in der Spieleentwicklung verwendet werden kann.
Objektorientierte Programmierung (OOP) ist im einfachsten Sinne ein Programmierstil zum Organisieren von Code. Videospiele können von ein paar tausend Codezeilen (Cut the Rope hat 15.000) bis zu Millionen Codezeilen (Crysis hat über eine Million) laufen. Sie können sehen, warum es so wichtig ist, Code zu schreiben, der leicht geändert und verwaltet werden kann.
Programmierstile wie OOP helfen dabei, Code so zu organisieren, dass er einfacher zu warten und zu ändern ist. OOP hilft beim Organisieren von Code, indem es in so genannten Objekten organisiert wird.
Objekte enthalten Informationen über Zustand und Verhalten:
Zustände sind die Merkmale des Objekts oder die Wörter, die Sie zur Beschreibung des Objekts verwenden würden, und nehmen normalerweise die Form von an ist oder hat Deskriptoren. Ein Computer ist entweder an oder aus, ein Stuhl hat vier Beine und du haben ein Name.
Verhaltensweisen sind die Dinge, die das Objekt kann tun, oder die Aktionen, die das Objekt ausführen kann ausführen, und sind normalerweise Verben, die auf enden ing. Sie sind Sitzung, mit ein Computer und lesen Dieser Beitrag.
Wie bereits erwähnt, ist OOP hilfreich, da es hilfreich ist, wartbaren Code zu erstellen, der verständlich, anpassbar und erweiterbar ist.
Es hilft auch, wiederverwendbaren Code zu erstellen, indem Sie der DRY-Methode (Don't Repeat Yourself) folgen: Schreiben Sie den Code einmal und verwenden Sie ihn erneut, anstatt ihn zu kopieren und einzufügen.
Das OOP-Denken eignet sich auch gut, um Objekte und Interaktionen der realen Welt direkt in Code zu übersetzen.
Ich werde drei verschiedene Beispiele für die Anwendung von OOP auf Videospiele aufführen. In späteren Artikeln werden wir uns mit dem Codieren dieser Beispiele befassen. Im Moment lernen wir jedoch nur, Objekte und deren Status und Verhalten zu erkennen.
Stellen wir uns zunächst vor, wir wollten das klassische Spiel Asteroids machen. Versuchen Sie, die Objekte in Asteroids zu beschreiben, indem Sie sie beschreiben.
Wikipedia beschreibt Asteroiden wie folgt:
Das Ziel von Asteroiden ist es, so viele Punkte wie möglich durch die Zerstörung von Asteroiden und fliegenden Untertassen zu erzielen. Der Spieler steuert ein dreieckiges Schiff, das sich nach links und rechts drehen kann, Schüsse geradeaus abfeuern und vorwärts schieben. Wenn sich das Schiff bewegt, bleibt der Schwung nicht erhalten - das Schiff bleibt schließlich stehen, wenn es nicht stößt.
Denken Sie darüber nach, was in dieser Beschreibung für sich stehen könnte oder über die beschriebenen Dinge, die Zustand und Verhalten haben könnten. Diese werden unsere Objekte.
Die Objekte für Asteroiden sind: ein Schiff, ein Asteroid, eine fliegende Untertasse und eine Kugel (kann diese nicht vergessen!). Das Coole an Objekten ist, dass wir Dinge normalerweise im Alltagsgespräch als Objekte beschreiben, so dass sie sich normalerweise durch eine Beschreibung offenbaren.
Nachdem wir unsere Objekte identifiziert haben, definieren wir den Zustand und das Verhalten für eines von ihnen: das Schiff des Spielers. Überlegen Sie, welche Attribute das Schiff beschreiben. Das sind seine Zustände. Dann überlegen Sie, was das Schiff kann. Das sind seine Verhaltensweisen.
Ein Schiff hat folgende Zustände:
und Verhalten von:
Ich lasse Sie die Zustände und das Verhalten der verbleibenden Objekte bestimmen.
Als nächstes betrachten wir ein anderes klassisches Spiel, Tetris. Wir beginnen wieder mit der Beschreibung von Tetris, um seine Objekte zu finden.
Eine zufällige Folge von Tetrominos fällt ins Spiel. Das Ziel des Spiels ist es, diese Tetrominos so zu manipulieren, dass jeder seitwärts bewegt und um 90-Grad-Einheiten gedreht wird, um eine horizontale Linie von zehn Blöcken ohne Lücken zu schaffen.
In Tetris ist wirklich das einzige Objekt ein Tetromino. Es hat Zustände von:
und Verhalten von:
Das letzte Spiel, das wir als Beispiel verwenden, ist Pac-Man.
Der Spieler kontrolliert Pac-Man durch ein Labyrinth und isst Pac-Dots oder Pellets. Vier Feinde (Geister) durchstreifen das Labyrinth und versuchen, Pac-Man zu fangen. In der Nähe der Ecken des Labyrinths befinden sich vier größere blinkende Punkte, die als Power Pellets bezeichnet werden und Pac-Man die vorübergehende Fähigkeit geben, die Feinde zu fressen. Die Gegner werden tiefblau, kehren sich um und bewegen sich normalerweise langsamer.
Für Pac-Man gibt es drei Objekte: Pac-Man, einen Geist und einen Pac-Punkt. Ein Power-Pellet ist nicht wirklich ein eigenes Objekt, da es ein besonderer Pac-Punkt ist (in einem späteren Artikel werden wir darüber sprechen, was zu tun ist). Wir werden das Geisterobjekt beschreiben, weil es interessanter ist.
Der Geist hat Zustände von:
und Verhalten von:
Objektorientierte Programmierung ist eine Möglichkeit, Code in einem Videospiel zu organisieren. OOP konzentriert sich auf Objekte, die durch ihren Zustand und ihr Verhalten definiert werden.
Im nächsten Schnelltipp werden wir über das Prinzip der Kohäsion sprechen und beginnen, die grundlegende Struktur eines Objekts zu kodieren. Folgen Sie uns auf Twitter, Facebook oder Google+, um über die neuesten Beiträge auf dem Laufenden zu bleiben.