[RESOLU] jeu du pendu en php

Petit nouveau ! | 3 Messages

25 avr. 2014, 17:23

Hello! (premier post :D)

je suis en terminale et je fais ISN (Informatique et Sciences du Numérique). Je souhaite réaliser comme projet pour le bac un pendu en php. 8-) MAIS, je débute seulement le php depuis 1 semaine... et notre professeur nous préviens avant-hier qu'il va falloir lui rendre au plus tard le 30/04 une version qui "tourne" du projet :priere:

exemple le mot est informatique

Je vous explique:

-l'utilisateur doit pouvoir connaître la première et la dernière lettre du mot (j'ai réussi) (l'utilisateur connaît i----------e)
-l'utilisateur doit entrer une lettre et valider l'envoie
-si la lettre est bonne la réponse se complète d'elle même (j'entre un i l'utilisateur connaît donc i-------i--e) (j'ai réussi mais il y a un problème vous verrez par la suite)
-si la lettre n'est pas bonne il perd un point (il en a 10)
-si il perd tout ces points, il meurt et est pendu! (mouahahah :twisted: )
-si la réponse est le mot sont exactement pareil, il est sauvé! =D>

j'ai déjà un peu potassé et voici ce que que j'ai:

pendusimple1:
<?php
	$mot = 'informatique';
	$longueur = strlen($mot);
	
	$reponse = $mot{0};	
	for ($a = 1; $a < $longueur - 1; $a++) //creation de la reponse
	{
		$reponse{$a} = '-' ;
	}
	$reponse{$longueur - 1} = $mot{$longueur - 1};
	echo $reponse;
	$point = 10;
	$lettre = ' ';
	setcookie('cookielettre', $lettre, time() + 3600, null, null, false, true);
	setcookie('cookiereponse', $reponse, time() + 3600, null, null, false, true);
	setcookie('cookielettre', 0, time() + 3600, null, null, false, true);
	setcookie('cookiemot', $mot, time() + 3600, null, null, false, true);
	setcookie('cookiepoint', $point, time() + 3600, null, null, false, true);
?>
<form action="pendusimple2.php" method="post">
	Joueur 1, entrez une lettre:
	<input type="text" name="lettre"/> <br/>
	<input type="submit" value="Envoyer">
</form>



pendusimple2:
<?php
	$lettre = $_COOKIE{'cookielettre'};
	$reponse = $_COOKIE{'cookiereponse'};
	$mot = $_COOKIE{'cookiemot'};
	$point = $_COOKIE{'cookiepoint'};
	echo $reponse;
	$longueur = strlen($mot);
	$compteur = 0;
	$reponse2 =$reponse;
?>

<form action="pendusimple2.php" method="post">
	Joueur 1, entrez une lettre:
	<input type="text" name="lettre"/> <br/>
	<input type="submit" value="Envoyer">
</form>

<?php
	setcookie('cookielettre', $_POST{'lettre'}, time() + 3600, null, null, false, true);
	for ($a = 1; $a < $longueur - 1; $a++)
	{
		if ($lettre == $mot{$a})
		{
			$reponse{$a} = $lettre;
			setcookie('cookiereponse', $reponse, time() + 3600, null, null, false, true);
		}
	}
	if ($compteur == 0)
	{
		$point = $point - 1;
		setcookie('cookiepoint', $point, time() + 3600, null, null, false, true);
		echo'il vous reste '.$point.' vie(s) avant de mourir PENDU!';
		
	}
	$compteur = 0;
	if ($point == 0)
	{
		echo'tu as perdu';
	}
?>

Le problème est le suivant: comment faire pour contrôler les variables! Je n'y comprend plus rien il faut 3 fois actualiser la page pour les mettre à jour. #-o
Y a t il des méthodes plus simple?
Merci d'avance pour votre aide! :priere:

Petit nouveau ! | 7 Messages

26 avr. 2014, 00:08

Pourquoi utiliser les cookies ? utilise plutot les sessions !

tu t'es aventuré dans quelque chose de bien trop gros pour un débutant ...

ca voudrait dire que dans ta tete, le PHP serait accessible par une personne qui n'y connais rien ... or le PHP est bien plus que ca !


A mon avis tu devrais changer de projet ou en prendre un tout fait, et essayer de le comprendre.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

26 avr. 2014, 22:01

salut,

il faut que tu pense que pour utiliser la valeur d'un cookie il faut que la page soit "rafraîchie" (simplement parce que php est sur un serveur, les cookies dans le navigateur client et qu'ils ne sont fournit que lors de la requête serveur (et pas autrement).

L'utilisation des sessions php est plus recommandée et plus simple d'utilisation ;)

De la même manière que ce que tu fait, mais sur une page (en fait n'utiliser que ta page2) tu affiche le mot (avec ou pas les lettres trouvées), le nombres de points, de coups restants et le formulaire.

lorsque tu valide le formulaire (action sur la page courante) tu vérifie que le mot contienne bien le caractère (strpos) et l'ajoute à une liste de déjà trouvé.

ensuite tu t'occupe seulement de l'affichage en fonction des caractères trouvés (tableau en session).

Tu peux largement simplifier la recherche de caractères avec strpos plutôt qu'avec une boucle for ;)

pense aux règles de gestions en premier (par exemple est ce que tu affiche dans le mot les lettres qui existe au début et à la fin, dansinformatique il y a deux i

tu peux repartir de ta base et la modifier dans ce sens afin de finir ce que tu veux ;)


@soft1ne : il n'y a rien d'extraordinairement complexe à faire quelques boucles for, un strpos et des if :mrgreen:
ca voudrait dire que dans ta tete, le PHP serait accessible par une personne qui n'y connais rien ... or le PHP est bien plus que ca !
PHP est un langage de programmation plus accessible que d'autre et il faut bien commencer.
si on devait claquer le nez à tous ceux qui veulent écrire une ligne de code et qui ne connaissent pas les patrons de conception du gof ni même utilise PDO ou les "itérateurs" il ne resterait pas grand monde et cela dans pas mal de langage (et ce n'est pas pour cela qu'ils font forcément de la merde).

il faut bien commencer, il a pas voulu refaire google ou facebook c'est déjà bien.



@+
Il en faut peu pour être heureux ......

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

26 avr. 2014, 22:02

Modération :
Afin d'obtenir plus de réponses, le sujet a été déplacé dans un forum plus approprié.
Il en faut peu pour être heureux ......

Petit nouveau ! | 3 Messages

28 avr. 2014, 12:51

Merci à vous, je regarde ça depuis 8h du matin et ça avance doucement mais sûrement!

Et oui je pense que le php est accessible à tout le monde et il faut bien débuter par quelque chose. De plus mon code de pendu est en lui même juste, il tourne déjà sur Java. Il s'agit pour moi juste d'une conversion d'un langage à l'autre.

Je mettrais le topic en résolu quand tout sera fini.

Moogli tu me sauve la vie merci!

Mammouth du PHP | 804 Messages

23 mai 2014, 17:53

Pourquoi utiliser les cookies ? utilise plutot les sessions !
tu t'es aventuré dans quelque chose de bien trop gros pour un débutant ...
ca voudrait dire que dans ta tete, le PHP serait accessible par une personne qui n'y connais rien ... or le PHP est bien plus que ca !
A mon avis tu devrais changer de projet ou en prendre un tout fait, et essayer de le comprendre.
salut ,

on comprend mieux face au problème, la solution de facilité n'a jamais fait avancé :non:
bien entendu de l'aide est impérative pour pouvoir avancé :mrgreen: quand on est autodidact :wink:

bon courage pour ton projet

dog

Petit nouveau ! | 3 Messages

25 mai 2014, 17:24

Ca y est j'ai fini, :D

je vous donne mon code pour les générations futures 8-)

formulaire.php
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
        <link rel="stylesheet" href="../css/affichage.css" />
        <title>PENDU! Formulaire 1</title>
    </head>

    <body>
            <header><!-- entete -->
                    <img src="../images/pendu1.jpg" class="imageflottante" /> <!-- une image de classe imageflottante (Cf CSS) -->
                    <h1>Projet ISN 2013/2014</h1> <!-- les titres -->
                    <h2>Un pendu de la mort qui tue</h2>
            </header>
			<nav><!-- la barre de navigation-->
                    <a href="../index.htm">ACCUEIL</a><!-- un lien vers la page index -->
                    <a href="./simon.php">COMPTE RENDU SIMON</a>
                    <a href="../pages/yassin.php">COMPTE RENDU YASSIN</a>
                    <a href="./formulaire.php">JOUER!</a><!-- un lien vers une page externe -->
            </nav>
	
	<section>
	<p>
		Bonjour, bienvenue au jeu du pendu<br />
		Combien de joueur ?
		<form action="condjoueur.php" method="POST" name="formulaire"> <!-- ici un formulaire pour connaître le nombre de joueur il est redirigé vers condjoueur -->
			<input type="radio" name="nbrjoueur" value=1> 1 <br/>
			<input type="radio" name="nbrjoueur" value=2> 2 <br/>
			<input type="submit" value="Envoyer">
			<img src="../images/pendu2.jpg" class="imageflottante2">
		</form>
	</p>
	</section>
</html>
condjoueur.php
<?php
		session_start ();
		if (isset ($_POST['nbrjoueur']))
		{
		if ($_POST['nbrjoueur'] == 1)
		{//ici, on test le nombre de joueur indiqué afin de rediriger le(s) joueur(s) vers la page adéquate
		?>
			<form action="condniveau.php" method="POST" name="formulaire"> <!-- ici un formulaire pour connaître le nombre de joueur il est redirigé vers condjoueur -->
				<input type="radio" name="niveau" value = 1> facile
				<input type="radio" name="niveau" value = 2> difficile
				<input type="radio" name="niveau" value = 3> expert
				Entrez votre pseudo:
				<input type="text" name="pseudo"/> <br/>
				<input type="submit" value="Envoyer">
				<img src="../images/pendu2.jpg" class="imageflottante2">
			</form> 
		<?php
		}
		elseif ($_POST['nbrjoueur'] == 2)
		{
		$_SESSION{'pointj1'} = 0;
		$_SESSION{'pointj2'} = 0; // on initialise les premières variables globales,à savoir: les points et le nombre de partie
		$_SESSION{'partie'} = 0;
		?>
			
			<form action="mot2j.php" method="post">
				Joueur 1, entrez votre pseudo:
				<input type="text" name="pseudoj1"/> <br/>
				Joueur 2, entrez votre pseudo:
				<input type="text" name="pseudoj2"/> <br/>
				Joueurs, entrez le nombre d'erreurs autorisées:
				<input type="text" name="point"/> <br/>
				<input type="submit" value="Envoyer"> <!-- un lien vers une page externe -->
			</form>
			
		<?php	
		}
		}
		else
		{
			header('location:formulaire.php');
		}
	?>
condniveau.php
	<?php
		session_start ();
		if (isset ($_POST{'niveau'}))
		{
		if (strlen($_POST{'pseudo'}) != 0)
		{
		if ($_POST{'niveau'} == 1)
		{
			$mot_a_trouver=array("angle","armoire","banc","bureau","cabinet","carreau","chaise","classe","clef","coin",
			"couloir","dossier","eau"," ecole","entrer","escalier","etagere","exterieur","fenetre","interieur","lavabo",
			"lit","marche","matelas","meuble","mousse","mur","peluche","placard","plafond","porte","poubelle","radiateur","rampe",
			"rideau","robinet","salle","salon","serrure","serviette","siege","sieste","silence","sol","sommeil","sonnette",
			"sortie","table","tableau","tapis","tiroir","toilette","vitre","aller","amener","apporter","appuyer","attendre",
			"bailler","coucher","dormir","eclairer","emmener","emporter","entrer","fermer","frapper","installer","lever",
			"ouvrir","presser","rester","sonner","sortir","venir","absent","assis","bas","haut","present","gauche","droite",
			"debout","dedans","dehors","face","loin","pres","tard","tot","apres","avant","contre","dans","de","derriere","devant",
			"sous","sur","crayon","stylo","feutre","mine","gomme","dessin","coloriage","couleur","craie","papier","feuille","cahier",
			"carnet","carton","ciseaux","decoupage","pliage","pli","colle","affaire","boite","casier","caisse","trousse","jeu","jouet",
			"pion","domino","puzzle","cube","perle","chose","forme","carre","rond","pate","modeler","tampon","livre","histoire",
			"image","album","titre","conte","magazine","page","ligne","mot","enveloppe","etiquette","carte","appel","affiche",
			"appareil","cassette","chaine","chanson","chiffre","contraire","doigt","ecran","ecriture","film","fois","foi","idee",
			"instrument","intrus","lettre","liste","main","micro","modele","musique","nom","nombre","photo","point","poster","pouce","prenom",
			"question","radio","sens","tambour","telephone","television","trait","trompette","voix","zero","chanter","chercher","choisir","chuchoter",
			"coller","colorier","commencer","comparer","compter","construire","continuer","copier","couper","dechirer","decoller","decorer","decouper",
			"demolir","dessiner","dire","discuter","ecouter","ecrire","effacer","entendre","entourer","envoyer","faire","finir","fouiller","gouter",
			"imiter","laisser","lire","mettre","montrer","ouvrir","parler","peindre","plier","poser","prendre","preparer","ranger","reciter",
			"regarder","remettre","repeter","repondre","sentir","souligner","tailler","tenir","terminer","toucher","travailler","trier",
			"ami","attention","camarade","colere","copain","coquin","dame","directeur","directrice","droit","effort","eleve","enfant","fatigue",
			"faute","fille","garcon","gardien","madame","maitre","maitresse","ordre","personne","retard","joueur","sourire","travail","aider",
			"defendre","desobeir","distribuer","echanger","expliquer","gronder","obeir","obliger","partager","preter","priver","promettre","progres",
			"punir","quitter","raconter","expliquer","refuser","separer","blond","brun","calme","curieux","different","doux","enerver","gentil","grand",
			"jaloux","moyen","muet","noir","nouveau","petit","poli","propre","roux","sage","sale","serieux","sourd","tranquille","arrosoir","assiette",
			"balle","bateau","boite","bouchon","bouteille","bulles","canard","casserole","cuillere","cuvette","douche","gouttes","litre","moulin","pluie",
			"poisson","pont","pot","roue","sac","plastique","saladier","seau","tablier","tasse","trous","verre","agiter","amuser","arroser","attraper",
			"avancer","baigner","barboter","boucher","bouger","deborder","doucher","eclabousser","essuyer","envoyer","couler","partir","flotter","gonfler",
			"inonder","jouer","laver","melanger","mouiller","nager","pleuvoir","plonger","pousser","pouvoir","presser","recevoir","remplir","secher",
			"serrer","souffler","tirer","tourner","tremper","verser","vider","vouloir","amusant","chaud","froid","humide","mouille","sec","moitie",
			"autant","beaucoup","encore","moins","peu","plusieurs","trop","anorak","arcs","bagage","baguette","barbe","bonnet","botte","bouton",
			"bretelle","cagoule","casque","ceinture","chapeau","chausson","chaussure","chemise","cigarette","col","collant","couronne","cravate",
			"culotte","echarpe","epee","fleche","fusil","gant","habit","jean","jupe","lacet","laine","linge","lunettes","magicien","magie","maillot",
			"manche","manteau","mouchoir","moufle","noeud","paire","pantalon","pied","poche","prince","pyjama","reine","robe","roi","ruban","semelle",
			"soldat","sociere","tache","taille","talon","tissu","tricot","uniforme","valise","veste","vetement","changer","chausser","couvrir","deguiser",
			"enlever","habiller","lacer","porter","ressembler","clair","court","etroit","fonce","joli","large","long","bien","mal","mieux","presque",
			"ampoule","avion","bois","bout","bricolage","bruit","cabane","carton","clou","colle","crochet","ficelle","fil","marteau","metal","metre",
			"morceau","moteur","objet","outil","peinture","pinceau","planche","platre","scie","vis","voiture","arracher","attacher","casser","coudre",
			"detruire","ecorcher","enfiler","enfoncer","fabriquer","mesurer","percer","pincer","reparer","reussir","servir","taper","trouer","trouver",
			"adroit","difficile","dur","facile","lisse","pointu","tordu","accident","camion","engin","feu","frein","fusee","garage","gare","grue","moto",
			"panne","parking","pilote","pneu","quai","train","virage","vitesse","voyage","wagon","zigzag","arreter","atterrir","bouder","charger",
			"conduire","demarrer","donner","ecraser","envoler","garder","garer","manquer","partir","poser","reculer","rouler","tendre","voler","abime",
			"ancien","blanc","bleu","casse","cinq","dernier","deux","deuxieme","dix","gris","gros","huit","jaune","meme","neuf","pareil","premier",
			"quatre","rouge","sept","seul","six","solide","trois","un","vert","dessus","autour","vite","vers","arret","arriere","barre","barreau",
			"bord","bras","cerceau","chaise","cheville","chute","coeur","corde","corps","cote","cou","coude","cuisse","danger","doigts","dos","echasses",
			"echelle","epaule","equipe","fesse","filet","fond","genou","hanche","jambe","jeu","mains","milieu","montagne","mur","escalade","muscle",
			"numero","ongle","parcours","pas","pente","peur","pied","plongeoir","poignet","poing","pont","signe","singe","poutre","prise","riviere",
			"crocodile","roulade","pirouette","saut","serpent","sport","suivant","tete","toboggan","tour","trampoline","tunnel","ventre","accrocher",
			"appuyer","arriver","baisser","balancer","bondir","bousculer","cogner","courir","danser","depasser","descendre","ecarter","escalader","gagner",
			"gener","glisser","grimper","marcher","pattes","debout","monter","montrer","pencher","percher","perdre","ramper","rater","respirer","retourner",
			"revenir","sauter","soulever","suivre","tomber","traverser","epais","fort","groupe","immobile","rond","serre","souple","ensemble","ici","jamais","toujours",
			"souvent","bagarre","ballon","bande","bille","cage","cerf","volant","chateau","coup","cour","course","echasse","flaque","eau","paix","pardon","partie",
			"pedale","pelle","pompe","preau","raquette","rayon","sable","sifflet","signe","tas","tricycle","tuyau","velo","file","rang","bagarrer","battre",
			"cacher","cracher","creuser","crier","degonfler","dispute","empecher","galoper","hurler","jongler","lancer","pedaler","plaindre","pleurer","poursuivre",
			"proteger","saigner","salir","siffler","surveiller","trainer","trouver","fou","mechant");
			srand((double)microtime()*1000000);
			shuffle($mot_a_trouver);
			$_SESSION{'mot'} = $mot_a_trouver{0};
			$_SESSION{'point'} = 10;
		}
		elseif ($_POST{'niveau'} == 2)
		{
			$mot_a_trouver=array("maternelle","tableaux","tabouret","rechauffer","coloriage","rayure","peinture","pinceau",
			"cartable","bibliotheque","dictionnaire","catalogue","enveloppe","etiquette","alphabet","appareil","camescope",
			"difference","magnetoscope","orchestre","ordinateur","telecommande","xylophone","recommencer","travailler",
			"directrice","mensonge","progresser","expliquer", "handicape", "inseparable", "entonnoir", "renverser",
			"interessant",	"transparent", "casquette", "chaussette", "deshabiller","multicolore","aiguille","elastique",
			"marionnette","tournevis","maladroit","accident","aeroport","helicoptere","disparaitre","transporter","troisieme",
			"acrobate","escabeau","gymnastique","passerelle","equilibre","quarante-deux","remplacer","transpirer","dangeureux",
			"balancoire","bicyclette","ecureuil","recreation","arbalete","ampoule","brouette","brigadier","clochard","cariole",
			"esthetique","franchise","genouillere","goudron","graduellement","habitation","haricot","habillement","habilite",
			"immobilier","irrealisable","interdiction","juxtaposition","journalier","journaliste","kangourou",
			"kinésitherapeute","kilogramme","kerosene","luminosite","legionnaire","lieutenant","miserabilisme",
			"missionnaire","monarchique","monarchisme","neoprene","nicotine","nomenclature","nucleaire",
			"observation","objection","olympique","prisonnier","paleonthologue","palmeraie","pancreatique",
			"quadrangulaire","quadrilatere","quadriceps","naturelles","supprimer","quinquagenaire",
			"radiocommunication","radioactivite","recidiviste","reciproquement","redoublement","serpentin","saisissant",
			"scrupulesement","saltimbanque","scientifique","supernova","traduction","traceologie","tragedie","traineau",
			"triceratops","unanimement","centrifugeuse","uniloculaire","ustensile","uppercut","urbanisme","utopisme",
			"vaccination","vagabondage","verticalement","vitrificateur","waterproof","wagonnet","wattmetre","xylophone",
			"xanthophyle","yoghourt","yaourt","yemenite","yaourtiere","yakusa","yougoslave","zenithal","zingueur","zombie",
			"zezaiement","zodiaque","zoulou","zygomatique","informatique","numerique","baleines","arboricoles", "plantureux", "amnesiaques", "necropoles",
			"imposteur","facetie","divulguer","concision","loquaces","sobriete", "melancoliques","alambique", "aliena","allegorie","antinomique",
			"augustes","belitre","bichette","borborygme","cabales","catimini","narguille","compulsifs","detracteurs","diantre","tapinois",
			"endiguer","eructer","esoterique","idoine","inanite","ineffable","irrevencieux","laconique","litote","loquacite","marshmallow",
			"megalomanie","nutritif","obsolescence","obsoletes","papelard","patelin","prostituée","poissarde","polymorphie",
			"psychotrope","redondantes","subliminal","taciturnes","trivialite","vacuite","vaudou","antillais","facile","aquarium","aubergines",
			"silencieuses","mobiliers","creperies","football","kamikazes","tracteurs","heliocoidale","chansonnier","ascensions","orthodoxes",
			"hydroliques","maisonettes","abasourdis","abattons","abjectes","abjuriez","abondaient","abstinents","academiques","raccourcis","accoutumés",
			"acheminons","automatismes","chromosomes","chuchotee","cicatrisons","cimenterie","cisaillements","citriques","clairvoyants","claquantes","clignotements",
			"climatologues","cliquettements","coaguler","coaxiaux","pokemon","colombiers","commandées","compositrices","comprendriez","concassage","conceptuelles",
			"concrètement","confitures","conformistes","anarchistes","consolider","consommateurs","construiront","consultables","dissolvants","distilleries",
			"divulgatrices","dorenavant","douloureuses","dreadnought","helvetes","justiciers","convalescence","bourgeonnement","collaborateurs","contemporaine");
			srand((double)microtime()*1000000);
			shuffle($mot_a_trouver);
			$_SESSION{'mot'} = $mot_a_trouver{0};
			$_SESSION{'point'} = 7;
		}
		$_SESSION{'longueur'} = strlen($_SESSION{'mot'});
		$reponse = ($_SESSION{'mot'}{0});
		for ($a = 1; $a < $_SESSION{'longueur'} - 1; $a++)
		{
			$reponse{$a} = '-';
		}
		$reponse{$_SESSION{'longueur'} - 1} = $_SESSION{'mot'}{$_SESSION{'longueur'} - 1};
		$_SESSION{'pseudo'} = $_POST{'pseudo'};
		$_SESSION{'reponse'} = $reponse;
		header('location:affichagedebut1j.php');
		}
		else
		{
			header('location:formulaire.php');
		}
		}
		else
		{
			header('location:formulaire.php');
		}
	?>
	</section>
</html>
affichagedebut1j.php
<?php
	session_start ();
	echo 'vous connaisez cette partie du mot: '.$_SESSION{'reponse'}.'<br/>';
	
echo 'il vous reste '.$_SESSION{'point'}.' faux essais avant de mourir!'
?>
<img src="../images/<?php echo 10 - $_SESSION{'point'}; ?>.jpg" class="imageflottante2" />
	<form action="jeu1j.php" method="post">
		<?php echo $_SESSION{'pseudo'}; ?> , entrez une lettre:
		<input type="text" name="lettre"/> <br/>
		<input type="submit" value="Envoyer">
	</form>
jeu1j.php
	<?php

	for ($a = 1;  $a < ($_SESSION['longueur'] - 1); $a++)
	//ici on regarde si 'lettre' est égale à 'mot{a}' pour a parcourant tout le mot
	{
		if (($_POST{'lettre'}) == ($_SESSION{'mot'}{$a}))
		{
			$_SESSION{'reponse'}{$a} = $_POST{'lettre'};//on met à jour la reponse en la complétant de la lettre
			$compteur = $compteur + 1;
		}
	}
	if ($compteur == 0)
	//si le compteur n'a pas bougé, alors la reponse n'a pas était modifié, alors la lettre était fausse, alors le joueur perd un point
	{
		$_SESSION{'point'} = $_SESSION{'point'} - 1;
	}
	echo $_SESSION{'reponse'}.'<br/>';
	echo 'Attention, il te reste '.$_SESSION{'point'}.' fausses lettres avant de mourir pendu!';
	?>
	<img src="../images/<?php echo 10 - $_SESSION{'point'}; ?>.jpg" class="imageflottante2" />
	<?php
	if ($_SESSION{'point'} == 0 and $_SESSION{'reponse'} != $_SESSION{'mot'})
	{
		header('Location:perdu1j.php');
		?>
		<br/>
		<a href="formulaire.php">Une autre partie?</a>
		<?php
	}
	if ($_SESSION{'reponse'} == $_SESSION{'mot'} and $_SESSION{'point'} != 0)
	{

		header('Location:gagne1j.php');
		
		?>
		<br/>
		<a href="formulaire.php">Une autre partie?</a>
		<?php //on renvoie à mot et le jeu recommence en changeant les rôles du joueur
	}
	}
	else
	{
	?>
	<img src="../images/<?php echo 10 - $_SESSION{'point'}; ?>.jpg" class="imageflottante2" />
	<form action="jeu1j.php" method="post">
		<?php echo $_SESSION{'pseudo'}; ?>, entrez une lettre valide:
		<input type="text" name="lettre"/> <br/>
		<input type="submit" value="Envoyer">
	</form>
	<?php
	echo $_SESSION{'reponse'}.'<br/>';
	}
?>
gagne1j.php
Tu as gagné!
			<br/> Le mot était: <?php session_start (); echo $_SESSION{'mot'}; ?>
			Mais il ne te restait que <?php echo $_SESSION{'point'};?> faussses lettres avant de mourir PENDU!<br/>
			<a href="./formulaire.php">Une autre partie?</a>
perdu1j.php
Tu as PERDU! Tu est pendu!
			<br/> Le mot était: <?php session_start (); echo $_SESSION{'mot'}; ?>
			<br/>
			<a href="./formulaire.php">Une autre partie?</a>
mot2j.php
session_start();
if (strlen($_POST{'pseudoj1'}) != 0 and strlen($_POST{'pseudoj2'}) != 0)
{
	if (($_POST{'pseudoj1'}) != ($_POST{'pseudoj2'}))
	{
		
		$_SESSION{'pseudoj1'} = $_POST{'pseudoj1'}; //ici on initialise les variables globales des pseudos des joueurs.
		$_SESSION{'pseudoj2'} = $_POST{'pseudoj2'};
		if ($_SESSION{'partie'}%2 == 0) //ici, on utilise une astuce pour déterminer quel joueur doit entrer le mot grâce aux modulos. Une partie sur 2 le joueur change (pair/impair).
		{
			$numjoueur = $_SESSION{'pseudoj2'};
		}
		elseif ($_SESSION{'partie'}%2 == 1)
		{
			$numjoueur = $_SESSION{'pseudoj1'};
		}
		?>
			<section>
				<form action="test2j.php" method="post">
					<?php echo $numjoueur; ?>, entrez un mot: <!-- ici le joueur concerné doit rentrer un mot (il est dommage que on ne puisse pas contrôler quel joueur rentre le mot) -->
					<input type="text" name="mot"/> <br/>
					<input type="submit" value="Envoyer">
				</form>
			</section>
		<?php
		
	}
	else
	{
		header('Location:formulaire.php');
	}
}
else
{
	header('Location:formulaire.php');
}
if (is_numeric($_POST{'point'}))
{
	if ($_POST{'point'} <= 10 and $_POST{'point'} >= 1)
	{
		$_SESSION{'point2'} = $_POST{'point'};
	}
	elseif ($_POST{'point'} >= 10)
	{
		header('Location:formulaire.php');
	}
}
else
{
	header('Location:formulaire.php');
}
?>
test2j.php
<?php
$compteur = 0;
	if (isset ($_POST{'mot'})) //dans test, on créé la reponse et on initialise les points du joueur pour la partie!
	{
	$longueur = strlen($_POST{'mot'});
	$_POST{'mot'} = strtolower ($_POST{'mot'});
	for  ($a = 0; $a < $longueur ; $a++)
	{
		$testlettre = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s',
		't','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
		if(in_array($_POST{'mot'}{$a},$testlettre))
		{
			$compteur ++;
		}
	}
	if ($compteur == $longueur)
	{
		$reponse = $_POST{'mot'}{0};
			for ($a = 1; $a < $longueur - 1; $a++)
			{
				$reponse{$a} = '-';
			}
			$reponse{$longueur - 1} = $_POST{'mot'}{$longueur - 1};
			session_start ();
			$_SESSION{'longueur'} = $longueur;
			$_SESSION{'reponse'} = $reponse;
			$_SESSION{'mot'} = $_POST{'mot'};
			$_SESSION{'point'} = $_SESSION{'point2'};
			header('location:affichagedebut2j.php');
	}
	else
	{
		header('location:mot2j.php');
	}
	}
	else
	{
		header('Location:mot2j.php');
	}
?>
affichagedebut2j.php
<?php
	session_start ();
	echo 'vous connaisez cette partie du mot: '.$_SESSION{'reponse'}.'<br/>';
	if ($_SESSION{'partie'}%2 == 0){ // test avec les modulos voir les pages précèdentes
		$numjoueur = $_SESSION{'pseudoj1'};
	}
	elseif ($_SESSION{'partie'}%2 == 1)
	{
		$numjoueur = $_SESSION{'pseudoj2'};
	}
	
echo 'il vous reste '.$_SESSION{'point'}.' faux essais avant de mourir!'
?>
<img src="../images/<?php echo 10 - $_SESSION{'point'}; ?>.jpg" class="imageflottante2" />
	<form action="pendu2j2.php" method="post">
		<?php echo $numjoueur; ?> , entrez une lettre:
		<input type="text" name="lettre"/> <br/>
		<input type="submit" value="Envoyer">
	</form>
pendu2j2.php
<?php
	session_start ();
	$compteur  = 0; //sert à comparer les lettres du mot à la lettre entrer
	if ($_SESSION{'partie'}%2 == 0){ // test avec les modulos voir les pages précèdentes
		$numjoueur = $_SESSION{'pseudoj1'};
	}
	elseif ($_SESSION{'partie'}%2 == 1)// test avec les modulos voir les pages précèdentes
	{
		$numjoueur = $_SESSION{'pseudoj2'};
	}
	$testlettre = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s',
	't','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
	if (in_array($_POST{'lettre'},$testlettre))//on test si la lettre rentré est bonne avant de passer à la suite du programme
	{
		$_POST{'lettre'} = strtolower ($_POST{'lettre'});//mettre la lettre en minuscule
		?>
		<form action="pendu2j2.php" method="post">
			<?php echo $numjoueur; ?> , entrez une lettre:
			<input type="text" name="lettre"/> <br/>
			<input type="submit" value="Envoyer">
		</form>
		<?php
		for ($a = 1;  $a < ($_SESSION['longueur'] - 1); $a++)//on compare la lettre et le mot
		{
			if ($_SESSION{'mot'}{$a} == $_POST{'lettre'})
			{
				$_SESSION{'reponse'}{$a} = $_POST{'lettre'};//on met à jour la reponse en la complétant de la lettre
				$compteur = $compteur + 1;
			}
		}
		if ($compteur == 0)
		/*si le compteur n'a pas bougé, alors la reponse n'a pas était
		modifié, alors la lettre était fausse, alors le joueur perd un point*/
		{
			$_SESSION{'point'} = $_SESSION{'point'} - 1;
		}
		echo 'Il vous reste '.$_SESSION{'point'}.' faux essais avant de mourir PENDU!'.'<br/>';
		echo 'vous connaissez cette partie du mot : '.$_SESSION{'reponse'}.'<br/>';
		?>
		<img src="../images/<?php echo 10 - $_SESSION{'point'}; ?>.jpg" class="imageflottante2" />
		<?php
	}
	else //sinon, on redemande d'entrer la lettre, le joueur ne perd aucun point
	{
		?>
		<img src="../images/<?php echo 10 - $_SESSION{'point'}; ?>.jpg" class="imageflottante2" />
		<form action="pendu2j2.php" method="post">
			<?php echo $numjoueur; ?> , entrez une lettre valide:
			<input type="text" name="lettre"/> <br/>
			<input type="submit" value="Envoyer">
		</form>
		<?php
		echo 'Vous connaissez cette partei du mot : '.$_SESSION{'reponse'};
	}
	if ($_SESSION{'point'} == 0 and $_SESSION{'reponse'} != $_SESSION{'mot'})//le joueur a perdu
	{
		$_SESSION{'partie'} ++; /* on  augmente de nombre de partie afin de déterminer
		qui devra entrer le mot ou la lettre*/
		echo 'Tu as perdu!!! Le mot était :'.$_SESSION{'mot'}.'<br/>';
		
		
		header('Location:perdu2j.php');
		
	}
	if ($_SESSION{'reponse'} == $_SESSION{'mot'} and $_SESSION{'point'} != 0)//ici, le joueur a gagné! il gagne 1 point	
	{
		$_SESSION{'partie'} ++;
		echo 'Tu as gagné!!! Le mot était :'.$_SESSION{'mot'}.'<br/>';
		if ($numjoueur == $_SESSION{'pseudoj1'})
		{
			$_SESSION{'pointj1'} ++;
			echo $_SESSION{'pointj1'}.'<br/>';
		}
		elseif ($numjoueur == $_SESSION{'pseudoj2'})
		{
			$_SESSION{'pointj2'} ++;
			echo $_SESSION{'pointj2'}.'<br/>';
		}
		
		header('Location:gagne2j.php');
		
	}
gagne2j.php
Bien joué!
			<br/> Le mot était: <?php session_start (); echo $_SESSION{'mot'}; ?>
			Mais il ne te restait que <?php echo $_SESSION{'point'};?> faussses lettres avant de mourir PENDU!<br/>
			Attention! <?php echo $_SESSION{'pseudoj1'};?> a <?php echo $_SESSION{'pointj1'};?> point!<br/>
			Et, <?php echo $_SESSION{'pseudoj2'};?> a <?php echo $_SESSION{'pointj2'};?> point!
			Le premier à 5 points à gagner!<br/>
			<a href="./victoire2j.php">CONTINUER!</a>
perdu2j.php
Tu as PERDU! Tu est pendu!
			<br/> Le mot était: <?php session_start (); echo $_SESSION{'mot'}; ?>
			Attention! <?php echo $_SESSION{'pseudoj1'};?> a <?php echo $_SESSION{'pointj1'};?> point!<br/>
			Et, <?php echo $_SESSION{'pseudoj2'};?> a <?php echo $_SESSION{'pointj2'};?> point!
			Le premier à 5 points à gagner!<br/>
			<a href="./victoire2j.php">CONTINUER!</a>
victoire2j.php
<?php
			session_start();
			if (($_SESSION{'pointj1'} - $_SESSION{'pointj2'}) == 1 and $_SESSION{'partie'}%2 == 1)
			{
				header('Location:mot2j2.php');
			}
			elseif ($_SESSION{'pointj1'} == 5 and $_SESSION{'pointj2'} == 5)
			{
				echo 'Impossible de départager 2 joueurs aussi bons que vous!';
				?>
				<a href="./formulaire.php">Une autre partie?</a>
				<?php
			}
			elseif ($_SESSION{'pointj1'} == 5)
			{
				echo 'Après 5 victoires c\'est '.$_SESSION{'pseudoj1'}.' qui a gagné!';
				?>
				<a href="./formulaire.php">Une autre partie?</a>
				<?php
			}
			elseif ($_SESSION{'pointj2'} == 5)
			{
				echo 'Après 5 victoires c\'est '.$_SESSION{'pseudoj2'}.' qui a gagné!';
				?>
				<a href="./formulaire.php">Une autre partie?</a>
				<?php
			}
			else
			{
				header('Location:mot2j2.php');
			}
mot2j2.php
<?php
session_start();

		if ($_SESSION{'partie'}%2 == 0) //ici, on utilise une astuce pour déterminer quel joueur doit entrer le mot grâce aux modulos. Une partie sur 2 le joueur change (pair/impair).
		{
			$numjoueur = $_SESSION{'pseudoj2'};
		}
		elseif ($_SESSION{'partie'}%2 == 1)
		{
			$numjoueur = $_SESSION{'pseudoj1'};
		}
		?>
			<section>
			<form action="test2j.php" method="post">
			<?php echo $numjoueur; ?>, entrez un mot: <!-- ici le joueur concerné doit rentrer un mot (il est dommage que on ne puisse pas contrôler quel joueur rentre le mot) -->
			<input type="text" name="mot"/> <br/>
			<input type="submit" value="Envoyer">
			</form>
			</section>

Petit nouveau ! | 1 Messages

29 oct. 2014, 08:06

Bonjour à tous,

Merci ghtnoacom, merci pour ta contribution et ta liste de mots, je l'ai réutilisée et adaptée pour produire ce code.
Les remarques sont les bienvenues.

index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
	<head>
		<title>Jeu du pendu</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	</head>
    <body>
    	<h1>Le célèbre jeu du pendu</h1>
	<?php
	require_once 'fonctions.inc.php';
	
	session_start();
	if(isset($_POST['quitter'])) session_unset();
	if(isset($_POST['rejouer'])) unset($_SESSION['mot']) ;
	
	if (isset ($_POST['niveau']) && isset ($_POST['pseudo']))
	{
		if($_POST['niveau']>0 && $_POST['niveau']<4 && strlen($_POST['pseudo']) != 0)
		{
			$_SESSION['niveau']=(int)$_POST['niveau'] ;
			$_SESSION['pseudo']=$_POST['pseudo'] ;		
		}
	}
	
	if(!isset($_SESSION['pseudo']))
	{//1er formulaire : demande du pseudo et du niveau de jeu
			$Html='
		<form action="index.php" method="post">
			<p><input type="radio" name="niveau" value ="1"/> facile
			<input type="radio" name="niveau" value ="2"/> difficile
			<input type="radio" name="niveau" value ="3"/> expert</p>
			<p>Entre ton prénom (ou ton pseudo) :
			<input type="text" name="pseudo"/> </p>
			<p><input type="submit" value="Envoyer"/></p>
		</form>';
	}
	else
	{//Le pseudo et le niveau de jeu sont connus
		if(!isset($_SESSION['mot'])) 
		{
			$Mot=MotATrouver($_SESSION['niveau']) ;
			$_SESSION['mot']=$Mot;
			$Longueur=strlen($Mot) ;
			$_SESSION['longueur']=$Longueur ;
			$_SESSION['liste']="" ;
			$Reponse=str_repeat('-',$Longueur) ;
			$Reponse[0]=$Mot[0] ;
			$Reponse[$Longueur-1]=$Mot[$Longueur-1] ;
			$_SESSION['reponse']=$Reponse ;
			
			$_SESSION['coups_restants']=Init_Coups_Restants($_SESSION['niveau']) ;
		}
		elseif(isset($_POST['lettre']))
		{
			$lettre=strtoupper($_POST['lettre']) ;
			if(Recherche_Chaine_Dans_Tableau($_SESSION['liste'],$lettre)===FALSE)
			{
				if(Actualise_Reponse($lettre)==0) $_SESSION['coups_restants']-- ;
			}
		}
		
		if($_SESSION['coups_restants']==0)
		{
			$Html='
		<p>'.$_SESSION['pseudo'].', perdu, tu es pendu !</p>
		<p>C\'était le mot '.$_SESSION['mot'].'</p>
		<p><img src="./images/pendu11.png"/></p>
		<form action="index.php" method="post">
			<p>
				<input type="submit" name="rejouer" value="Rejouer"/>
				<input type="submit" name="quitter" value="Quitter">
			</p>
		</form>' ;
		}
		elseif($_SESSION['mot']!=$_SESSION['reponse'])
		{
			$Image=sprintf('./images/pendu%02d.png',11-$_SESSION['coups_restants']) ;
			$Html='
		<p>'.$_SESSION['pseudo'].', il te reste '.$_SESSION['coups_restants'].' coups avant d\'être pendu !</p>
		<p>Liste : '.Assemble_Tableau_Chaine($_SESSION['liste']).'</p>
		<p>Mot à trouver :'.str_replace('-',' - ',$_SESSION['reponse']).'</p>
		<form action="index.php" method="post">
			<p>Propose une lettre :
				<input type="text" name="lettre"/>
				<input type="submit" value="Envoyer">
			</p>
			<p>
				<input type="submit" name="quitter" value="Abandonner / Quitter">
			</p>
			</form>
		<p><img src="'.$Image.'"/></p>' ;
		}
		else 
		{
			$Html='
		<p>'.$_SESSION['pseudo'].', bravo, c\'est gagné !</p>
		<p>C\'était le mot '.$_SESSION['mot'].'</p>			
		<form action="index.php" method="post">
			<p>
				<input type="submit" name="rejouer" value="Rejouer"/>
				<input type="submit" name="quitter" value="Quitter">
			</p>
		</form>' ;
		}		
		
	}
	echo $Html ;
?>
    </body>
</html>
fonctions.inc.php
<?php
function MotATrouver($Niveau)
{
	switch($Niveau)
	{
		case 1 :
			$Mot_a_trouver=array("angle","banc","clef","coin","eau","ecole","lit","mur","porte","rampe","salle","salon",
			"siege","sol","table","tapis","vitre","aller","lever","venir","assis","bas","haut","face","loin",
			"pres","tard","tot","apres","avant","dans","de","sous","sur","stylo","mine","craie","pli","colle",
			"boite","jeu","jouet","pion","cube","perle","chose","forme","carre","rond","pate","livre","image",
			"album","titre","conte","page","ligne","mot","carte","appel","chaine","doigt","ecran","film","fois",
			"foi","idee","liste","main","micro","nom","photo","point","pouce","radio","sens","trait","voix","zero",
			"dire","faire","finir","lire","plier","poser","salir","fou","tenir","trier","ami","dame","droit","eleve",
			"faute","fille","ordre","obeir","blond","brun","calme","punir","doux","grand","moyen","muet","noir","poli",
			"roux","sage","sale","pont","pot","roue","sac","balle","boite","petit","sourd","litre","pluie","jouer","laver",
			"nager","moins","peu","trop","arcs","barbe","botte","col","epee","fusil","gant","habit","jean","jupe","lacet",
			"laine","linge","magie","paire","pied","poche","reine","robe","roi","ruban","tache","talon","tissu","veste",
			"clair","court","lacer","fonce","joli","large","long","bien","mal","mieux","seau","tasse","trous","verre","tirer",
			"vider","chaud","froid","sec","avion","bois","bout","bruit","clou","colle","fil","metal","metre","objet","outil",
			"scie","vis","taper","dur","lisse","tordu","engin","feu","frein","fusee","gare","grue","moto","pneu","quai","train",
			"wagon","garer","deux","blanc","bleu","casse","cinq","dix","gris","gros","huit","jaune","meme","neuf","poser","voler",
			"abime","rouge","sept","seul","six","trois","un","vert","vite","vers","arret","barre","bord","bras","chute","coeur",
			"corde","corps","cote","cou","coude","dos","fesse","filet","fond","genou","jambe","jeu","mains","mur","poing","pont",
			"signe","singe","pas","pente","peur","pied","saut","sport","tete","tour","gener","epais","fort","rond","serre","rater",
			"bande","bille","cage","cerf","coup","cour","eau","paix","ici","pelle","pompe","preau","rayon","sable","tas","tuyau",
			"velo","file","rang","crier");
			break;
		case 2 :
			$Mot_a_trouver=array("armoire","bureau","cabinet","carreau","chaise","classe","couloir","dossier","entrer","arreter","atterrir",
			"etroit","presque","ampoule","bricolage","cabane","carton","crochet","ficelle","marteau","trouver","bouder","charger",
			"morceau","moteur","peinture","pinceau","planche","platre","voiture","arracher","attacher","casser","coudre",
			"detruire","ecorcher","enfiler","enfoncer","fabriquer","mesurer","percer","pincer","reparer","reussir","servir",
			"adroit","difficile","facile","pointu","accident","camion","garage","panne","parking","pilote","virage","vitesse",
			"conduire","demarrer","donner","ecraser","envoler","garder","manquer","partir","reculer","rouler","tendre","zigzag",
			"ancien","dernier","deuxieme","pareil","premier","quatre","solide","dessus","autour","arriere","barreau","escalade",
			"cerceau","chaise","cheville","cuisse","danger","doigts","echasses","echelle","epaule","equipe","hanche","milieu",
			"numero","ongle","parcours","plongeoir","poignet","poutre","prise","riviere","escalader","gagner","bagarrer","battre",
			"crocodile","roulade","pirouette","serpent","suivant","toboggan","trampoline","tunnel","ventre","accrocher","poursuivre",
			"appuyer","arriver","baisser","balancer","bondir","bousculer","cogner","courir","danser","depasser","descendre",
			"glisser","grimper","marcher","pattes","debout","monter","montrer","pencher","percher","perdre","ramper","respirer",
			"revenir","sauter","soulever","suivre","tomber","traverser","groupe","immobile","souple","ensemble","jamais","toujours",
			"souvent","bagarre","ballon","volant","chateau","course","echasse","flaque","pardon","partie","pedale","raquette",
			"cacher","cracher","creuser","degonfler","dispute","empecher","galoper","hurler","jongler","lancer","pedaler","plaindre",
			"escalier","etagere","exterieur","fenetre","interieur","lavabo","marche","matelas","meuble","mousse","tricycle",
			"peluche","placard","plafond","poubelle","radiateur","rideau","robinet","serrure","serviette","sieste","retourner",
			"silence","sommeil","sonnette","sortie","tableau","tiroir","toilette","amener","apporter","appuyer","montagne",
			"attendre","bailler","coucher","dormir","eclairer","emmener","emporter","entrer","fermer","frapper","muscle",
			"installer","ouvrir","presser","rester","sonner","sortir","absent","present","gauche","droite","voyage","trouer",
			"debout","dedans","dehors","contre","derriere","devant","crayon","feutre","gomme","dessin","coloriage","sifflet",
			"couleur","papier","feuille","cahier","carnet","carton","ciseaux","decoupage","pliage","affaire","casier","ecarter",
			"caisse","trousse","domino","puzzle","modeler","tampon","histoire","magazine","enveloppe","etiquette",
			"affiche","appareil","cassette","chanson","chiffre","contraire","ecriture","instrument","intrus","lettre",
			"modele","musique","nombre","poster","prenom","question","tambour","telephone","television","trompette",
			"chanter","chercher","choisir","chuchoter","coller","colorier","commencer","comparer","compter","construire",
			"continuer","copier","couper","dechirer","decoller","decorer","decouper","demolir","dessiner","discuter",
			"ecouter","ecrire","effacer","entendre","entourer","envoyer","fouiller","gouter","pleurer",
			"regarder","remettre","repeter","repondre","sentir","souligner","tailler","terminer","toucher","travailler",
			"attention","camarade","colere","copain","coquin","directeur","directrice","effort","enfant","fatigue",
			"garcon","gardien","madame","maitre","maitresse","personne","retard","joueur","sourire","travail","aider",
			"defendre","desobeir","distribuer","echanger","expliquer","gronder","obliger","partager","preter","priver",
			"promettre","progres","quitter","raconter","expliquer","refuser","separer","curieux","different","enerver","gentil",
			"jaloux","nouveau","propre","serieux","tranquille","arrosoir","assiette","bateau","bouchon","bouteille","bulles",
			"canard","casserole","cuillere","cuvette","douche","gouttes","moulin","poisson","plastique","saladier","tablier",
			"agiter","amuser","arroser","attraper","avancer","baigner","barboter","boucher","bouger","deborder","doucher",
			"eclabousser","essuyer","envoyer","couler","partir","flotter","gonfler","inonder","melanger","mouiller","pleuvoir",
			"plonger","pousser","pouvoir","presser","recevoir","remplir","secher","serrer","souffler","tourner","tremper",
			"verser","vouloir","amusant","humide","mouille","moitie","autant","beaucoup","encore","plusieurs","anorak",
			"bagage","baguette","bonnet","bouton","bretelle","cagoule","casque","ceinture","chapeau","chausson","chaussure",
			"chemise","cigarette","collant","couronne","cravate","culotte","echarpe","fleche","lunettes","magicien","maillot",
			"manche","manteau","mouchoir","moufle","pantalon","prince","pyjama","semelle","soldat","sociere","taille","tricot",
			"uniforme","valise","vetement","changer","chausser","couvrir","deguiser","enlever","habiller","porter","ressembler",
			"imiter","laisser","mettre","montrer","ouvrir","parler","peindre","prendre","preparer","ranger","reciter",
			"proteger","saigner","siffler","surveiller","trainer","trouver","mechant");
			break;
		case 3 :
			$Mot_a_trouver=array("maternelle","tableaux","tabouret","rechauffer","coloriage","rayure","peinture","pinceau",
			"cartable","bibliotheque","dictionnaire","catalogue","enveloppe","etiquette","alphabet","appareil","camescope",
			"difference","magnetoscope","orchestre","ordinateur","telecommande","xylophone","recommencer","travailler",
			"directrice","mensonge","progresser","expliquer", "handicape", "inseparable", "entonnoir", "renverser","conceptuelles",
			"interessant",	"transparent", "casquette", "chaussette", "deshabiller","multicolore","aiguille","elastique",
			"marionnette","tournevis","maladroit","accident","aeroport","helicoptere","disparaitre","transporter","troisieme",
			"acrobate","escabeau","gymnastique","passerelle","equilibre","quarante-deux","remplacer","transpirer","dangeureux",
			"balancoire","bicyclette","ecureuil","recreation","arbalete","ampoule","brouette","brigadier","clochard","cariole",
			"esthetique","franchise","genouillere","goudron","graduellement","habitation","haricot","habillement","habilite",
			"immobilier","irrealisable","interdiction","juxtaposition","journalier","journaliste","kangourou","claquantes",
			"kinésitherapeute","kilogramme","kerosene","luminosite","legionnaire","lieutenant","miserabilisme","clignotements",
			"missionnaire","monarchique","monarchisme","neoprene","nicotine","nomenclature","nucleaire","antinomique",
			"observation","objection","olympique","prisonnier","paleonthologue","palmeraie","pancreatique","accoutumés",
			"quadrangulaire","quadrilatere","quadriceps","naturelles","supprimer","quinquagenaire","amnesiaques", "necropoles",
			"radiocommunication","radioactivite","recidiviste","reciproquement","redoublement","serpentin","saisissant",
			"scrupulesement","saltimbanque","scientifique","supernova","traduction","traceologie","tragedie","traineau",
			"triceratops","unanimement","centrifugeuse","uniloculaire","ustensile","uppercut","urbanisme","utopisme","concassage",
			"vaccination","vagabondage","verticalement","vitrificateur","waterproof","wagonnet","wattmetre","xylophone","collaborateurs",
			"xanthophyle","yoghourt","yaourt","yemenite","yaourtiere","yakusa","yougoslave","zenithal","zingueur","zombie","aubergines",
			"zezaiement","zodiaque","zoulou","zygomatique","informatique","numerique","baleines","arboricoles", "plantureux",
			"imposteur","facetie","divulguer","concision","loquaces","sobriete", "melancoliques","alambique", "aliena","allegorie",
			"augustes","belitre","bichette","borborygme","cabales","catimini","narguille","compulsifs","detracteurs","diantre","tapinois",
			"endiguer","eructer","esoterique","idoine","inanite","ineffable","irrevencieux","laconique","litote","loquacite","marshmallow",
			"megalomanie","nutritif","obsolescence","obsoletes","papelard","patelin","prostituée","poissarde","polymorphie","distilleries",
			"psychotrope","redondantes","subliminal","taciturnes","trivialite","vacuite","vaudou","antillais","facile","aquarium",
			"silencieuses","mobiliers","creperies","football","kamikazes","tracteurs","heliocoidale","chansonnier","ascensions","orthodoxes",
			"hydroliques","maisonettes","abasourdis","abattons","abjectes","abjuriez","abondaient","abstinents","academiques","raccourcis",
			"acheminons","automatismes","chromosomes","chuchotee","cicatrisons","cimenterie","cisaillements","citriques","clairvoyants",
			"climatologues","cliquettements","coaguler","coaxiaux","pokemon","colombiers","commandées","compositrices","comprendriez",
			"concrètement","confitures","conformistes","anarchistes","consolider","consommateurs","construiront","consultables","dissolvants",
			"divulgatrices","dorenavant","douloureuses","dreadnought","helvetes","justiciers","convalescence","bourgeonnement","contemporaine");
	}
	//srand((double)microtime()*1000000);
	/* Depuis PHP 4.2.0, nous n'avons plus besoin d'initialiser le générateur de nombres aléatoires avec srand() ou mt_srand() 
	 * car c'est fait automatiquement.
	 */
	$Mot=strtoupper($Mot_a_trouver[rand(0,sizeof($Mot_a_trouver)-1)]);
	return $Mot ;	
}

function Init_Coups_Restants($Niveau)
{
	return 11;
}

function Recherche_Chaine_Dans_Tableau($TabChaine, $Chaine)
{
	$i=0 ;
	while($Chaine!==$TabChaine[$i] && $i<sizeof($TabChaine))
	{
		$i++;
	}
	if($i==sizeof($TabChaine))
	{
		return FALSE;
	}
	else 
	{
		return $i;
	}
}

function Assemble_Tableau_Chaine($TabChaine)
{
	$Chaine="" ;
	if(sizeof($TabChaine)!=0)
	{
		for($i=0 ; $i<sizeof($TabChaine)-1 ; $i++)
		{
			$Chaine.=$TabChaine[$i].", " ;
		}
		$Chaine.=$TabChaine[$i] ;
	}
	return $Chaine ;
}

function Actualise_Reponse($Lettre)
{
	$i=0 ;
	$NbLettre=0 ;
	do
	{
		$i=strpos($_SESSION['mot'], $Lettre, $i+1) ;
		if($i>0 && $i<($_SESSION['longueur'])-1)
		{
			$_SESSION['reponse'][$i]=$Lettre ;
			$NbLettre++ ;
		}
		
	}
	while($i!==FALSE) ;
	/* Ajouter $Lettre à la liste… */
	$_SESSION['liste'][]=$Lettre ;
	sort($_SESSION['liste']) ;
	return $NbLettre ;
}
?>
Pierre