Workshop – Spieleprogrammierung (Sokoban)
Die auf Flash basierte Umsetzung des Spieleklassikers Sokoban ist ein interessantes und nützliches Beispiel zum Themenschwerpunkt Spieleprogrammierung. Die Programmierung stützt sich hierbei auf ActionScript 2.0. Schritt 1:
Sie benötigen als Erstes einen Flashfilm, diesen sollten Sie unter dem Namen Sokoban.fla speichern.
Schritt 2:
Im ersten Schlüsselbild der Hauptzeitleiste platzieren Sie in der Aktionen-Ebene folgende ActionScript-Codezeilen:
var Game: GameEngine = new GameEngine(20);Game.LoadLevelData("levels.xml");
Schritt 3:
Als Nächstes wenden wir uns der benutzerdefinierten GameEngine-Klasse zu und stellen Ihnen den Aufbau der Klasse vor.
// GameEngine (Klasse)class GameEngine{// Private Variablen// ...// Public Variablen// ...// Constructor Funktionpublic function GameEngine($tilesize: Number){// ...}// Daten-Methodepublic function LoadLevelData($filename: String): Void{// ...}// Level-Methodepublic function LoadLevel($dim: TPoint, $pos: TPoint, $s: String, $dir: String, $Offset: TPoint): Void{// ...}// NewLevel-Methodeprivate function NewLevel(): Void{// ...}// RestartLevel-Methodeprivate function RestartLevel(): Void{// ...}// FinishLevel-Methodeprivate function FinishLevel(): Void{// ...}// Tastatur-Steuerungpublic function KeyDown($key: Number): Void{// ...}// LoadTile-Methodeprivate function loadTile($x, $y, $tile: Number, $overld: Boolean): Void{// ...}// CopyArray-Methodeprivate function copyArray($array): Array{// ...}// Move-Methodeprivate function Move($direction): Void{// ...}// Draw-Methodepublic function Draw(): Void{// ...}// Bodenprivate function Floor($point): Boolean{// ...}// Wandprivate function Wall($point): Boolean{// ...}// Boxprivate function Box($point): Boolean{// ...}// Lösungprivate function Solution($point): Boolean{// ...}// Exitprivate function ExitToEditor(): Void{// ...}// Destructorpublic function Destructor(): Void{// ...}}
Schritt 4:
Um das Spiel zum Leben zu erwecken, fehlt Ihnen nur noch die levels.xm- Datei, welche sämtliche für das Spiel zur Verfügung stehenden Levels und deren Aufbau enthält. Der Aufbau der Levels innerhalb der XML-Datei stellt sich wie folgt dar:
<xmlfeed><item><title>Easy start</title><player x="4" y="4" direction="down" /><level maxsteps="100" width="8" height="8">..111.....131.....1211111114243113242111111141.....131.....111..</level></item></xmlfeed>
Schritt 5:
Abschließend können Sie das Spiel testen und um weitere Levels oder Optionen erweitern. Bitte beachten Sie, dass die Erweiterung der Spiellevel innerhalb der levels.xml-Datei vorgenommen werden muss!




