tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
764
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Adil Herceg Adil Herceg ist offline Grünschnabel
    Registriert seit
    May 2011
    Beiträge
    4
    Hallo,
    ich habe folgendes Problem, ich soll als Projekt ein Tic Tac Toe Spiel in HTML und PHP programmieren, sozusagen beides gemischt, allerdings habe ich so gut wie überhaupt keine Ahnung davon, jedoch brauche ich es, damit ich nicht eine all zu schlechte Note kriege, welche mir den Abischnitt total versauen würde... Deswegen würde ich um Hilfe bitten, ich habe das Projekt schon angefangen und es liegt als Anhang bei, nun würde ich gerne wissen, mit welchem Befehl bzw. welcher Eingabe in PHP bzw. HTML ich erreichen kann, dass mir ein X bzw. ein O in das zu dem jeweiligen Button gehörende Feld hineingeschrieben werden kann und wie ich erreichen kann, dass jedesmal der Spieler wechselt. Ich habe bisher das Programm mit Hilfe von Dreamweaver bearbeitet und mit xampp gestartet, weil am sonsten der php quellcode wohl nicht erkannt wird, wie mir gesagt wurde. Ich wäre sehr dankbar wenn mir jemand bei diesem Problem helfen könnte, ich glaube es ist an sich nicht all zu schwer, wenn man die Sachen beherrscht aber ich habe leider keinen blaßen Schimmer davon. Vielen dank im Vorraus, Adil.
    Angehängte Dateien Angehängte Dateien
     

  2. #2
    Avatar von Napofis
    Napofis Napofis ist offline require 'brain.php';
    Registriert seit
    Jun 2007
    Ort
    Bayern
    Beiträge
    587
    Die Sache mit PHP anzugehen ist etwas unsinnig, ist es ein muss? Und wie ist das mit den Spielern ist es Player vs. Player oder Player vs. Computer oder beides?
     

  3. #3
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Ja, PHP für das eigentliche Spielen (=Kreuz setzen) zu verwenden ist sinnlos.
    Dazu eignet sich JavaScript sehr viel besser!

    Mit PHP könntest du theoretisch den Spielstand speichern, usw.

    Dein Code sieht übrigens sehr komisch aus, liegt wahrscheinlich daran, dass du einen GUI-Editor genommen hast.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  4. #4
    Adil Herceg Adil Herceg ist offline Grünschnabel
    Registriert seit
    May 2011
    Beiträge
    4
    Ja, es darf nur PHP und HTML benutzt werden, ich möchte nur ein Player gegen Player spiel haben, gegen den Computer ist nicht nötig, ich würde es schon gerne auf dem was ich bis jetzt programmiert hab aufbauen lassen, also ich bräuchte halt nur sozusagen einen befehl, der bewirkt, dass bei einem druck auf den knopf ein x oder ein o in das dazugehörige textfeld, welches in html programmiert ist, schreibt, ich dachte da an so etwas wie eine geschachtelte if anweisung also zum beispiel if(player=1){ echo "X"} else { echo "O"} so etwas in der richtung und das dann das passende symbol in das dazugehörige textfeld geschrieben wird
     

  5. #5
    Adil Herceg Adil Herceg ist offline Grünschnabel
    Registriert seit
    May 2011
    Beiträge
    4
    @ ComFreek ja kann sein, dass er deswegen komisch aussieht, ich hab leider keine ahnung davon, bin ein totaler ****
     

  6. #6
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Nunja der Modus Multiplayer ändern nun die Sache.
    Da brauchst du eine Sprache die mit beiden Playern kommunizieren kann => PHP.

    Folgende einfache Lösung bietet sich an:
    • Der aktuelle Status (Player1, Player2, Spielstand,...) wird gespeichert
    • Ablauf des Hauptskriptes:
      1. Lese den Status
      2. Wenn noch kein Player1 -> Button zum registrieren dafür (schreibe Staus!)
      3. Wenn noch kein Player2 (aber Player1), dann wie bei Player1
      4. Wenn beide Spieler eingetragen -> Spiel
      5. Der eine wartet immer bis der andere gekreuzt hat

    Nun ich möchte dich noch bitten verständliche Sätze mit beachteter Groß- und Kleinschreibung zu schreiben
    Vorweg möchte ich auch sagen, dass ich hier keine Komplettlösungen posten werde, aber bei Problemen werde ich dir natürlich helfen.
    Geändert von ComFreek (27.05.11 um 17:03 Uhr)
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  7. #7
    Adil Herceg Adil Herceg ist offline Grünschnabel
    Registriert seit
    May 2011
    Beiträge
    4
    So,
    ich habe nun mal versucht ein bischen zu tüfteln, leider kann ich das Ergebnis nicht überprüfen, da Xampp bei mir nicht funktioniert. Jedenfalls habe ich mir das nun so gedacht, dass der Spielerwechsel durch eine Art Tauschfunktion stattfindet, also eine Schleife welche von Spieler 1 auf Spieler 2 wechselt etc. Danach soll nun geprüft werden, ob der jeweilige Knopf, beispielsweise der oben links, gedrückt wurde. Dies habe ich mit einer if Anweisung erledigt. Des Weiteren wird dort dann überprüft, ob der erste oder der zweite Spieler dran ist und je nach dem wird dann ein X oder ein O gepostet.

    Hier nun einmal der Quelltext:

    -->
    </style>
    </head>
    <form action="Tic Tac Toe.html" method="get" >


    <body>
    <div class="links_oben"></div>
    <div class="mitte_oben"></div>
    <div class="rechts_oben">
    <div class="links_mitte"></div>
    </div>
    <div class="mitte_mitte"></div>
    <div class="rechts_mitte"></div>
    <div class="links_unten"></div>
    <div class="mitte_unten"></div>
    <div class="rechts_unten">Raum für den Inhalt von class "rechts_unten"</div>
    <div class="knopf_links_oben"><button name="knopf_oben_links" type="submit" value="1";></div>
    <div class="knopf_mitte_oben"><button name="knopf_oben_mitte" type="submit" value="2";></div>
    <div class="knopf_rechts_oben"><button name="knopf_oben_rechts" type="submit" value="3";></div>
    <div class="knopf_links_mitte"><button name="knopf_mitte_links" type="submit" value="4";></div>
    <div class="knopf_mitte_mitte"><button name="knopf_mitte_mitte" type="submit" value="5";></div>
    <div class="knopf_rechts_mitte"><button name="knopf_mitte_rechts" type="submit" value="6";></div>
    <div class="knopf_links_unten"><button name="knopf_unten_links" type="submit" value="7";></div>
    <div class="knopf_mitte_unten"><button name="knopf_unten_mitte" type="submit" value="8";></div>
    <div class="knopf_rechts_unten"><button name="knopf_unten_rechts" type="submit" value="9";></div>

    <?
    $var=temp;
    $var=player1;
    $var=player2;

    for($a=0;$a<=99;$a++)
    {
    temp=player1;
    player1=player2;
    player2=temp;
    }

    if(isset$_GET['knopf_oben_links'])
    {
    if($var=player1)
    {
    echo"X";
    }
    elseif($var=player2)
    {
    echo"O";
    }
    }

    ?>
    </div>
    </div>
    </div>
    </body>
    </html>

    Dies ist nun erst einmal nur für den Knopf oben links, also sozusagen den ersten Knopf. Meine Frage ist nun zum einen, ob das ganze so funktionieren kann und zum anderen, ob es sinnvoller wäre, die Schleife innerhalb der if Anweisung zu schreiben, da ja eigentlich nach jedem Druck auf den Knopf der Spieler getauscht werden muss?

    Danke an ComFreek, an dieser Stelle, dass du mir deine Hilfe angeboten hast
     

  8. #8
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Eine Schleife in Form von for() oder while() nützt an dieser Stelle nichts.
    Da sonst der eigentliche Spieler am Bildschirm nichts zu sehen bekommt!

    Wenn beide Spieler feststehen, würde ich das so machen:
    • Regelmäßige AJAX Anfrage an PHP-Skript senden, ob Spieler selber dran ist
    • Wenn nicht, dann Grafik/Text "bitte warten..." und Spielmaske sperren
    • Wenn schon, Spielmaske freigeben
    • Warten auf Klick

    Wo die aktuellen Kreuze sind, würde ich auch abspeichern. Und falls der aktuelle Spieler dran ist, dann würde ich auch per Request (Punkt 1) diesen Spielstand zurückgeben.
    Für die Übertragung JS<->PHP eignet sich vorallem JSON.

    Falls du z.B. AJAX nicht kennst, dann müsste der Spieler regelmäßig die Seite aktualisieren (oder eventuell per HTML: meta).



    PS: Ich habe jetzt einfach mal eine Lösung mit JavaScript & AJAX erwähnt. Erst danach fiel mir wieder ein, dass du HTML & PHP benutzen sollst. Obwohl wahrscheinlich dein Lehrer wohl nichts dagegen hätte
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

Ähnliche Themen

  1. HTML Tags in textfield anzeigen auch bei html=true
    Von Denniz im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 06.04.07, 20:47
  2. Antworten: 2
    Letzter Beitrag: 26.12.06, 00:25
  3. Mit Ajax Html-Datei einbinden -> Html wird nicht angezeigt
    Von FlorianR im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 11.09.06, 09:44
  4. Antworten: 3
    Letzter Beitrag: 26.02.06, 21:33
  5. Problem mit html:select, html:option und bean:write
    Von Dominik_W im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 03.02.05, 12:02

Stichworte