Steine in freiem Fall

Teil 2: VB: Tetris programmieren

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

© Archiv

Quadratischer Bereich: Sie sehen den Spielstein T mit dazugehörigem Programmcode.

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

© Archiv

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

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.

Mehr zum Thema

HTML 5
Webgestaltung

Google Web Designer ist spezialisiert auf HTML5. Ein Vorteil dieses Standards ist das einfache Einbinden von Videos mit dem Element video. Wir zeigen…
Wir verraten, wie Sie Fritzboxen und andere Router vor Hackern schützen.
Fritzbox, Asus, Belkin und Co.

Fritzbox, Asus, Belkin oder DLink - die Liste der geknackten Router ist lang. Hacker stahlen Passwörter oder NAS-Daten. So machen Sie Ihren Router…
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
C# und XAML

Wir zeigen, wie Sie Windows 8.1 Apps selbst programmieren können. Lernen Sie das App erstellen an Hand unseres Beispiels: dem RSS-Feed von PC…
Windows Tipps & Tricks: Benutzerrechte unter Windows 8.1
Programme richtig installieren

Wir zeigen Ihnen, wie Sie sich unter Windows 8.1 alle Benutzerrechte verschaffen und Programme richtig installieren.
Windows 8: Starbildschirm
Microsoft Project Siena

Erstellen Sie sich selbst eine App für Windows 8, die auf alle Funktionen Ihres Tablets zugreifen kann, inklusive Kamera, Mikrofon und Lautsprecher.…