Version 2.2
update version 2.2
Sehr vieles hat sich geändert seit der letzten Version. Nun gibt es einen 'Boten', der Waren von der Farm zum Kontor bringt. Dazu musste ich einige neue Variabeln und Funktionen definiren.
Ausserdem Stosste ich auf das Problem des Kürzesten Weges. Ich habe einige Algorythmen gefunden, darunter auch den von dijkstra, der auch in Routenplanern zum Einsatz kommt. Alles was das Finden der Route für die Boten betrifft, ist in einer eigenen Datei "chemin.py" untergebracht. Die Entwicklung der Funktionen, mit Hilfe derer ich den Algorythmus benutzen kann, hat 2Tage und 400 Zeilen Code für Experimente in anschpruch genommen.
Der Speicher der Gebäude ist vollständig auf dict Struktur umgebaut. {typ:menge,...}
Die Weizenfarm hat ein Bild bekommen.
TO DO: Zeichne die Boten korrekt.
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
Variabeln
siehe Variabelnin der bgruppen.txt sind Preise und Eigenschaften der Gebäude festgelegt, ausserdem auch das Menu.
Dateien und Funktionen
main2.py
- scroll(int speed) --> draw
- menu_update(array mouse)
- zoom(monde,zoomf,neu) --> {monde,neu}
- walk_road(monde, leute, neu) --> leute
- main infinite loop
initgame.py
- init_monde(monde,zoomf) --> monde
- init_menu(width,height) --> menu
chemin.py
- nextelement(w,wege) --> list [x,y]
- find_nodes(wege) --> list nodes
- find_all_roads(wege,nodes) --> list roads
- dijkstra(graph, start, end) --> list route
- nodes_to_list(chem2,roads) --> list nodes
- graph_data(nodes,roads) --> dict graph
- convert_str_to_list(chem) --> list
logic.py
- produktion(monde,players,r) --> players
- runde(monde,wege,nodes,neu,players,r,leute,plock) --> {monde,players,plock,leute}
- anschluss_geb(monde,f) --> list anschluss
- transport_laufen(monde,leute,neu,wege,nodes,sourceinfo,destinfo,anschluss_markt,anschluss_farm,gut) --> leute
- markthaus(monde,wege,nodes,neu,players,leute) --> leute
- kreis(monde,O,r) --> liste [x,y]
bauenf.py
- bauen_weg(monde,draw,wege,nodes,mouse,neu,bauen,players,pla) --> {monde,bauen,players,wege,nodes}
- bauen_feld(monde,draw,mouse,neu,bauen,z,players,pla) --> {monde,bauen,cost,players}
- bauen_haus(monde,draw,mouse,neu,bauen,z,players,pla) --> {monde,bauen,cost,players}
- delete(monde,draw,leute,mouse,neu,bauen,zoomf,players,pla) --> {monde,bauen,players,leute}
load.py
- load(datei) --> dict{array monde , dict players}
- load_neu() --> dict neu
- load_menu_bauen() --> array menu bauen buttons
- save(datei,monde,players)
bilder.py
- hell(liste)
- size(liste)
Screenshot
![]() |
![]() |
![]() |
source code 27.12.11
1,9k lines on 27.12.11