Steine in freiem Fall

Teil 3: VB: Tetris programmieren

Jetzt programmieren Sie dasSpielfeld wiederum als Klasse in einer ersten Version. Es enthält im Wesentlichen die augenblickliche Spielsituation, welche durch das laufende Spiel entstanden ist. Dafür istwieder ein zweidimensionales Array (spf im Beispielcode) zuständig, welches Kästchen als Einträge verwaltet. Ein Eintrag 2 im Array bedeutet beispielsweise, dass dort ein braunes Kästchen dargestellt werden soll. Eine 0 stellt den Hintergrund dar. Zudem programmieren Sie das Spielfeld so flexibel, dass Sie die Größen ohne viel Aufwand ändern können. Dazu übergeben Sie dem Konstruktor einfach die entsprechenden Werte für Breite und Höhe und erzeugen das Spielfeld nach den Vorgaben. Hierzu müssen Sie keinerlei Eingaben oder grafische Ausgaben programmieren! Je strikter Sie den Code zum Berechnen und Anzeigen trennen, desto einfacher wird die Fehlersuche!

VB: Tetris programmieren

© Archiv

Code zum Drehen des Spielsteins: Sie implementieren die Routine Drehen3x3, welche die Routine Ringtausch aufruft.

Vorrausetzung ist auf jeden Fall, dass ein Set von Grafiken bereitsteht, welches alle Spielsteine darstellen kann. Um die Bilder im Programm als Resourcen einzubinden, hilft ein kleiner Trick: Platzieren Sie eine PictureBox auf der Haupt-Form des Projekts. Wählen Sie bei den Eigenschaften der PictureBox Image, und klicken Sie auf den kleinen Button mit den drei Punkten. Beim darauf folgenden Requester wählen Sie importieren und selektieren gleich alle Grafiken auf einmal. Die Picture- Box können Sie nach dem Importieren wieder löschen, die neuen Resourcen bleiben trotzdem erhalten.

Doch mit welcher Technik visualisieren Sie das Spielfeld am besten? Mit einer simplen Methode programmieren Sie einfach ein Array von PictureBoxen, welches pro PictureBox einem Kästchen im Spielstein entspricht. Sinnvollerweise passen Sie das zugrunde liegende Formular Fenster gleich den Größenverhältnissen automatisch an, wie dies der Beispiel-Code macht.

Ein Spielfeld-Timer, den Sie alle 400 Millisekunden aufrufen, taktet das Spielfeld. Ziehen Sie dazu einen Timer aus der Toolbox auf das Hauptfenster, und setzen Sie bei den Eigenschaften Interval auf 400 und Enabled auf True. In diesem Rhythmus soll nämlich der Spielstein von oben fallen. Für den Moment reicht es, hier eine Routine OutSpielfeld unterzubringen, welche das spf-Array der Spielfeld Klasse auswertet und optisch umsetzt. Starten Sie nun den Code, dann sehen Sie in dieser Version nur den leeren Spielfeldhintergrund. Sonst geschieht nichts, da Sie ja noch keine Spielregeln eingebaut haben. Doch weil das Spiel in den Grundzügen komplett ist, können Sie nun im nächsten Schritt die ersten einfachen Spielregeln implementieren.

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.…