Hallo, liebe Community. ^_^
Ich bin gerade dabei, ein auf PHP-basierendes TCG (Trading Card Game) zu programmieren und bin schon weit gekommen. Ich habe schon das erste Spiel erfolgreich mit Javascript gecodet, jedoch stellt sich mir dabei ein Problem, dass ich auch durch einen Nachmittag mit Google und der Forumsuche nicht bewältigen konnte.
Das Spiel nennt sich "Zahlen Raten". Man muss versuchen, mit insgesamt 7 Versuchen eine Zahl zwischen 1 und 100, die zufällig gewählt wird, zu erraten. Man bekommt nach jedem Versuch gesagt, ob die Zahl kleiner oder größer als die geratene Zahl ist.
Ich habe folgende Codeschnipsel:
Nach Beenden des Spiels soll in der Tabelle 'mitglieder' das gewonnene Geld gespeichert werden.
Wie man oben im Code sehen kann, wird, je nach Ausgang des Spiels, entweder mit document.location.href = homepage; oder mit document.location.href = homepage2; die jeweilige Adresse aufgerufen. Das Problem dabei ist, dass der jeweilige User gar nicht spielen brauch, sondern einfach an die URL
oder
hängen muss, um Geld zu erhalten, egal ob gespielt wurde.
Mein Gedanke war, mit Javascript ein Frame aufzurufen, in der der jeweilige PHP-Abschnitt enthalten ist.
Code:
Dieser Code klappt jedoch nicht.
Der eigentliche PHP-Code ist folgender:
Der Code sollte allgemein verständlich sein.
MEINE FRAGEN SIND NUN:
1. Ist das, was ich will, eigentlich mit Frames realisierbar?
2. Wenn ja, wie muss ich dann frame1spiel1.php aufbauen und die eigentliche Datei aufbauen?
3. Wenn nein, wie geht es sonst? Kann ich irgendwie in meinem PHP-Code überprüfen, ob gespielt wurde?
Ich hoffe, mein Problem ist gut dargestellt und mir kann geholfen werden.
LG
SLEAZOID
Ich bin gerade dabei, ein auf PHP-basierendes TCG (Trading Card Game) zu programmieren und bin schon weit gekommen. Ich habe schon das erste Spiel erfolgreich mit Javascript gecodet, jedoch stellt sich mir dabei ein Problem, dass ich auch durch einen Nachmittag mit Google und der Forumsuche nicht bewältigen konnte.
Das Spiel nennt sich "Zahlen Raten". Man muss versuchen, mit insgesamt 7 Versuchen eine Zahl zwischen 1 und 100, die zufällig gewählt wird, zu erraten. Man bekommt nach jedem Versuch gesagt, ob die Zahl kleiner oder größer als die geratene Zahl ist.
Ich habe folgende Codeschnipsel:
Code:
var homepage;
var homepage2;
homepage = 'spiel1.php?action=coins';
homepage2 = 'spiel1.php?action=coins2';
Code:
function generate() {
Ratezahl = parseInt(document.getElementById('Raten').value);
if (Ratezahl > Zufallszahl) {
Versuche++;
Zahl = MVersuche - Versuche;
if (Versuche > MVersuche) {
document.location.href = homepage2;
}else{
GKG = GK1;
document.getElementById("zeig").innerHTML='<center>Die Zahl ist '+GKG+' als <b>'+Ratezahl+'</b>! <br> Du hast noch <b>'+Zahl+'</b> Versuche.</center><br>'
}
}
if (Ratezahl < Zufallszahl) {
Versuche++;
Zahl = MVersuche - Versuche;
if (Versuche > MVersuche) {
document.location.href = homepage2;
}else{
GKG = GK2;
document.getElementById("zeig").innerHTML='<center>Die Zahl ist '+GKG+' als <b>'+Ratezahl+'</b>! <br> Du hast noch <b>'+Zahl+'</b> Versuche.</center><br>'
}
}
if (Ratezahl == Zufallszahl) {
Versuche++;
if (Versuche > MVersuche) {
document.location.href = homepage2;
}else{
document.location.href = homepage;
}
}
}
Nach Beenden des Spiels soll in der Tabelle 'mitglieder' das gewonnene Geld gespeichert werden.
Wie man oben im Code sehen kann, wird, je nach Ausgang des Spiels, entweder mit document.location.href = homepage; oder mit document.location.href = homepage2; die jeweilige Adresse aufgerufen. Das Problem dabei ist, dass der jeweilige User gar nicht spielen brauch, sondern einfach an die URL
PHP:
?action= coins
oder
PHP:
?action = coins2
hängen muss, um Geld zu erhalten, egal ob gespielt wurde.
Mein Gedanke war, mit Javascript ein Frame aufzurufen, in der der jeweilige PHP-Abschnitt enthalten ist.
Code:
Code:
parent.frame1.location.href = frame1spiel1.php;
Dieser Code klappt jedoch nicht.
Der eigentliche PHP-Code ist folgender:
PHP:
<?
if($_REQUEST["action"] == "coins2") {
$eintragspiele = "INSERT INTO spiele (name, timestamp, spiel)
VALUES ('".mysql_real_escape_string($name)."', '".mysql_real_escape_string(time())."', 'zahlenraten')";
$eintragenspiele = mysql_query($eintragspiele);
$geld = rand(100,200);
$abfrage = "SELECT geld FROM mitglieder WHERE id = '".$_SESSION["login"]."' LIMIT 0,1"; // Datenabfrage
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$geldalt = $row->geld;
$geldneu = $geld + $geldalt;
$eintrag = "UPDATE mitglieder SET geld = '".$geldneu."' WHERE id = '".$_SESSION["login"]."'";
$eintragen = mysql_query($eintrag);
}
if($eintragen)
{
echo"<center><br><br><b>Leider hast du nicht gewonnen. Trotzdem hast du als Trost ".$geld." Coins erhalten.</b><br><br></center>";
}
else
{
echo"Es ist ein Fehler aufgetreten ". mysql_errno() .": ".
mysql_error();
}
}
?>
Der Code sollte allgemein verständlich sein.
MEINE FRAGEN SIND NUN:
1. Ist das, was ich will, eigentlich mit Frames realisierbar?
2. Wenn ja, wie muss ich dann frame1spiel1.php aufbauen und die eigentliche Datei aufbauen?
3. Wenn nein, wie geht es sonst? Kann ich irgendwie in meinem PHP-Code überprüfen, ob gespielt wurde?
Ich hoffe, mein Problem ist gut dargestellt und mir kann geholfen werden.
LG
SLEAZOID