Informatikabitur - Projekt in Python

Version 1.0

Das Projekt besteht in diesem Stadium aus 3 Phasen: Initialisierung, Endloschleife, Repositionierung.

Die Initialisierung kümmert sich um das Laden der map-Datei und das aufbauen des monde-Arrays, welches auch die „Realen“ Koordinaten der Bilder beinhaltet. Die initialisierung wird nur einmal ausgeführt.

Die Endloschleife beinhaltet das eigentliche Programm, d.h. Alle Funkionsaufrufe, die während des Spiels ausgeführt werden. Sie wird durch das Eventhandling von Pygame unterbrochen (esc-Taste). In dieser Schleife wird auch die Scrollingfunktion aufgerufen.

Das Scrolling kümmert sich darum, das der Spieler auch das was geschieht sieht. Gerät die Maus an den Rand des Fensters, werden alle Objekte verschoben.

 

Es gibt momentan 2 besonderst wichtige Arrays: monde und draw.

Monde beinhaltet die Welt. Sie ist in weitere Arrays aufgeteilt, und zwar so, das man auf ein Objekt mis seinen spielkoordinaten zugreifen kann: monde[0][2] wäre das Objekt mit den koordinaten (0,2). Also ist monde[0] eine Spalte, Zeilen sind monde[n][0]. Die Eigenschaften jedes Objekts liegen in einem dictionary.

 

Key

Type

Bem.

pos

array

spielkoordinaten

datei

string

Pfad zu Bilddatei

img

Pygame

Image object

rect

pygame

Rect object

dpos

array

Position auf dem Bildschirm

 

Rot sind die Felder, die nicht in die map datei gespeichert werden.

Draw ist das array, welches die nach dem aufruf von scroll zu zeichende Felder. Es werden nicht alle Felder auf einmal gezeichent, sondern nur die sichtbaren + buffer. Das array enthält für jedes Objekt ein Unterarray: in 0. Position das Bild und in 1. Position das rect zu diesem.

 

Wichtige Variabeln:

global array monde

global array draw

global array size

global array black

global pygameType screen

 

Wichtige funktionen:

scroll(int speed) → draw

load() → monde

 

 

bild1 screenshot haus weg wiese

source code