Version 1.8
update version 1.8
Die tab-Buttons im Menu haben sich geändert, ausserdem gibt es einen neuen Tab "config", in dem man monde speichern kann. (Speichern geht auch mit "s" Taste)
Löschen Funktion im bau-Modus eingeführt. Wenn auf ein Haus geklickt wird, wird es mit seinen links gelöscht. Ausserdem geht auch das Löschen von ganzen Flächen, als wenn man ein Feld bauen würde
Das bauen kostet nun auch Geld (vorläufig Taler, bis mir eine bessere Währung einfällt) es wird aber noch kein bisschen getestet, ob genug Geld verfügbar ist, usw ... Die Kosten sind in bgruppen.txt gespeichert
Alle 4sec wird eine pseudoFunktion ausgeführt, sie soll später das Abrechnen der Runden (Kosten, Bilanz, zuwachs etc) übernehmen.
TO DO: bilder neu und schöner, vor allem gui (Dauertodo)
Bug: scroll wird bei zoom immer wieder auf null gesetzt, d.h. scroll muss erhalten bleiben (dpos? draw?)
Bug: haus bauen schaut nicht nach ob monde zu ende ist, Häuser, die in den Rand der map gebaut werden --> index out of range
Bug: weg bauen ist immer noch eune Notlösung
Variabeln
monde
in grün die Felder, die in die Level-Datei gespeichert werden.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 |
type | string | Typ des objekts siehe Tabelle, soll in integer konvertiert werden |
npos | array | dpos ohne korrektur in z richtung |
korr | int | korrektur zur höhe der gebauede (in z richtung) |
bauen | int | ob das Feld bebaubar ist: 0 False , 1 True |
size | array | grösse des Objektes, in feldern |
bauen
in grün Felder. in rot häuser. in blau wege.key | type | Bem. |
---|---|---|
type | integer | Typ ID des Objekts |
begin | array | koordinaten des Begins des zu bauenden Feldes |
end | array | koordinaten des Ende des zu bauenden Feldes |
inhalt von monde | dict | inhalt des monde eintrages, der später in monde geschrieben wird |
begin | array | koordinaten des Begins des zu bauenden Feldes |
end | array | koordinaten des Ende des zu bauenden Feldes |
weg | array | inhalt von monde der zu bauenden wegelemente als array |
menu
key | type | Bem. |
---|---|---|
bauen | array | bau-menu, enthält dicts |
oben | dict | obere haelfte des menus |
conf | dict | config tab |
show | string | welcher tab angezeigt wird (bauen,info) |
menu["bauen"]
key | type | Bem. |
---|---|---|
datei | string | icon datei |
pos | array | relative position, absolute wird in for schleife ausgerechnet |
size | array | size in px des icons |
type | int | welcher type id gebaut werden soll |
menu["oben"]
key | type | Bem. |
---|---|---|
tabs | dict | tabs (bauen,info) ähnlich wie menu["bauen"] aufgebaut, nur dass type der menu dict index des tabs ist |
menu["conf"]
key | type | Bem. |
---|---|---|
save | array | momentan nur "lock" als key, schalter um doppling beim klick zu vermeiden |
sonstige vars
key | type | Bem. |
---|---|---|
zoomf | int | zoomfaktor , 0 klein , 1 mittel , 2 gross |
mode | string | modus: b bauen , i, info |
sel | array | koordinaten der auswahl im infomodus |
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 |
10 | Haus lvl0 | 312x217 | 3x3 | haus-lvl0-z2-n.png |
11 | Haus lvl1 | 312x268 | 3x3 | haus-lvl1-z2-n.png |
Dateien und Funktionen
main2.py
- scroll(int speed) --> draw
- menu_update(array mouse)
- init_monde(monde,zoomf) --> monde
- zoom(monde,zoomf,neu) --> {monde,neu}
- main infinite loop (not a function)
bauenf.py
- bauen_weg(monde,draw,mouse, neu, bauen) --> {monde,bauen}
- bauen_feld(monde,draw,mouse, neu, bauen) --> {monde,bauen}
- bauen_haus(monde,draw,mouse, neu, bauen) --> {monde,bauen}
load.py
- load() --> array monde
- load_neu() --> dict neu
- load_menu_bauen() --> array menu bauen buttons
bilder.py
- hell(liste)
- size(liste)
Screenshot
![]() |
![]() |
![]() |
![]() |
![]() |
source code 02.11.11
1045 lines on 27.10.11
this file 230 lines