2016-04-12 4 views
1

Ich habe in meinen Tagen viele textbasierte Webspiele erstellt, und ich habe immer PHP, JS und MySQL verwendet.Wie man einen Countdown/Timer für ein Spiel macht PHP/JS

Eine Sache, die ich nie verstanden habe, ist, wie man den "Timer" zwischen Aktionen erstellt. Sagen wir, es ist ein Spiel, in dem Sie Banken ausrauben. Sobald Sie auf "Rob bank" klicken, beginnt ein Countdown, zum Beispiel 2 Minuten. Und unter diesen 2 Minuten kannst du die Bank nicht wieder rauben, bis diese 2 Minuten vergangen sind. Ist es möglich, diese Art von Countdown/Timer-System mit PHP & Javascript?

Kann mir jemand in die richtige Richtung zeigen?

+0

up Look, setTimeout() Funktion zu berauben. – nnnnnn

Antwort

1

Sie müssen einen Zeitstempel irgendwo auf Ihrem Server speichern und an Ihre Kunden senden. Nehmen wir das Beispiel mit der Bank:

Ich nehme an, Sie haben mehrere Banken, und speicherten sie in einer Datenbank, ist das richtig? Wenn dies der Fall ist, wenn ein Benutzer beginnt, diese Bank auszurauben, setzen Sie eine startRobTimestamp auf diese Bank. Die Benutzer können diese Bank nur dann wieder ausrauben, wenn der aktuelle Zeitstempel 2 Minuten größer ist als der startRobTimestamp.

Dies ist natürlich sehr einfach, aber die genaue Implementierung hängt sehr von Ihrer Datenverarbeitung ab.

+0

Ich dachte tatsächlich darüber nach, als ich die Frage schrieb. Ich denke, das wäre eine der besten Lösungen. Offensichtlich sollte der Spieler nicht in der Lage sein, den Timer zu manipulieren, und ich denke, das wäre ziemlich sicher, da der Zeitstempel in der Datenbank ist. Und php überprüft die Zeit auf dem Server im Vergleich zum Zeitstempel, muss ziemlich sicher sein? – jdoe

+0

Ja, als allgemeine Regel möchten Sie Client-und Server-Side-Checks haben, auf diese Weise Manipulieren der Zeitstempel ist (fast) unmöglich für die Spieler –

0

helfen Dies könnte: http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/

Sie können dann die tatsächlichen Variablen überwachen und halten Banken deaktiviert, bis alle sind gleich 0.

+0

Ja. Sie möchten auf jeden Fall die tatsächliche Startzeit vom Server erstellen, diese an js übergeben, um den Countdown anzuzeigen. Wenn der Benutzer es über die Konsole auf 0 setzt, kann der Server einen Fehler ausgeben, der besagt, dass noch immer x Zeit übrig ist. –

Verwandte Themen