kostenloser Webspace werbefrei: lima-city


Kleines Spiel programmieren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ultimate-bravery

    ultimate-bravery hat kostenlosen Webspace.

    Guten Abend!

    Ich möchte ein kleines Spiel programmieren. Das soll wie folgt verlaufen:

    Es wird ein zufälliges Bild ausgegeben. Dieses Bild ist allerdings nur ein Teil eines Gesamtbildes, wo z.B. eine Person drauf zu sehen ist. Anhand von diesem Bild "Schnippsel" soll man sagen, wer auf diesem Bild zu sehen ist. Den Namen gibt man unter dem Bild in ein Textfeld ein. Wenn man auf "Absenden" klickt, soll ein nächster Schnippsel kommen mit einer anderen Person. Und das soll man dann wieder erraten.

    Das ganze soll dann z.B. 10 mal gemacht werden. Am Ende soll bekanntgegeben werden, wie viele Bilder man richtig hatte.

    Könnte mir jemand sagen, wie ich sowas umsetzen kann? Würde mich auch über fertigen Code freuen ;)

    Hier noch ein paar Informationen:

    -Den Code, um das Zufallsbild auszugeben, habe ich bereits
    -Der Name der gesuchten Person wird in der Variablen $person gespeichert
    -Wenn man auf den Button klickt, sollte nur ein neues Bild geladen werden, und nicht die gesamte Seite

    Ich weiß, dass da viel verlangt ist, aber vielleicht ist ja jemand bereit mir zu helfen ;)
    Bis dahin noch einen schönen Abend!
    Liebe Grüße!

    PS: Bei Fragen einfach melden!

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Um Bildausschnitte zu erzeugen, kannst du entweder die PHP Image Funktionen benutzen oder (was einfacher sein dürfte) auf CSS zurückgreifen: http://de.selfhtml.org/css/eigenschaften/positionierung.htm#clip.
  4. Ich glaube eher er möchte die Bilder nachladen und speichern wie oft der user richtig lag. Das könntest du ganz einfach mit ajax realisieren.
  5. nilsmargotti schrieb:
    Ich glaube eher er möchte die Bilder nachladen und speichern wie oft der user richtig lag. Das könntest du ganz einfach mit ajax realisieren.


    Sehr hilfreich!

    Naja, eigentlich ist das ganze recht simpel, hast du das mit der Formatierung der Bilder heraus gefunden. Einfach Bild und Namen abfragen, dann schauen ob es richtig ist und das ergebniss in einer Variablen speichern. Ganz ohne Ajax.
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    nilsmargotti schrieb:
    Ich glaube eher er möchte die Bilder nachladen und speichern wie oft der user richtig lag. Das könntest du ganz einfach mit ajax realisieren.
    Für das AJAX: du brauchst um das neue Bild zu bekommen nicht einmal AJAX, es reicht wenn du dem Bild ein neues
    src
    verpasst.

    Also z.B. so:
    document.getElementById('bild').src = 'http://www.domain.tld/bild.php?' + new Date.getTime();
    Der "Timestamp" am Ende ist dafür gut, dass das Bild sicher neu geladen wird.

    Und für den Zähler musst du jeweils mit einem XMLHttpRequest den Text des Users zum Server übertragen. Beim Server merkst du dir mit einer Session die Daten für den User...

    tchab schrieb:
    Einfach Bild und Namen abfragen, dann schauen ob es richtig ist und das ergebniss in einer Variablen speichern. Ganz ohne Ajax.
    Das ist auch möglich...
    Du fragst hierbei ein Script nach dem Namen des Bildes und holst dir das Bild ebenfalls. Diesmal funktioniert die Überprüfung Clientseitig.

    Jetzt bleibt noch die Frage: bleiben das immer die gleichen Bilder oder werden die erst dynamisch generiert?
  7. Autor dieses Themas

    ultimate-bravery

    ultimate-bravery hat kostenlosen Webspace.

    Danke für die Antworten:)

    Also die Bilder habe ich selber zugeschnitten und in einem Ordner gespeichert. Aus diesem Ordner wird mit diesem Code ein zufälliges Bild genommen:

    <?php
    
    //Ordner
    $ordner="images/easy";
    
    //Bildtypen
    $typen= array("gif","jpg","jpeg","png");;
    
    //Bilder auslesen
    $verzeichnis = opendir($ordner);
    $bilder = array();
    while($datei = readdir($verzeichnis)) {
    //Dateiendung rausfiltern
    $datei_endung = substr( strrchr($datei,".") ,1);
    if(in_array($datei_endung, $typen)) {
    $bilder[] = $datei;
    }
    }
    //Verzeichnis schließen
    closedir($verzeichnis);
    
    //Zufälliges Bild aus Array suchen
    srand ((double) microtime() * 10000000);
    $key = array_rand($bilder);
    
    //Name ohne Dateiendung
    $filename = "{$bilder[$key]}";
    $bildname = explode(".",$filename);
    
    if(isset($schnippsel[$bildname[0]]))
    	$person = htmlentities($schnippsel[$bildname[0]]);
    else
    	$person = htmlentities($bildname[0]);
    
    //Bild ausgeben:
    echo '<img src="'.$ordner."/".$bilder[$key].'" alt="Person" width="308" height="281">';
    
    ?>


    Also wenn die Variable $person == der eintrag aus dem Textfeld ist, dann zähler +1 und neues Bild laden.

    Aber wie setze ich das jetzt richtig um?
  8. Du kannst das Wie gesagt ganz einfach mit Ajax machen indem du die PHP lädst

    <?php
    
    //Ordner
    $ordner="images/easy";
    
    //Bildtypen
    $typen= array("gif","jpg","jpeg","png");;
    
    //Bilder auslesen
    $verzeichnis = opendir($ordner);
    $bilder = array();
    while($datei = readdir($verzeichnis)) {
    //Dateiendung rausfiltern
    $datei_endung = substr( strrchr($datei,".") ,1);
    if(in_array($datei_endung, $typen)) {
    $bilder[] = $datei;
    }
    }
    //Verzeichnis schließen
    closedir($verzeichnis);
    
    //Zufälliges Bild aus Array suchen
    srand ((double) microtime() * 10000000);
    $key = array_rand($bilder);
    
    //Name ohne Dateiendung
    $filename = "{$bilder[$key]}";
    $bildname = explode(".",$filename);
    
    if(isset($schnippsel[$bildname[0]]))
    	$person = htmlentities($schnippsel[$bildname[0]]);
    else
    	$person = htmlentities($bildname[0]);
    
    //Bild ausgeben:
    echo '<img src="'.$ordner."/".$bilder[$key].'" alt="Person" width="308" height="281">';
    
    //Abfrage ob Eingabe richtig oder falsch ist.
    
    if(isset($_POST['eingabe']) and $_POST['eingabe'] == $person)
    {
        if(isset($_COOKIE['counter']))
        {
            setcookie('counter',(1+$_COOKIE['counter']));
        }
        else
        {
            setcookie('counter',1);
        }
    }
    
     ?>


    Dabei wird die anzahl der richtigen Antworten im Cookie 'counter' gespeichert.
  9. nilsmargotti schrieb:
    Du kannst das Wie gesagt ganz einfach mit Ajax machen indem du die PHP lädst

    <?php
    
    //Ordner
    $ordner="images/easy";
    
    //Bildtypen
    $typen= array("gif","jpg","jpeg","png");;
    
    //Bilder auslesen
    $verzeichnis = opendir($ordner);
    $bilder = array();
    while($datei = readdir($verzeichnis)) {
    //Dateiendung rausfiltern
    $datei_endung = substr( strrchr($datei,".") ,1);
    if(in_array($datei_endung, $typen)) {
    $bilder[] = $datei;
    }
    }
    //Verzeichnis schließen
    closedir($verzeichnis);
    
    //Zufälliges Bild aus Array suchen
    srand ((double) microtime() * 10000000);
    $key = array_rand($bilder);
    
    //Name ohne Dateiendung
    $filename = "{$bilder[$key]}";
    $bildname = explode(".",$filename);
    
    if(isset($schnippsel[$bildname[0]]))
    	$person = htmlentities($schnippsel[$bildname[0]]);
    else
    	$person = htmlentities($bildname[0]);
    
    //Bild ausgeben:
    echo '<img src="'.$ordner."/".$bilder[$key].'" alt="Person" width="308" height="281">';
    
    //Abfrage ob Eingabe richtig oder falsch ist.
    
    if(isset($_POST['eingabe']) and $_POST['eingabe'] == $person)
    {
        if(isset($_COOKIE['counter']))
        {
            setcookie('counter',(1+$_COOKIE['counter']));
        }
        else
        {
            setcookie('counter',1);
        }
    }
    
     ?>


    Dabei wird die anzahl der richtigen Antworten im Cookie 'counter' gespeichert.


    Und was genau bringt dieses Ajax? Kann man das essen? Und welchen Vorteil hat es gegenüber einer Php-Lösung?
  10. Autor dieses Themas

    ultimate-bravery

    ultimate-bravery hat kostenlosen Webspace.

    Danke! Und ich kann ich dann den Wert aus dem Counter ausgeben?

    Und was genau bringt dieses Ajax? Kann man das essen? Und welchen Vorteil hat es gegenüber einer Php-Lösung?


    Wie wäre denn die PHP Lösung?

    Beitrag zuletzt geändert: 27.5.2012 11:47:48 von ultimate-bravery
  11. ultimate-bravery schrieb:
    Danke! Und ich kann ich dann den Wert aus dem Counter ausgeben?

    Und was genau bringt dieses Ajax? Kann man das essen? Und welchen Vorteil hat es gegenüber einer Php-Lösung?


    Wie wäre denn die PHP Lösung?


    Also die PHP-Lösung wäre halt, dass die Seite 10 mal neu geladen.

    Ajax macht dass dein letzter Wunsch

    -Wenn man auf den Button klickt, sollte nur ein neues Bild geladen werden, und nicht die gesamte Seite

    in Erfüllung geht.

    Frage hast du dich schon mit JavaScript auseinander gesetzt?

    AJAX: Ist eine Möglichkeit Inhalten nachzuladen.

    Beitrag zuletzt geändert: 27.5.2012 12:07:22 von nilsmargotti
  12. Autor dieses Themas

    ultimate-bravery

    ultimate-bravery hat kostenlosen Webspace.

    Ne mit javascript kenne ich mich nicht aus.

    Angenommen ich würde die PHP Variante nehmen:

    Könnte ich es so machen, dass es insgesamt 10 Seiten gibt. Diese sind von 1 bis 10 nummeriert und stehen als Link unter dem Formular, wo man den Namen eingibt. Man befindet sich am Anfang auf Seite 1. Wenn man auf Absenden klickt, kommt man auf Seite 2. Der Link zu Seite 1 wird so gemacht, dass man nicht mehr drauf klicken kann. Dann soll es noch die Option geben, dass man ein bild überspringen kann. Wenn man das macht kann man hinterher wieder zu dem Bild wechseln und es dann versuchen zu lösen. Am Ende wird dann halt gesagt, wie viele Richtig waren und am besten noch wie lange man gebraucht hat.

    Wie kann ich das umsetzen? Ich habe leider überhaupt keine Idee -.-

  13. ultimate-bravery schrieb:
    Ne mit javascript kenne ich mich nicht aus.

    Angenommen ich würde die PHP Variante nehmen:

    Könnte ich es so machen, dass es insgesamt 10 Seiten gibt. Diese sind von 1 bis 10 nummeriert und stehen als Link unter dem Formular, wo man den Namen eingibt. Man befindet sich am Anfang auf Seite 1. Wenn man auf Absenden klickt, kommt man auf Seite 2. Der Link zu Seite 1 wird so gemacht, dass man nicht mehr drauf klicken kann. Dann soll es noch die Option geben, dass man ein bild überspringen kann. Wenn man das macht kann man hinterher wieder zu dem Bild wechseln und es dann versuchen zu lösen. Am Ende wird dann halt gesagt, wie viele Richtig waren und am besten noch wie lange man gebraucht hat.

    Wie kann ich das umsetzen? Ich habe leider überhaupt keine Idee -.-



    Ernsthaft:

    Bevor du das machst: Lies dich in PHP ein. Mach kleiner Dinge, egal was. Und wenn das geht, machst du was größeres. Und irgendwann wirst du soweit sein, dein Ziel zu erreichen. Aber wenn du dich nicht mit php auskennst, hat das ganze keinen Sinn.
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!