Hallo und einen guten Abend zu dies später Stunde,
ich hab nun seit mehren Stunden, und zwei Tagen ein kopfzerbrechends Problem wo ich nicht weiter komme und jetzt einfach mal, fragen wollte um somit eventuell ein bischen Ordnung in mein Kopf zu kriegen. Wie auch immer kommen wir zu meinem Problem. Es liegt hierbei nicht an der Programmierung direkt sondern an der Umsetztung, genau da stehe ich auf dem Schlauch.
Ich möchte für meine Einheiten im Browsergame eine Bauschleife.
Kurz zum Prinzip, die Einheiten sind unterteilt in 3 verschiedene Typen. Die "0" steht für Infanterie, "1" für schweres Gerät (Panzer & Co.), "2" steht für die Luftwaffe.
Umgesetzt habe ich bereits das maximal zehn Aufträge ausgeführt werden (was für eine Meisterleistung ). So zudem wird jede Einheit einzeln produziert - spricht wenn ein Spieler den Auftrag gibt 100 Soldaten zu produzieren die 3600 Sekunden (eine Stunde) "Bauzeit" benötigen wird trotz alle dem für Minute der eine Soldat produziert und von der Gesamtmenge abgezogen. Soweit funktioniert das ganze auch ohne Problem.
Eigentlich sollte jetzt der Banale teil kommen, aber hier stehe ich anscheined auf dem Schlauch.
Ich habe mir das so vorgestellt das die Liste abgearbeitet wird, und nach der Fertigstellung zum nächsten "weiterspringt". Und das es natürlich möglich ist jeden Auftrag wieder abzubrechen.
Hierbei habe ich mir die Spalten überlegt die ich mindestens brauche um die Datenbank mit den neuen Einheiten zu füttern.
Das sind diese hier:
id | eid (Einheiten ID) | menge | sid (Stadt ID) | typ
id | eid (Einheiten ID) | menge | sid (Stadt ID) | starttime | endtime | bauzeit (gesamt) | typ
Das hatt auch alles funktioniert, doch da kam mir die Idee - Ich muss ja noch das Abbrechen der Produktion einbauen. Aber genau da wurde es schwierig und es schien mir gar unmöglich mit diesem Aufbau das Abbrechen zu ermöglichen. Die |starttime| sowie die |endtime| basieren nämlich auf der Rechnung wann die vorherige Einheit gestartet bzw fertiggstellt werden soll. Somit müsste man alle Sachen neu berrechen. Kurzum empfand ich das als eine relative Schwachsinnige Idee und nahm mir zu Herz eine einfachere Methode zu entwickeln. Mit dieser bin ich dann aber noch mehr gescheitert.
Inzwischen sieht meine Datenbank so aus:
id | sid | eid | menge | endtime| typ | position
Nun und jetzt stehe ich komplett auf dem Schlauch, ich hab keine Ahnung wie ich sinnvoll diesen Weg angehen soll, und hoffe das ihr mich enventuell kleine Denkhilfen verpassen könntet.
Wie gesagt mir ist es wichtig folgende Punkte zu erfüllen:
- Bauschleife (max 10 Einträge)
- Jede Einheit wird nach ihrer Bauzeit eingetragen (Siehe Anmerkung oben)
- Aufträge laufen nacheinander ab
- Abbrechen soll möglich sein
Schönen Abend noch, s1x