Amélioration de mon jeu?

Eléphant du PHP | 55 Messages

19 avr. 2011, 19:33

Bien le bonjour PHPFRANCE!
J'avais créé, il y a de sa, deux ou trois bonne années, un jeux en PHP. Rien d'autre que : Pierre Papier Ciseau ET PUIT.
<?php
try
{
        $connexion = new PDO('mysql:host='.$dbhost.';dbname='.$dbname, $dbuser, $dbpasswd);
}
 
catch(Exception $e)
{
        echo 'Une erreur est survenue !';
        die();
}
				mt_srand((float) microtime()*1000000);
				$chance = mt_rand(1, 4);
				$chance2 = mt_rand(1, 2);
				//
				$resultats = $connexion->query("SELECT * FROM phpbb_users WHERE username='".$userdata['username']."'");
				$resultats->setFetchMode(PDO::FETCH_OBJ);
				$ligne = $resultats->fetch();
				//
	//Mode Victoire puit
					if($jank == 'puit' AND $chance == '1' OR $chance == '2')
					{
						if($chance2 == "1")
						{
					echo"<img src='images/ciseau2.png'/>";
						}
						else
						{
					echo"<img src='images/roche2.png'/>";
						}
					}
					//Mode Victoire roche
					elseif($jank == 'roche' AND $chance == '1' OR $chance == '2')
					{
					echo"<img src='images/ciseau2.png'/>";
					}
					//Mode Victoire papier
					elseif($jank == 'papier' AND $chance == '1' OR $chance == '2')
					{
						if($chance2 == "1")
						{
					echo"<img src='images/puit2.png'/>";
						}
						else
						{
					echo"<img src='images/roche2.png'/>";
						}
					}
					//Mode Victoire ciseau
					elseif($jank == 'ciseau' AND $chance == '1' OR $chance == '2')
					{
					echo"<img src='images/papier2.png'/>";
					}
					
					//Mode Match Nul pour tout
					elseif($chance == '3')
					{
					echo'<img src="images/' . $jank . '2.png"/>';
					}
					 
					//Mode Defaite puit
					elseif($jank == 'puit' AND $chance == '4')
					{
					echo"<img src='images/papier2.png'/>";
					}
					//Mode Defaite roche
					elseif($jank == 'roche' AND $chance == '4')
					{
						if($chance2 == "1")
						{
					echo"<img src='images/papier2.png'/>";
						}
						else
						{
					echo"<img src='images/puit2.png'/>";
						}
					}
					//Mode Defaite papier
					elseif($jank == 'papier' AND $chance == '4')
					{
					echo"<img src='images/ciseau2.png'/>";
					}
					//Mode Defaite ciseau
					elseif($jank == 'ciseau' AND $chance == '4')
					{
						if($chance2 == "1")
						{
					echo"<img src='images/puit2.png'/>";
						}
						else
						{
					echo"<img src='images/roche2.png'/>";
						}
					}
				echo"</td>";
				echo"</tr>";
				echo"<tr>";
				echo"<td colspan='3' align='center'>";
				if($chance == '1' OR $chance == '2')
				{
				echo"<em class='bleu'>Arf t'a gagné...Continue Stp --</em><b class='bleu'>(+3)</b>";
				$Pts = $Nb_pt + 3;
				}
				elseif($chance == '3')
				{
				echo"<em class='orange'>Match nul *flag*</em><b class='orange'>(+0)</b>";
				$Pts = $Nb_pt;
				}
				else
				{
				echo"<em class='rouge'>Bon bah t'a perdu, serais-je trop fort pour toi?</em><b class='rouge'>(-5)</b>";
				$Pts = $Nb_pt - 5;
					if($Pts < 0)
					{
					$Pts = 0;
					}
				}
				$points= $connexion->query("UPDATE phpbb_users SET xp_jaken=".$Pts." WHERE user_id= ".$ligne->user_id."");

				?>
Voilà, j'ai amélioré les requêtes, mais après, pour réduire le code (c'est à dire, le coder en plus "poussé"), et avoir le même résultat, je bloque.. Une piste?

merci d'avance,
Anthony
8-)
http://lilou141203.labrute.com : merci de vous battre contre ma p'tite brute! :P

Eléphant du PHP | 241 Messages

19 avr. 2011, 23:06

Bonsoir,
que cherches-tu à faire exactement ?
C'est une humain contre l'ordinateur c'est ca ?
Il ne manque pas une partie de ton code ?
Vu qu'il n'est pas très bien commenté c'est difficile de se plonger dedans. (surtout quand le soir on est fatigué :mrgreen: )

Eléphant du PHP | 55 Messages

20 avr. 2011, 10:56

Bonsoir,
que cherches-tu à faire exactement ?
C'est une humain contre l'ordinateur c'est ca ?
Il ne manque pas une partie de ton code ?
Vu qu'il n'est pas très bien commenté c'est difficile de se plonger dedans. (surtout quand le soir on est fatigué :mrgreen: )
Bonjour,
exactement, c'est humain vs ordinateur. Le code est complet, il ne manque rien :) Je cherche à le coder plus proprement, plus poussé. On ma dit de le faire en switch? Oui d'accord, mais c'est impossible de mettre des elseif dans un switch?!
8-)
http://lilou141203.labrute.com : merci de vous battre contre ma p'tite brute! :P

Eléphant du PHP | 314 Messages

20 avr. 2011, 11:02

Hello,

Un bon début serait de séparer le code PHP et le code HTML !

Tu peux voir les fonctions de tamporisation : http://www.php.net/manual/fr/ref.outcontrol.php ; ou alors plus simple utiliser un moteur de Template !
Cordialement,
Julien - http://laravel.fr/

Eléphant du PHP | 55 Messages

20 avr. 2011, 11:24

Hello,

Un bon début serait de séparer le code PHP et le code HTML !

Tu peux voir les fonctions de tamporisation : http://www.php.net/manual/fr/ref.outcontrol.php ; ou alors plus simple utiliser un moteur de Template !
Le système de Template, j'y avait pensé, c'est vrai que c'est bien utile, étant donné que mon site est bassé sur la structure de PHPBB2. Par contre pour se que vous m'avez dit : les fonctions de tamporisation, je ne comprend pas très bien le principe?
8-)
http://lilou141203.labrute.com : merci de vous battre contre ma p'tite brute! :P

Eléphant du PHP | 314 Messages

20 avr. 2011, 11:44

Bonjour,

Pour faire simple, cela te permettra ( on se tutoie :) ) de garder en mémoire tout le contenu d'une page, plutôt que de l'afficher sur la page. Tu peux ensuite l'afficher ou tu veux...

exemple simple : récupéré dans une variable le contenu de var_dump, qui normalement affiche de lui même son contenu.
<?php
/*** INDEX.PHP ****/
// début de la tampo
ob_start();
var_dump($_SERVER);
$monvardump = ob_get_clean();

include('tpl/index.php");



/***** tpl/index.php ****/

<html>
<head>...</head>
<body>
   <pre>
       <?php echo $monvardump; ?>
   </pre>
</body>
</html>
Cordialement,
Julien - http://laravel.fr/

Eléphant du PHP | 55 Messages

20 avr. 2011, 16:08

Je n'avais pas pensé à ça :o Je te remercie pour ton explication, je vais "essayer" de mettre ça en pratique avec mon jeux :mrgreen:
8-)
http://lilou141203.labrute.com : merci de vous battre contre ma p'tite brute! :P