AJAX-Problem: Spielkonzept JavaScript/PHP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • AJAX-Problem: Spielkonzept JavaScript/PHP

    Okay, der Titel klingt leider ziemlich nichtssagend. Da ich leider nach mehreren Anläufen schlichtweg nicht auf die Lösung gekommen bin (ich bin dummerweise mit AJAX und Javascript noch nicht allzu vertraut), dachte ich mir, ich wende mich einfach mal an euch.

    Ich habe ein Spiel, das vor allem auf PHP basiert aber auch Javascript Features enthaltet. Dort habe ich mir jetzt etwas ausgedacht, das ich gerne so umsetzen würde, ich weiss aber nicht 100%ig, wie ich das machen muss. Und zwar:

    Bei diesem Spiel geht es darum, ein Quiz zu machen. Die Fragen sollen nach dem Zufallsprinzip aus der Datenbank ausgelesen werden. Eine Grafik zeigt an, wie viel man schon geschafft hat. Pro Frage, die man beantwortet, wird die Grafik natürlich erweitert. Also immer eine neue Grafik pro beantwortete Frage, die den Fortschritt anzeigen soll. Ich denke, da müsste ich natürlich mit einer whileschleife programmieren, die das Script abbricht, sobald die Antwort falsch ist und weiterleitet, wenn die Antwort richtig ist. Mit Ajax würde ich die Fragen auslesen (jemand meinte zu mir, dass das wohl der beste Lösungsweg ist, ich muss aber zugeben, dass ich noch nie mit Ajax gearbeitet habe). Das Bild wird gewechselt, wenn man die Antwort abgeschickt hat und sie richtig ist. Da muss ich wohl mit dem Eventhandler onclick arbeiten, der das Script mit der Überprüfung und der Grafikenveränderung durchführt. Mit einem Zähler(Variablenname) + würde der Grafikenfortschritt festgehalten werden.

    Jetzt bin ich aber leider nicht wirklich sicher, wie ich das durchführen muss. Ich erwarte nicht, dass jemand mir ein vollständiges Script macht (ich mache das sowieso viel lieber selbst), ich wüsste einfach gerne, ob mir jemand eine Idee hat, wie ich das machen muss, ich weiss einfach nicht weiter... Auch Links zu guten Tutorials wären äusserst hilfreich.


    LG,
    Snatsch
  • Ich weiß nicht so recht, was du da mit einer while-Schleife anstellen willst. Willst du etwa die ganze Zeit im Hintergrund einen PHP-Script laufen lassen? Das wäre wohl das ungünstige was du machen könntest.

    Ich würde das Problem in etwa wie folgt lösen:
    1. Der Benutzer öffnet die Seite, auf der eine zufällige Frage angezeigt wird. Bisher sind noch keine Fragen gelöst, deshalb muss auch keine Grafik angezeigt werden. Das ganze wäre eine simple PHP-Request/Response Geschichte.
    2. Er beantwortet die Frage nun, indem er der Webseite irgendeine Rückmeldung gibt (keine Ahnung, ob du hier mit Zeit oder per Mausklick auf einen Link, Button oder etwas anderes arbeiten möchtest).
    3. Diese Rückmeldung führt dazu, dass JavaScript ausgeführt und eine AJAX-Anfrage an den Server gestartet wird.
    4. Nach einer gültigen Antwort ersetzt du mit Hilfe von JavaScript Teile innerhalb der Seite. Dazu gehören zum einen, dass du eine Grafik an einer bestimmten Stelle hinzufügst und zum anderen eine neue Frage angezeigt wird.
    5. Der Prozess startet erneut bei Punkt 2.
    Wie genau eine Antwort von PHP gesendet wird und wie genau du eine AJAX-Anfrage sendest, erfährst du eigentlich in einer unheimlich großen Masse an Tutorials. Unser Meister d0nut hat bereits einige sehr gute hier im Forum verfasst: HTML, Ajax und Co, Upload Fortschritt mit PHP + AJAX

    Es empfiehlt sich außerdem, bei solch einer umfangreichen Problemstellung auf der Browser-Seite mit JavaScript-Frameworks zu arbeiten. Hierzu zwei Beispiele:
    1. Prototype (AJAX-Tutorial)
    2. jQuery (AJAX-Tutorial)
    Insgesamt empfehle ich dir aber, auf JavaScript zu verzichten und die Sache nur mit PHP zu lösen. Denn die AJAX-Anfrage ist eine Sache. Die gesamte Ersetzung und Erweiterung der Webseite sind weitere Aufgaben, die man mit den Frameworks zwar schnell und problemlos lösen kann, welche aber wiederrum streckenweise ein etwas tieferes Verständnis von JavaScript erfordern. Außerdem ist AJAX hier im Grunde nur eine Spielerei, die dieses Frage/Antwort-Spiel im Durchlauf etwas eleganter macht, aber kein Muss darstellt. Wenn du PHP kannst, solltest du sowieso erst einmal eine Lösung erstellen, die auch für die wenigen Benutzer ohne JavaScript funktioniert.