Ankündigung

Einklappen
Keine Ankündigung bisher.

Hangman Projekt

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hangman Projekt

    Liebe Phplerinnen und Phpler

    Ich erstelle zurzeit für ein Schulprojekt ein Hangman.
    Doch seit tagen komme ich nicht mehr vorwärts.

    Zurzeit kann ich Random Wörter generieren und die Wörter durch "_" ersetzten.
    Doch nach jedem Klick auf einem Buchstaben wird das Wort neu generiert,
    auch wenn sich das Wort nicht neu generiert wird der String zurück gesetzt.
    z.B. Wenn das Wort "HALLO" verdeckt wird und ich den Buchstaben "A" klicke, erscheint dann "_ A _ _ _ _" was auch richtig ist, doch sobald ich "H" klicke verschwindet "A" und der String "H _ _ _ _" wird dargestellt.

    Hab mein Logik Teil in zwei File eingeteilt.
    In einem Teil wird das Random Wort generiert und durch "_" dargestellt.
    Im zweiten Teil wird "_" durch das jeweiliges gedrückter Buchstabe ersetzt.

    Hoffe Ihr konntet mich verstehen, bei fragen meldet euch bei mir.
    Ich hoffe Ihr könnt mir so schnell wie möglich weiter helfen.


  • #2
    Ja helfen schon, aber hellsehen nicht.
    Poste doch bitte deinen Code
    Fatal Error: Windows wird gestartet

    Wie administriert man ein Netzwerk: Beispiel

    Kommentar


    • #3
      PHP kann sich von alleine keine Daten merken. Sobald das Script durch ist, sind die Daten, also dein Wort, weg. Du musst es also irgendwo speichern und dem Benutzer zuordnen können. Hierfür eignen sich Sessions sehr gut.

      @Unlikus Nette Signatur
      Windows Server gehören NICHT ins Internet!

      Dildo? Dildo!

      Kommentar


      • #4
        Hier ist es für das Wort Generieren und Verdecken zustädnig.

        PHP-Code:
        <?php

        include_once ('connection.php');
        include_once (
        'dataGeo.php');

        function 
        wortGenerieren() {

            
        $dataGeo = new DataGeo;
            
        $geo $dataGeo->fetch_all();

            
        $random rand(01);
            echo 
        "Random: " $random;
            
        $zufallWort $geo[$random];
            
        $wort $zufallWort['name'];
            
        $wort strtoupper($wort);

            return 
        $wort;
        }

        function 
        anzahlBuchstaben($wort) {
            
        //Sagt aus wieviel Buchstaben dies erhaltet
            
        $Zeichen strlen($wort);

            return 
        $Zeichen;
        }

        function 
        zeichenkette($wort$Zeichen) {

        //Baut die einzelnen Buchstaben in einem Array ein
            
        $buchstabenArray = array();
            
        $zeichenArray = array();
            for (
        $i 0$i $Zeichen$i++) {
                
        $buchstabenArray[] = substr($wort$i1);
                
        //Erstellt ZeichenKette
                
        $zeichenArray[] = "_";
            }

            return 
        $zeichenArray;
        }

        function 
        verdeckt($zeichenArray$Zeichen) {
            
        $Verdeckt "";
            for (
        $i 0$i $Zeichen$i++) {
                
        $Verdeckt $Verdeckt $zeichenArray[$i] . " ";
            }
            return 
        $Verdeckt;
        }

        $wort wortGenerieren();
        $zeichen anzahlBuchstaben($wort);
        $zeichenkette zeichenkette($wort$zeichen);
        $verdeckt verdeckt($zeichenkette$zeichen);
        ?>

        Hier wird der vorheriger Code included, und damit weiter gearbeitet, doch leider included es bei jeder Prozess.
        Ich möchte nur dass dies am Anfang und am Schluss included werden, und sonst möchte ich nur mit den Werten aus der Include arbeiten
        PHP-Code:
        <?php


        function veruchVariabel(){
            
        $versuch[0] = 0;
            
        $versuch[1] = 0;
            
            return 
        $versuch;
        }
        $versuch veruchVariabel();
        if (
        $versuch[0] == 0) {
            echo 
        "hallo";
            echo 
        $versuch[0];
                include_once (
        'versuch2-1.php');
           if(isset(
        $_POST['submit'])){
            
        $versuch[0] = $versuch[0] + 1;
           }
           echo 
        $versuch[0];
           
        } if(
        $versuch[0] == 1) {

            function 
        button() {
                
        $wert $_POST['submit'];
                return 
        $wert;
            }

            function 
        vorkommnis($press$wort) {
        //Vorkommniss    
                
        $vorkommnis substr_count($wort$press);

                return 
        $vorkommnis;
            }

            function 
        zahlen($vorkommnis$versuch) {
                if (
        $vorkommnis 1) {
                    
        $versuch $versuch 1;
                } else {
                    
        $versuch $versuch 0;
                }
                return 
        $versuch;
            }

            function 
        position($press$wort$vorkommnis) {
                
        //Position Suchen
                
        $pos = array();
                
        $pos[0] = -1;
                for (
        $i 0$i $vorkommnis$i++) {
                    
        $pos[] = strpos($wort$press, ($pos[$i] + 1));
                }
                return 
        $pos;
            }

            function 
        zeichenkette2($press$vorkommnis$pos$zeichenArray) {
                
        //Ersetzen Zeichenkeitte
                
        for ($i 0$i $vorkommnis$i++) {
                    
        $zeichenArray[$pos[($i 1)]] = str_replace("_"$press$zeichenArray[$pos[($i 1)]]);
                }
                return 
        $zeichenArray;
            }

            function 
        verdeckt2($Zeichen$zeichenArray) {
                
        //Ersetzen String Verdeckt
                
        $Verdeckt "";
                for (
        $i 0$i $Zeichen$i++) {

                    
        $Verdeckt $Verdeckt $zeichenArray[$i] . " ";
                }
                return 
        $Verdeckt;
            }

            
        $wert button();
            
        $vorkommnis vorkommnis($wert$wort);
            
        $versuch[1] = zahlen($vorkommnis$versuch[1]);
            echo 
        "verändert: " $versuch[1];
            echo 
        "<br>";
            echo 
        "orginal: " $vorkommnis;
            echo 
        "<br>";
            
        $pos position($wert$wort$vorkommnis);
            if (isset(
        $zeichenkette2)) {
                
        $zeichenkette2 zeichenkette2($wert$vorkommnis$pos$zeichenkette2);
            } else {
                
        $zeichenkette2 zeichenkette2($wert$vorkommnis$pos$zeichenkette);
            }
            
        $verdeckt verdeckt2($zeichen$zeichenkette2);
            
        var_dump($zeichenkette2);
        }
        ?>

        Durch einen Controller lass ich den zweiten Code einfügen.
        Im View lass ich dann
        PHP-Code:
        <?php
                        
        echo $verdeckt;
                        
        ?>             
                        <br><br>
                        Fehlversuch: 
                            <?php 
                            
        echo $versuch[1]; 
                            
        ?>
        ausgeben

        Kommentar

        Lädt...
        X