Bilder | Version 2.2 |
class Case
Eine Instanz von Case beschreibt ein Feld des Spielfeldes.
Case.pos
Liste mit 2 Integer
Position des Feldes im Spielfeld. Liste mit 2 Integer.
Case.dpos
Liste mit 2 Integer
Position des Feldes auf dem Bildschirm. Liste mit 2 Integer.
Case.npos
Liste mit 2 Integer
Position des Feldes auf dem Bildschirm ohne der Korrektur. Liste mit 2 Integer.
Case.size
Liste mit 2 Integer
Grösse des Gebäudes/Feldes in Spielfeldeinheiten. Felder haben die grösse [1,1]. Liste mit 2 Integer.
Case.typ
Integer
Typ,ID des Gebäudes/Feldes. Integer. Siehe Liste der IDs.
Case.datei
String
Dateipfad zur Bilddatei, relativ zum Hauptprogramm.
Case.bauen
Integer
1: auf das Feld kann gebaut werden
0: auf das Feld kann nicht gebaut werden
0: auf das Feld kann nicht gebaut werden
Case.link
Liste mit 2 Integer / None
Ist das Feld ein Link, so sind die Einzigen Attribute 'pos' und 'link' !!!
Liste: | Koordinaten des Feldes auf das verwiesen wird. Ist zB. das Feld von einem Gebäude belegt, dessen linken oberen Ecke als referenz gilt. |
None: | gibt es kein Link |
Case.korr
Integer
Verschiebung (nach Oben) der dpos (position auf dem Bildschirm). Simuliert die 3. Dimension (Höhe der Gebäude). Berechnung: H - (h*s) , mit H= Höhe des Bildes, h= höhe des Bildes des einzelnen Feldes (diagonale der Raute) und s= Y-Wert des Case.size
Case.islink()
Bool
True: | Ist das Feld ein Link. |
False: | Ist das Feld kein Link |
Class Monde
Monde.monde
Liste
Die Welt, als Koordinatensystem von Feldern. Monde.monde ist eine 2D-Liste. Jedes Feld kann über dieses System direkt mit seinen Koordinaten angesprochen werden: Feld bei [2,1] --> Monde.monde[2][1]. Jedes einzelne Feld ist eine Instanz der Klasse Case.
Monde.draw
Liste
Eindimensionale (!) Liste der Objeket aus Monde.monde, die auf den Bildschirm gezeichnet werden. So braucht man beim Bauen nicht die gesammte monde liste durchgehen (da ausserhalb des Bildschirmes wohl kaum gebaut werden kann). Die Liste wird duch Monde.scroll() erzeugt, und zwar jedes Mal, wenn die Endlosschleife abgearbeitet wird.
Monde.neu
Dictionary von Dictionaries
Enthält Informationen über die verschiedenen Objekte. Wird ein neues gebaut, so werden die Attribute aus dem neu dict geholt. Die Keys sind die IDs des Objektes.
Die Keys und Inhalt der Dictionaries im Dictionary werden in der Datei bgruppen.txt festgelegt.
Die Keys und Inhalt der Dictionaries im Dictionary werden in der Datei bgruppen.txt festgelegt.
Monde.bauen
Liste
Liste der Objekte die überbaut werden sollen. Wird nur von bauen() verändert. Wenn nicht gebaut wird ist die Liste leer. Wird ein Haus gebaut ist in der Liste nur ein Objekt.
Monde.zoom
Integer: 0,1,2
Zoomstufe:
zoom | 1 Feld in px |
0 | 26x15 |
1 | 52x30 |
2 | 104x60 |
Monde.champs
Liste
Liste mit den IDs (Integer), die Felder sind:
[1,3]
[1,3]
Monde.batiments
Liste
Liste mit den IDs (Integer), die Gebäude sind:
[10,11,15,20,21]
[10,11,15,20,21]
Monde.chemins
Liste
Liste mit den IDs (Integer), die Wege sind:
[2]
[2]
Monde.Spielbrett(zoom)
Rechnet monde.dpos aus. Sorgt für die Perspektive (dass die Rauten sich aneinanderreihen). zoom ist die zoomstufe, für die dpos der Objekte berechnet werden soll.
Monde.scroll((width,height),speed)
Geht der Spieler mit seiner Maus an den Rand des Spielfeldes, scrollt die Karte. monde.draw wird geupdatet und dpos und npos der Objekte in monde werden verschoben. Speed ist die scrollgeschwindichkeit. (width,height) ist die grösse des Bildschirmes.
Monde.Bauen(typ)
Wird aufgerufen sobald menu.mode auf "bauen" gesetzt ist. Baut die Gebäude, Strassen und Felder. Typ ist der zu bauende typ (ID).
Class Menu
Menu.pos
Liste mit 2 Integern
Position (linke obere Ecke) des Menus
Menu.mode
Liste
Modus im menu:
Index | type | Bemerkung |
0 | String | modus: "bauen", "info" ,"conf" |
1 | Integer | ID des Objektes, welches gebaut wird |
Menu.background
Dictionary
Definiert den Hintergrund des Menus.
key | type | Bemerkung |
datei | String | Dateinamen und rel Pfad zur Bilddatei |
pos | List | position des Hintergrundes |
img | Pygame image Objekt | |
rect | Pygame Rect Objekt |
Menu.freearea
Dictionary
Definiert den linken Bereich im Menu, da wo noch nichts ist.
key | type | Bemerkung |
pos | List | position: [0,0] |
size | List | grösse: [200,200] px |
Menu.tablist
Liste von Button objekte
Definiert die Tab liste. Liste (von Oben nach Unten) der Buttonobjekte. button.action sind in diesem Fall die Strings "bauen", "info" und "conf". Es sind die gleichen, die auch für menu.mode benutzt werden.
Menu.infopannel
Dictionary
Definiert die Tab liste. Liste (von Oben nach Unten) der Buttonobjekte. button.action sind in diesem Fall die Strings "bauen", "info" und "conf". Es sind die gleichen, die auch für menu.mode benutzt werden.
key | type | Bemerkung |
pos | List | position: [200,0] |
bauen | List | Liste der Objekte, die erscheinen, wenn der bauen Modus aktiv ist: buttons, mit button.action = ID des Gebauten. |
info | List | Liste der Objekte, die erscheinen, wenn der info Modus aktiv ist |
conf | List | Liste der Objekte, die erscheinen, wenn der config Modus aktiv ist |
Menu.update()
setzt menu.mode je nach angecklickter Tab. Im Baumodus werden die buttons pressed und unpressed.
Type IDs
Die Bilder sin in 3 verschiedenen grossen vorhanden: -z2 -z1 -z0und in einer helleren version (in jeder grösse): -b
ID | objekt | dim. px | dim | datei |
---|---|---|---|---|
1 | Wiese | 104x60 | 1x1 | wiese-z2-n.png |
2 | Steinweg | 104x60 | 1x1 | weg-h-z2-n.png |
3 | Kornfeld | 104x71 | 1x1 | feld-korn-z2-n.png |
4 | Baum | 104x102 | 1x1 | baum1-z2-n.png oder baum2 |
10 | Haus lvl0 | 312x217 | 3x3 | haus-lvl0-z2-n.png |
11 | Haus lvl1 | 312x268 | 3x3 | haus-lvl1-z2-n.png |
15 | Kontor lvl1 | 312x272 | 3x3 | kontor-lvl1-z2-n.png |
20 | Getreidefarm | 312x246 | 3x3 | farm-korn-z2-n.png |
21 | Mühle | 279x379 | 2x2 | muele-z2-n.png |
22 | Bäcker | 208x170 | 2x2 | baecker-z2-n.png |
23 | Forsthaus | 208x163 | 2x2 | forsthaus-z2-n.png |
40 | Bote (Mensch) | -x- | -x- | manh-z2-n.png |
41 | Einwohner (Mensch) | -x- | -x- | manh-z2-n.png |
Güter IDs
jedes Gut hat eine ID, angefangen wird bei 100, weil vorher die Gebäude numeriert werdenID | objekt |
---|---|
110 | Korn |
111 | Mehl |
112 | Brot |