Jeu 94%
Résolu/Fermé
el_clapotis
Messages postés
11
Date d'inscription
lundi 7 décembre 2015
Statut
Membre
Dernière intervention
26 avril 2016
-
Modifié par KX le 24/04/2016 à 12:44
el_clapotis Messages postés 11 Date d'inscription lundi 7 décembre 2015 Statut Membre Dernière intervention 26 avril 2016 - 26 avril 2016 à 17:25
el_clapotis Messages postés 11 Date d'inscription lundi 7 décembre 2015 Statut Membre Dernière intervention 26 avril 2016 - 26 avril 2016 à 17:25
A voir également:
- Jeu 94%
- 94 jeu - Télécharger - Puzzle & Réflexion
- Jeu 94 degrés - Télécharger - Divers Jeux
- Jeu zuma - Télécharger - Jeux vidéo
- Logo jeu - Télécharger - Jeux vidéo
- Jeu pokemon sur telephone - Guide
4 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
24 avril 2016 à 12:43
24 avril 2016 à 12:43
Bonjour,
Le principe des if à répétitions ne peut pas être correct, ici tu as 8 niveaux, imagine ton code si tu en avais 100 par exemple...
Il faudrait que tu gères différemment tes données par exemple en stockant tes niveaux (thème et mots à trouver) dans un tableau.
Ainsi au lieu d'avoir une imbrication de if à rallonge, tu aurais une simple boucle sur chaque niveau.
Le principe des if à répétitions ne peut pas être correct, ici tu as 8 niveaux, imagine ton code si tu en avais 100 par exemple...
Il faudrait que tu gères différemment tes données par exemple en stockant tes niveaux (thème et mots à trouver) dans un tableau.
Ainsi au lieu d'avoir une imbrication de if à rallonge, tu aurais une simple boucle sur chaque niveau.
el_clapotis
Messages postés
11
Date d'inscription
lundi 7 décembre 2015
Statut
Membre
Dernière intervention
26 avril 2016
Modifié par KX le 25/04/2016 à 06:39
Modifié par KX le 25/04/2016 à 06:39
voila ce que j'ai fait
program jeu94; type tab=array[1..6] of string; var mot:string; i:integer; q1,q2,q3,q4,q5:tab; gn:boolean; level:array[1..6] of tab; procedure jeu(mmot:string; t:tab; var d:boolean); var j,cpt,m:integer; score:integer; begin cpt:=0; r:=0; d:=false; for j:=2 to 6 do begin writeln('entrez les mots lies au:',t[1]); readln(mmot); for m:=2 to 6 do begin if (mmot=t[m]) then cpt:=cpt+1; end; end; score:=(100*cpt)div 5; if (score>=94) then begin d:=true; writeln('tu as gagne ton score est ',score,' passant au theme suivant'); end else begin d:=false; writeln('niveau echoue ton score est ',score); end; readln; end; begin q1[1]:='aliments riches en fer'; q1[2]:='thym'; q1[3]:='curry'; q1[4]:='lentilles'; q1[5]:='cumin'; q1[6]:='pisson'; q2[1]:='touristiques plage destinations'; q2[6]:='maldives'; q2[2]:='bulgaria'; q2[3]:='antalya';q2[4]:='hawaii'; q2[5]:='sydney'; q3[1]:='meilleurs nations du foot en coupe de monde'; q3[6]:='argentine'; q3[2]:='bresil'; q3[3]:='algerie';q3[4]:='allemagne'; q3[5]:='italie'; q4[1]:='pays peuples'; q4[2]:='chine'; q4[3]:='etats unis'; q4[4]:='inde'; q4[5]:='indonesie'; q4[6]:='japon'; q5[1]:='voitures de course'; q5[6]:='ferrari';q5[2]:='bentley'; q5[3]:='lamborghini';q5[4]:='maserati'; q5[5]:='bugatti'; level[1]:=q2; level[2]:=q3; level[3]:=q4; level[4]:=q5; writeln('Bienvenue au JEU 94% assure toi de collecter 94 du score ou plus'); jeu(mot,q1,gn); i:=1; while (gn=true)and (i<=5) do begin jeu(mot,level[i],gn); i:=i+1; end; end.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
25 avril 2016 à 06:57
25 avril 2016 à 06:57
Il y a encore quelques maladresses mais dans l'idée c'est quand même beaucoup mieux de coder ainsi, ça facilite le développement et la compréhension du code.
Remarque : Pour l'instant dans ton programme
Dans le jeu 94% chaque réponse a un poids puisqu'il s'agit de retrouver les résultats d'un sondage. C'est la somme de ces poids qui doit atteindre 94%.
Exemple : Animaux herbivores
PS. sur ce forum les balises de code pour le langage Pascal c'est <code delphi>
Remarque : Pour l'instant dans ton programme
score:=(100*cpt)div 5;ne peut dépasser 94 que si cpt = 5, il faudrait donc faire un sans faute pour réussir...
Dans le jeu 94% chaque réponse a un poids puisqu'il s'agit de retrouver les résultats d'un sondage. C'est la somme de ces poids qui doit atteindre 94%.
Exemple : Animaux herbivores
32% : VacheSource : http://www.les-reponses.fr/solutions-94-pour-cent.html
13% : Cheval
10% : Âne
10% : Chèvre
9% : Mouton
8% : Tortue
6% : Lapin
3% : Éléphant
2% : Panda
1% : Girafe
PS. sur ce forum les balises de code pour le langage Pascal c'est <code delphi>
el_clapotis
Messages postés
11
Date d'inscription
lundi 7 décembre 2015
Statut
Membre
Dernière intervention
26 avril 2016
25 avril 2016 à 15:47
25 avril 2016 à 15:47
compriiis
el_clapotis
Messages postés
11
Date d'inscription
lundi 7 décembre 2015
Statut
Membre
Dernière intervention
26 avril 2016
Modifié par el_clapotis le 25/04/2016 à 15:51
Modifié par el_clapotis le 25/04/2016 à 15:51
compris KX
j'ai crée un nouveau tableau pour les pourcentages,
et j'ai mis le variable score à la place de cpt ,, donc il reçoit la somme des pourcentages de chaque réponse correcte
voilà
j'ai crée un nouveau tableau pour les pourcentages,
et j'ai mis le variable score à la place de cpt ,, donc il reçoit la somme des pourcentages de chaque réponse correcte
voilà
program jeu94; type tab=array[1..6] of string; var mot:string; m:integer; q1,q2,q3,q4,q5:tab; gn:boolean; level:array[1..6] of tab; procedure jeu(mmot:string; t:tab; var d:boolean); var j,i,score:integer; pourcent:array[1..6] of integer; begin pourcent[1]:=0; pourcent[2]:=30; pourcent[3]:=25; pourcent[4]:=16;pourcent[5]:=16; pourcent[6]:=11; score:=0; d:=false; for j:=2 to 6 do begin writeln('entrez les mots lies au:',t[1]); readln(mmot); for i:=2 to 6 do begin if (mmot=t[i]) then score:=score+pourcent[i]; end; end; if (score>=94) then begin d:=true; writeln('tu as gagne ton score est ',score,'% passant au theme suivant'); end else begin d:=false; writeln('niveau echoue ton score est ',score,'%'); end; readln; end; begin q1[1]:='aliments riches en fer'; q1[2]:='thym'; q1[3]:='curry'; q1[4]:='lentilles'; q1[5]:='cumin'; q1[6]:='pisson'; q2[1]:='touristiques plage destinations'; q2[6]:='maldives'; q2[2]:='bulgaria'; q2[3]:='antalya';q2[4]:='hawaii'; q2[5]:='sydney'; q3[1]:='meilleurs nations du foot en coupe de monde'; q3[6]:='argentine'; q3[2]:='bresil'; q3[3]:='algerie';q3[4]:='allemagne'; q3[5]:='italie'; q4[1]:='pays peuples'; q4[2]:='chine'; q4[3]:='etats unis'; q4[4]:='inde'; q4[5]:='indonesie'; q4[6]:='japon'; q5[1]:='voitures de course'; q5[6]:='ferrari';q5[2]:='bentley'; q5[3]:='lamborghini';q5[4]:='maserati'; q5[5]:='bugatti'; level[1]:=q2; level[2]:=q3; level[3]:=q4; level[4]:=q5; writeln('Bienvenue au JEU 94% assure toi de collecter 94 du score ou plus'); jeu(mot,q1,gn); m:=1; while (gn=true)and (m<=5) do begin jeu(mot,level[m],gn); m:=m+1; end; end.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
25 avril 2016 à 19:13
25 avril 2016 à 19:13
Je ne comprends pas pourquoi tu as mis
C'est au hasard ?
Parce que normalement pour chaque niveau tu vas avoir des pourcentages différents, il n'y a pas de raison pour que ce soit toujours 30-25-16-16-11
D'autant que, pareil, mathématiquement pour avoir 94% avec ces valeurs il faut absolument faire un sans faute (avec une erreur tu aurais maximum 89%...)
Concernant l'implémentation maintenant, pour aller encore plus loin, je te conseilles d'utiliser des structures de données.
Exemple (compilé avec FreePascal)
Avec cette structure tu peux par exemple faire ce genre de code :
Ce qui donne :
pourcent[1]:=0; pourcent[2]:=30; pourcent[3]:=25; pourcent[4]:=16; pourcent[5]:=16; pourcent[6]:=11;
C'est au hasard ?
Parce que normalement pour chaque niveau tu vas avoir des pourcentages différents, il n'y a pas de raison pour que ce soit toujours 30-25-16-16-11
D'autant que, pareil, mathématiquement pour avoir 94% avec ces valeurs il faut absolument faire un sans faute (avec une erreur tu aurais maximum 89%...)
Concernant l'implémentation maintenant, pour aller encore plus loin, je te conseilles d'utiliser des structures de données.
Exemple (compilé avec FreePascal)
type Response = record value : String; percent : integer; end; Level = record title : String; responses : array[1..10] of Response; end; var Game : Array[1..2] of Level = ( (title:'Animaux herbivores'; responses:((value:'vache'; percent:32), (value:'cheval'; percent:13), (value:'ane'; percent:10), (value:'chevre'; percent:10), (value:'mouton'; percent:9), (value:'tortue'; percent:8), (value:'lapin'; percent:6), (value:'elephant'; percent:3), (value:'panda'; percent:2), (value:'girafe'; percent:1)) ),(title:'C''est bleu'; responses:((value:'mer'; percent:41), (value:'ciel'; percent:36), (value:'yeux'; percent:7), (value:'jeans'; percent:4), (value:'schtroumpf'; percent:4), (value:'stylo'; percent:2), (value:''; percent:0), (value:''; percent:0), (value:''; percent:0), (value:''; percent:0)) ));
Avec cette structure tu peux par exemple faire ce genre de code :
var lvl:Level; rsp:Response; i,j:integer; begin for i := 1 to 2 do begin lvl := Game[i]; writeln(lvl.title); writeln(); for j := 1 to 10 do begin rsp := lvl.responses[j]; if (rsp.percent > 0) then writeln(rsp.value,' ',rsp.percent,'%'); end; writeln(); end; readln; end.
Ce qui donne :
Animaux herbivores
vache 32%
cheval 13%
ane 10%
chevre 10%
mouton 9%
tortue 8%
lapin 6%
elephant 3%
panda 2%
girafe 1%
C'est bleu
mer 41%
ciel 36%
yeux 7%
jeans 4%
schtroumpf 4%
stylo 2%
el_clapotis
Messages postés
11
Date d'inscription
lundi 7 décembre 2015
Statut
Membre
Dernière intervention
26 avril 2016
25 avril 2016 à 19:31
25 avril 2016 à 19:31
D'accord j'ai compris,, le travail avec les structures de donnés a simplifié le programme, merci pour l'aide et vos astuces , ça m'a aidé beaucoup
Juste une autre question , est ce qu'il y a une autre méthode appart les structures de donnés?
Juste une autre question , est ce qu'il y a une autre méthode appart les structures de donnés?
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
25 avril 2016 à 19:46
25 avril 2016 à 19:46
On pourrait très bien imaginer écrire des fichiers, soit un par niveau soit globalement, ce qui évite d'avoir à remplir les données dans le code.
Mais en terme de manipulation du code on reviendra sûrement à une structure de données comme celle-ci.
Après on pourrait aller plus loin en faisant du Pascal Objet, mais la notion d'objet est assez proche de la structure de données aussi, c'est surtout les fonctions qui changerait.
Mais en terme de manipulation du code on reviendra sûrement à une structure de données comme celle-ci.
Après on pourrait aller plus loin en faisant du Pascal Objet, mais la notion d'objet est assez proche de la structure de données aussi, c'est surtout les fonctions qui changerait.
el_clapotis
Messages postés
11
Date d'inscription
lundi 7 décembre 2015
Statut
Membre
Dernière intervention
26 avril 2016
26 avril 2016 à 17:25
26 avril 2016 à 17:25
Tout est compris, je te remercie pour ton aide,
24 avril 2016 à 15:03