Zum Inhalt springen
Der Guide für ein smartes Leben.
Steine in freiem Fall

Teil 2: VB: Tetris programmieren

Autor: Redaktion pcmagazin • 26.9.2008 • ca. 1:25 Min

Damit Sie Spielsteine möglichst reibungslos implementieren, programmieren Sie objektorientiert. Zunächst legen Sie eine neue Klasse Spielstein im Projekt an. Im ersten Schritt gestalten Sie das Datenmodell der Spielsteine so, dass sich diese leicht drehen lassen. Die Grafik zeigt als Beispiel den ...

Damit Sie Spielsteine möglichst reibungslos implementieren, programmieren Sie objektorientiert. Zunächst legen Sie eine neue Klasse Spielstein im Projekt an. Im ersten Schritt gestalten Sie das Datenmodell der Spielsteine so, dass sich diese leicht drehen lassen. Die Grafik zeigt als Beispiel den quadratischen Bereich für den Spielstein T samt dem benötigten Programmcode. Die 0 repräsentiert ein leeres Feld, 2 die Farbe Braun.

VB: Tetris programmieren
Quadratischer Bereich: Sie sehen den Spielstein T mit dazugehörigem Programmcode.
© Archiv

Die Mitte des quadratischen Bereichs eines Spielsteines ist gleichzeitig das Drehzentrum. Beachten Sie, dass das Kästchen des Spielsteins, welches bei der Drehung am gleichen Platz bleibt, beim Spielstein T das mittlere der Dreier-Reihe ist und nicht etwa das Kästchen der dritten Zeile. Daher muss der Spielstein in der zweiten Zeile liegen, um das Drehzentrum richtig festzulegen. Wollen Sie Spielsteine mit abweichenden Formen einbauen, so ändern Sie hier einfach die Daten, ohne dass das Programm falsch läuft. Bleiben Sie nur konstant beim Schema 2x2, 3x3 und 4x4. Sind alle Spielsteine erfasst, programmieren Sie die Drehung eines Spielsteins. Hierbei kann man es sich unnötig wie mit dem Drehen beliebiger Matrizen schwer machen oder nach dem Motto keep it simple stupid (KISS) eine Routine einbauen, die mit einem einfachen Datenringtausch einen Spielstein dreht.

Um diese Ringtausch-Routine zu implementieren, achten Sie darauf, die Daten mit einem Call by Reference (ByRef) aufzurufen! Ein normaler Call by Value (ByVal) - also ein Aufruf mitWert-Kopie - würde in der Ringtausch- Routine lediglich die Daten lokal, d.h. in der Routine selbst verändern, jedoch nicht beim Aufrufer Drehen3x3 bzw. Drehen4x4. Den Code, um einen 3x3 Stein zu drehen, zeigt das Fragment.

VB: Tetris programmieren
Drehender Spielstein: Links sind die Array Offsets, in der Mitte dreht der doppelte Ringtausch den Spielstein gegen den Uhrzeigersinn um 90 Grad.
© Archiv

Für die Spielsteine im Format 4x4 dient die ähnliche Routine Drehen4x4, die mit vier Ringtausch-Aufrufen einen Spielstein vollständig um 90 Grad dreht. Damit die Spielstein- Daten bei einer Neuinitialisierung unverändert zur Verfügung stehen, muss man die Daten in einen gesonderten Arbeitsspeicher- Bereich kopieren. Solche Initialisierungen programmieren Sie am besten im Konstruktor New der Klasse Spielstein. Damit ist die Klasse Spielstein für die Version VBXtris01 abgeschlossen.

Nächste passende Artikel
N8N-programmieren-shutterstock
Automatisierte Programme, Heimnetz & Internetdienste Programmieren ohne Code: N8N
Windows klonen
Chromecast-Stick
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
Microsoft AntMe
Von Ameisen lernen Microsoft AntMe
E-Mail-Client selbstgebaut
Widgets selbst programmieren
7 Beste Excel Tipps Grafik
Makros ohne Programmieren Excel: Makros aufzeichnen