AndreR: Zeitverzögerte Handlung

Könntet Ihr mir den ein oder anderen Tip geben, wie ich eine Bauzeitverzögerung in einem Browsergame einfach realisieren könnte? Bisher speichere ich, ob gebaut oder nicht, mit einem boolschen Wert.

Mir persönlich ist in den Sinn gekommen, einfach die Fertigstellungszeit irgendwo abzulegen und dann beim Aufruf der zuständigen Dateien zu prüfen, ob die Zeit schon abgelaufen ist. Darin sehe ich allerdings das Problem, dass ja etwaige Ressurcengewinne, die im Gebäude erzielt wurden, bereits sofort nach fertigstellung gutgeschrieben werden sollen und nicht erst ab dem Zeitpunkt, ab dem der Nuter durch seinen Seitenaufruf ein Script in Gang bringt.

  1. echo $begrüßung;

    Mir persönlich ist in den Sinn gekommen, einfach die Fertigstellungszeit irgendwo abzulegen und dann beim Aufruf der zuständigen Dateien zu prüfen, ob die Zeit schon abgelaufen ist. Darin sehe ich allerdings das Problem, dass ja etwaige Ressurcengewinne, die im Gebäude erzielt wurden, bereits sofort nach fertigstellung gutgeschrieben werden sollen und nicht erst ab dem Zeitpunkt, ab dem der Nuter durch seinen Seitenaufruf ein Script in Gang bringt.

    Angenommen, das Gebäude ist fertig und produziert so vor sich hin. Wie berechnest du derzeit, wieviel schon produziert wurde?

    echo "$verabschiedung $name";

    1. Angenommen, das Gebäude ist fertig und produziert so vor sich hin. Wie berechnest du derzeit, wieviel schon produziert wurde?

      Noch gar nicht. Bisher wird noch nichts produziert und das Bauen geht sofort per Mausklick.

      1. Grüße,
        der user hat nur was von resourcen wen er das mitkriegt, mitkriegen=seite aufrufen , also wurst
        solange keine rden scrit aufruft ist s auch aegal was er produziert.

        MFG
        bleicher

        --
        __________________________-
        Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
        Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
        Boccaccio
      2. echo $begrüßung;

        Angenommen, das Gebäude ist fertig und produziert so vor sich hin. Wie berechnest du derzeit, wieviel schon produziert wurde?
        Noch gar nicht. Bisher wird noch nichts produziert und das Bauen geht sofort per Mausklick.

        Du solltest zunächst dieses generelle Produzieren betrachten, denn diesen Mechanismus solltest du auch auf dein geschildertes Problem anwenden können. Entweder du rechnest bei jedem Scriptaufruf aus, wieviel seit Inbetriebnahme eines Gebäudes produziert worden ist, oder du lässt einen Programmteil ständig laufen, der diese Berechnungen ausführt. Ersteres stelle ich mir wesentlich einfacher vor.

        Zum Beispiel so: Der Spieler entschließt sich zum Zeitpunkt X ein Gebäude zu bauen. Das Gebäude wird in seine Liste der Besitztümer aufgenommen mit einem Inbetriebnahmedatum I von X + Bauzeit. Bei späteren Abfragen die vor I liegen wird keine Berechnung angestellt. Liegt die Anfrage nach I berechnest du die produzierte Menge aus Jetzt - I * Produktionsmenge pro Zeiteinheit.
        Für alle Gebäude, die das gleiche produzieren, hast du nun also eine Summe der bisher produzierten Dinge. Davon ziehst du die Summe der bisher verbrauchten Mengen ab und hast den aktuellen Stand. Das sollte sich mit entsprechend formulierten Datenbankabfragen problemlos erledigen lassen. (Eine ermittelt die produzierte Menge, eine andere den Verbrauch. Vielleicht sind auch noch ein paar (hoffentlich wenige) mehr Anfragen notwendig, je nachdem wie dein Datenmodell aussieht.)

        echo "$verabschiedung $name";

        1. Du solltest zunächst dieses generelle Produzieren betrachten, denn diesen Mechanismus solltest du auch auf dein geschildertes Problem anwenden können. Entweder du rechnest bei jedem Scriptaufruf aus, wieviel seit Inbetriebnahme eines Gebäudes produziert worden ist, oder du lässt einen Programmteil ständig laufen, der diese Berechnungen ausführt. Ersteres stelle ich mir wesentlich einfacher vor.

          Glaube ich auch. Ich werde das dann mal versuchen, sobald ich das Registrierungs-system fertig habe.

  2. Hello,

    Könntet Ihr mir den ein oder anderen Tip geben, wie ich eine Bauzeitverzögerung in einem Browsergame einfach realisieren könnte? Bisher speichere ich, ob gebaut oder nicht, mit einem boolschen Wert.

    Ich würde das von Besuchen und/oder Handlungen des Users abhängig machen.
    Jedes Mal, wenn der User eine Aktion erfolgreich beendet hat, wird ein Zähler hochgezählt, mchat er was falsch, kann man ihm auch Punkte abziehen.

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)