Variable de session pour jeu

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Variable de session pour jeu

par Truc » 06 nov. 2007, 23:05

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

par Joe_Bar_Jo » 06 nov. 2007, 22:15

Merci beaucoup ça marche mieux maintenant ^^;)

par Truc » 04 nov. 2007, 17:38

Mais ça m'écrit 1. Va savoir pourquoi :( , vous savez pourquoi ?
$_SESSION['couleurordi'] = $soluce[1] && $soluce[2];
echo $_SESSION['couleurordi']; 
Parce que tu affectes à la variable le résultat de "$soluce[1] && $soluce[2]" à la manière table de verité

Je pense que tu voulais plutôt quelque chose du style :
$_SESSION['couleurordi'][] = $soluce[1];
$_SESSION['couleurordi'][] = $soluce[2];

par Invité » 04 nov. 2007, 15:38

Je retente ma chance car c'est la fin des vacances donc les méninges ont dû se remettre en route ^^ :lol:

par Joe_Bar_Jo » 01 nov. 2007, 17:33

Rebonjour à tous ^^,

après quelque jours d'inactivité j'ai décidé de reprendre mon mastermind y'a quelques jours, et y'a un truc que je ne comprends pas

Code : Tout sélectionner

<HTML> <BODY> <form method="post" action="donnees.php"> <TABLE border=1> <TR> <TD><select name="liste0"> <option value="noir">Noir <option value="rouge">Rouge <option value="vert">Vert <option value="bleu">Bleu <option value="jaune">Jaune </select> </TD> <TD><select name="liste1"> <option value="rouge">Rouge <option value="noir">Noir <option value="vert">Vert <option value="bleu">Bleu <option value="jaune">Jaune </select> </TD> <TD><select name="liste2"> <option value="vert">Vert <option value="rouge">Rouge <option value="noir">Noir <option value="bleu">Bleu <option value="jaune">Jaune </select> </TD> <TD><select name="liste3"> <option value="bleu">Bleu <option value="rouge">Rouge <option value="vert">Vert <option value="noir">Noir <option value="jaune">Jaune </select> </TD> <TD><select name="liste4"> <option value="jaune">Jaune <option value="rouge">Rouge <option value="vert">Vert <option value="bleu">Bleu <option value="noir">Noir </select> </TD> </TR> <INPUT TYPE="SUBMIT" VALUE="Envoyer"> <?php session_start(); $_SESSION['couleurordi'] = [b]$soluce[1]&& $soluce[2][/b]; echo $_SESSION['couleurordi']; ?> </BODY> </HTML>
Lorsque j'écris ç a à l'endroit où c'est en gras, ça devrait m'écrire le nom de mes 2 variables , car j'ai besoin de toutes les variables pour les réutiliser et les mettre dans un tableau pour montrer après plusieurs esais tout les esais que j'ai fait dans ce tableau , vous suivez ? :D

Mais ça m'écrit 1. Va savoir pourquoi :( , vous savez pourquoi ?

Je vous remercie ;)

par Ryle » 11 oct. 2007, 16:08

C'est parce qu'à chaque appel de la page tu écrases la valeur en session :
$_SESSION['couleurordi'] = $soluce[0]; 
Tu ne devrais le faire que si celle-ci n'existe pas (et éventuellement pour une nouvelle partie, avec un flag indiquant la remise à zéro :
if (!isSet($_SESSION['couleurordi']) || $raz)
  $_SESSION['couleurordi'] = $soluce[0]; 
La c'est la version simple, la version optimisée consistant à englober le process de génération aléatoire pour ne pas générer inutilement de nouvelle solution :)

Variable de session pour jeu

par Joe_Bar_Jo » 11 oct. 2007, 15:47

Bonjour à tous,


j'avance petit à petit dans ma réalisation d'un mastermind mais je bloque en faite pour garder toujours les mêmes couleurs que l'ordinateur à choisit.

Voici mon code :

Code : Tout sélectionner

<?php session_start(); srand ((double) microtime() * 10000000); //Fonction de 5 lignes, fonction random. $tab = array ("noir", "rouge", "vert", "bleu", "jaune"); //Elle sert à prendre des valeurs au hasard $rand_couleur = array_rand ($tab, 5); //dans un tableau ici défini par array , 5 définit le nombre de variables de array à sortir $soluce=array($tab[$rand_couleur[0]],$tab[$rand_couleur[1]],$tab[$rand_couleur[2]],$tab[$rand_couleur[3]],$tab[$rand_couleur[4]]); $_SESSION['couleurordi'] = $soluce[0]; //if (!isset(@$_SESSION['couleurordi'])) { echo $_SESSION['couleurordi']; $liste0=$_POST['liste0']; $liste1=$_POST['liste1']; // je définis les variables et les raccourcis pour plus de praticité $liste2=$_POST['liste2']; $liste3=$_POST['liste3']; $liste4=$_POST['liste4']; $listeall=array($liste0,$liste1,$liste2,$liste3,$liste4); /*srand ((double) microtime() * 10000000); //Fonction de 5 lignes, fonction random. $tab = array ("noir", "rouge", "vert", "bleu", "jaune"); //Elle sert à prendre des valeurs au hasard $rand_couleur = array_rand ($tab, 5); //dans un tableau ici défini par array , 5 définit le nombre de variables de array à sortir $soluce=array($tab[$rand_couleur[0]],$tab[$rand_couleur[1]],$tab[$rand_couleur[2]],$tab[$rand_couleur[3]],$tab[$rand_couleur[4]]);*/ print $soluce[0]."\n"; print $soluce[1]."\n"; print $soluce[2]."\n"; //affiche les 5 couleurs dans un ordre différent print $soluce[3]."\n"; print $soluce[4]."\n"; echo "<BR> $liste0, $liste1, $liste2, $liste3, $liste4"; //retire les valeurs de chaques ascenceurs /*If ($tab!=$listeall) { echo"<BR><BR>Loupé mon vieux"; }*/ If ($soluce[0]==$listeall[0]&&$soluce[1]==$listeall[1]&&$soluce[2]==$listeall[2]&&$soluce[3]==$listeall[3]&&$soluce[4]==$listeall[4]) { echo "<a href=\"gagne.html\"></a>"; } If ($soluce[0]==$listeall[0]) //if(!isset($listeall)) { echo "<BR> <BR> Premiere couleur bonne,bravo"; } If ($soluce[1]==$listeall[1]) { echo "<BR><BR>Deuxieme couleur bonne, bravo"; // "<BR> <BR> Deuxieme couleur bonne,bravo"; } If ($soluce[2]==$listeall[2]) { echo "<BR> <BR> Troisieme couleur bonne,bravo"; } If ($soluce[3]==$listeall[3]) { echo "<BR> <BR> Quatrieme couleur bonne,bravo"; } If ($soluce[4]==$listeall[4]) { echo "<BR> <BR> Cinquieme couleur bonne,bravo"; } include('mastermind.php'); if (isset($_REQUEST["submit"])) { $soluce='this'; } //$rand_couleur= ?>
J'ai essayé d'utilisé une variable de session mais elle a pas l'air de vouloir marcher. Les couleurs de l'ordinateur change à chaque fois que j'appuie sur Envoyer (donc jouer un nouveau tour, pour trouver les bonnes couleurs).

Est-ce que vous trouvez om j'ai pu faire un erreur ? ^^

Je vous remercie par avance :D