JeuWeb - Crée ton jeu par navigateur
doublearray - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : doublearray (/showthread.php?tid=3645)

Pages : 1 2


RE: doublearray - biboum - 07-02-2009

Ce code est encore en cours de formation, donc pardonne les érreurs Smile
Par contre, tu me parles de mettre mes requêtes tous au même endroit, histoire de ne pas mélanger code, et architecture. Mais cela change quoi ? Vitesse de traitement ? Evite des bugs ?
Mais c'est vrai que mes codes ne sont jamais optimisé, ni même très lisible. Merci pour le tuto.
Si je comprend bien, en déclarant la variable, et en la redéclarant plus loin, en y méttant "le point de concaténation" je crois que ca s'appelle (?) ca permet de rajouter un élément au sein de la variable ?

Pour l'histoire de mes fruits, ce n'est pas une boucle qu'il faut que je fasse.
Je suis en train d'essayer de faire un système avec les switch. Et surtout l'utilisateur devra choisir avec quelle produit il voudra faire son jus de fruit, comme cela, il n'y aura qu'un seul choix, et pas plusieurs.
Je sais solution de facilité, mais s'il devait avoir le choix des plusieurs fruits pour faire un seul jus de fruit...je vois pas comment je pourrais choisir l'un ou l'autre aléatoirement sans fausser toutes les données.

Bref, je crois que c'est avant tout à moi de réorganiser comment je veux le présenter la production, bien plus qu'une histoire de code qui ne marche pas...

Merci de votre aide.
Je ne ferme pas le topic, je vais essayer de revoir tout mon truc et je reviendrais Smile


RE: doublearray - Allwise - 07-02-2009

Pas grave les erreurs, c'est comme ça qu'on apprend Wink
Le fait de scinder le traitement des données de leur affichage est une approche de travail qui est plus modulaire, plus souple.
Imaginons que, demain, tu veuilles refondre complètement l'apparence de ton jeu. Quand tu feras tes modifications, tu devras intervenir et sur le code responsable de l'affichage, et sur le code responsable du traitement, alors que ces dernières ne subiront aucun changement. Faudra bien le toucher, le déplacer, changer les trucs du genre echo "<tr><td>.....</td></tr>";
Pareil dans l'autre sens. Si tu veux rajouter des fonctionnalités, il faudra les mettre au milieu du code html et c'est vraiment pas pratique !
Et si tu veux proposer des interfaces différentes ( des skins ) à tes utilisateurs, c'est galère aussi.

Donc l'idée, c'est d'avoir d'un côté : tes requêtes, tes boucles, tes variables... Et de l'autre, tes fichiers templates, avec des variables templates et des boucles templates.

Sinon, concernant la concaténation, c'est ça. Tu déclares ta variable une seule fois. Puis avec l'opérateur de concaténation .=, tu ajoutes du contenu à cette variable :
Code PHP :
<?php 
$variable
.= 'lilalou';
revient à faire
Code PHP :
<?php 
$variable
= $variable.'lilalou';

C'est très bien que tu cherches de ton côté, même si tu galères, c'est la meilleure façon de progresser... Donc bonne continuation.

Si jamais tu décides de passer aux templates et que tu galères, n'hésite pas ^^


RE: doublearray - biboum - 07-02-2009

Allwise, surtout ne crie pas !!^^
Je n'ai pas encore touché au code, et j'ai continuer à faire comme je le faisais jusque là...c'est à dire pas forcément bien.
Mais j'ai réussis à faire ce que je voulais.
Je souhaitais utiliser un array, mais en fait, comme j'ai dis, l'utilisateur devra décider avec quel produit il voudra faire son produit, comme ca y a qu'un seul choix que je vais récuperer dans la BDD.

Ce qui donne :
Code PHP :
<?php 
if($usinees['produit'] == "jus de fruit")
{
$stock = mysql_query("SELECT valeur FROM c_stock WHERE pays='".$a['paysjoue']."' AND entreprise='".$usineees['entreprise']."' AND territoire='".$usineees['territoire']."' AND type='plastique'");
$stocks = mysql_fetch_array($stock);
$stocke = mysql_query("SELECT valeur FROM c_stock WHERE pays='".$a['paysjoue']."' AND entreprise='".$usineees['entreprise']."' AND territoire='".$usineees['territoire']."' AND type='cacao'");
$stockes = mysql_fetch_array($stocke);

if(empty(
$stocks['valeur']))
{
$gu = 0;
}
else
{
$gu = $stocks['valeur']/10;
}
if(empty(
$stockes['valeur']))
{
$gus = 0;
}
else
{
$gus = $stockes['valeur']/20;
}
echo
min($gu, $gus);

}

Au final, c'est plus simple pour moi, et au moins je sais le faire^^
Bon c'est sur que ce n'est pas du tout optimisé, vu que pour CHAQUE production possible, ca va faire un if-else, avec le nombre de requete à l'intérieur selon les besoins disponibles...
Mais c'est à retravailler tout ca.
Et justement avec l'histoire des templates. J'imagine que ca va m'éviter d'avoir à réécrire 40fois la même requete...

Bref, je m'y colle maintenant ! Merci pour tout en tout cas. Faudrait que je retourne faire un tour sur les forums tuto, la concaténation par exemple ca y étais, mais je l'avais completement zappé...


RE: doublearray - gameprog2 - 13-02-2009

C'est l'algo de calcul je pense qu'il cherche^^
je suis trop fatigué pour te faire ça mais c'est une simple regle de trois je pense à priori^^
style j'ai N oranges et M bananes, et avec le couple de fruits (5 oranges et 3 bananes^^) je peux faire combien de jus voilà ce qu'il cherche.