Schnickschnackschnuck

Dandin

Grünschnabel
Ich bin seit Tagen dran ein Spiel mit PHP zu programmieren.

PHP:
<?php
if($_GET["typ"] == schere){
$computer = rand(1,3);
switch($computer) {
case 1:
echo "Unentschieden. Computer wählt Schere.";
break;
case 2:
echo "Computer gewinnt. Computer wählt Stein.";
$c++;
break;
case 3:
echo "Du gewinnst. Computer wählt Papier.";
$s++;
break;
}
}
?>
<br>Du: <?php echo $s; ?><br>
Computer: <?php echo $c; ?><br>
Aber der Wert bei $c bzw. bei $s setzt sich auf null zurück sobald die Bedingung nicht mehr erfüllt ist.
Was kann ich dagegen machen?
Danke im voraus:)

LG Dandin
 
Nach deinen Code bestehen die Ergebnisse nur wenige Millisekunden.

Du schreibst das Ergebnis nur eine Variable, diese existiert allerdings nur solange der Code ausgeführt wird.
Das ist bei PHP, im Normalfall, wenige Sekunden bzw. nur Millisekunden je nachdem wie Performant der Code ist.

Du musst das Ergebnis auslagern und in eine Session oder in ein Cookie schreiben.
An diesen Stellen bleiben die Ergebnisse wesentlich länger am "leben".
 
Ein kleiner Tipp.
Die Auswertung ist etwas Performanter, wenn du die Möglichen Ergebnisse in ein Multidimensionales Array Schreibst und die Auswahl abrufst.

Wobei die Elemente die folgende Werte haben:
Schere = 1;
Stein = 2;
Papier = 3;

Mögliche Ergebnisse sind:
Gewonnen = 1
Unentschieden = 0
Verloren = -1

PHP:
$ERGEBNISSE = array( 1 => array( 1 => 0, 2 => -1, 3 => 1 ),
                     2 => array( 1 => 1, 2 => 0, 3 => -1 ),
                     3 => array( 1 => -1, 2 => 1, 3 => 0 ) );

Eine Auswertung wäre so Möglich:
PHP:
$ergebnis=$ERGEBNISSE[$_GET["typ"]][$computer];
if( $ergebnis==1 )
   $_SESSION['selbst']++;
if( $ergebnis==-1 )
   $_SESSION['computer']++;
 
Zurück