GebÀudebau

Patrizier Sven

Viele Dinge zu beachten

GebĂ€udebau ist gar nicht mal so einfach wie es im ersten Moment klingt. Die Aufgabe ist ganz simpel: „Der Spieler soll grafisch neue GebĂ€ude in der Stadt bauen können“.

Also frisch ans Werk, einen kurzen Ablauf skizziert und mögliche Probleme aufgedeckt. Dazu notiere ich die Ausgangslage und hangle mich bis zum gewĂŒnschten Ergebnis.

Grober Ablauf fĂŒr den GebĂ€udebau

aktuelle Stadtansicht

Stadtansicht

  • der Spieler hat die Ansicht der Stadt vor sich
  • der MenĂŒpunkt „bauen“ wird gewĂ€hlt, eine Auswahl der verfĂŒgbaren GebĂ€ude wird aufgelistet
  • das zu bauende GebĂ€ude wird gewĂ€hlt, die Details wie Preis, Bauzeit und benötigtes Material werden angezeigt
  • der Spieler bestĂ€tigt den Bau, dass Bargeld und der Warenbestand geprĂŒft
  • die Stadt wird ohne GebĂ€ude mit möglichen BauplĂ€tzen angezeigt
  • GebĂ€udeauswahl fĂŒr den Neubau

    GebÀudeauswahl

    Bauplatz fĂŒr den GebĂ€udebau wird gewĂ€hlt, Bargeld und Warenbestand werden erneut geprĂŒft (kann sich ja inzwischen geĂ€ndert haben)

  • Geld wird abgezogen, Warenbestand wird verringert, das GebĂ€ude wird mit Status „im Bau“ erzeugt
  • der Daemon wird beauftragt das GebĂ€ude nach Ablauf der Bauzeit fertig zu stellen

Verfeinerung der Details

Das Grobe sind schon mal einige Punkte, die dann vor der Programmierung noch weiter verfeinert werden mĂŒssen. So ergeben sich beim Punkt „die Stadt wird ohne GebĂ€ude mit möglichen BauplĂ€tzen angezeigt“ folgende zu beachtende Dinge:

Bauplatzwahl fĂŒr den GebĂ€udebau

Bauplatzwahl

  • auf dem gewĂŒnschten Bauplatz darf noch kein GebĂ€ude stehen
  • auf dm Bauplatz darf auch kein Weg bzw. keine Strasse sein
  • ein GebĂ€ude darf nur direkt an einer Strasse gebaut werden
  • ein GebĂ€ude kann grĂ¶ĂŸer als 1×1 KĂ€stchen sein, d. h. alle zu belegenden KĂ€stchen mĂŒssen leer sein
  • muss noch Platz fĂŒr neue Strassen gelassen werden?

»«

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.