Bonjour,
Voila j'ai fait ce gros programme en cours ca je savait pas quoi faire ^^
Mais a force de jouer a ce prgm une erreur Mémoire apparait je pense qu'il me manque des end mais je ne sais pas ou
Je pense aussi que je pourrait supprimer beaucoup de chose inutile mais je sais toujours pas quoi ^^
prgmPRESKE [1275 Octets]
Code
2->dim(L4)
EffEcr
Output(1,1,"
*--------------*
[ Jeu PRESKE ]
[ ]
[ Version 2.1 ]
[ ]
*--------------*
For(T,0,800)
End
0->[THETA]
entAléat(0,999)->A
EffEcr
Lbl U
Menu("----=PRESKE=----","JOUER",A,"INSTRUCTION",B,"BEST RECORD",D,"QUITTER",C)
Lbl A
Input "NOMBRE: ",B
If B[supérieur ou égale]1000
Then
Disp "Entre 0 et 999"
Goto A
Else
If A=B
Then
[theta]+1->[theta]
Goto E
Else
If B<A
Then
[theta]+1->[theta]
Disp "Trop petit"
Goto A
Else
B>A
[theta]+1->[theta]
Disp "Trop grand"
Goto A
Lbl E
EffEcr
If [theta]=1
Then
Output(6,1,"Oh ! Grand devin")
Goto F
Else
If [theta][inférieur ou égale]5
Then
Output(6,1,"Professionnel")
Goto F
Else
If [theta][inférieur ou égale]10
Then
Output(6,1,"Bien jouee")
Goto F
Else
If [theta][inférieur ou égale]19
Then
Output(6,1,"Bravo")
Goto F
Else
If [theta][supérieur ou égale]20
Then
Output(6,1,"Tu est nul")
Goto F
Else
If [theta]>50
Then
Output(6,1,"Va te pendre")
Goto F
Else
Goto F
Lbl F
Output(1,1,"Gagne !!!!")
Output(3,1,"Reponse: ")
Output(3,10,A)
Output(4,1,"Nb d'esssaie: ")
Output(4,14,[theta])
Pause
[theta]->L[Petit 4](2)
If L[Petit 4](1)=0
Then
L[Petit 4](2)->L[Petit 4](1)
Goto BB
Else
If L[Petit 4](2)=L[Petit 4](1)
Then
L[Petit 4](2)->L[Petit 4](1)
Goto AA
Else
If L[Petit 4](2)[supérieur ou égale]L[Petit 4](1)
Then
Goto AA
Else
If L[Petit 4](2)<L[Petit 4](1)
Then
L[Petit 4](2)->L[Petit 4](1)
Output(8,1,"Nouveau Record")
Pause
Lbl BB
""->Chaîne1
EffEcr
Input "PSEUDO: ",Chaîne1
If longueur(Chaîne1)[inférieur ou égale]8
Then
Goto AA
Else
If longueur(Chaîne1)[supérieur ou égale]9
EffEcr
Disp "Nom [supérieur ou égale] 9 Lettres"
Pause
Goto BB
Else
Goto AA
Lbl AA
EffEcr
Menu("---=REJOUER=---","OUI",O,"NON",C,"BEST RECORD",D)
Lbl O //La lettre O qui est different de zero (0)
entAléat(0,999)->A
0->[theta]
Goto A
Lbl B
EffEcr
Output(1,1,"Ttrouvez le bon numero en un minimum d'essaie. Le chiffre est comprit entre 0 et 999, il change a chaque relancement du jeu.")
Pause
EffEcr
Goto U
Lbl C
EffEcr
Output(1,1,"
Stop
Lbl D
0->[theta]
Output(1,1,"
*^^^^^^^^^^^^^^*
( Best )
( Record )
( )
( = )
( )
( )
*¤¤¤¤¤¤¤¤¤¤¤¤¤¤*
Output(5,9,L[Petit 4](1)
Output(7,5,Chaîne1
Pause
EffEcr
Goto U
Autorisation : Membre
Nb de messages : 20
Inscrit le : Ven 15 Oct 2010, 20:21
Posté le : Sam 16 Oct 2010, 16:50
en fait c'est le fameux programme que du "plus ou moins ".
J'en propose un version moins aboutie mais beaucoup plus légère :
{CODE} :
EffEcr
0->A
0->B
0->C
Input"MAXIMUM"',A
entAléat(0,A)->B
Repeat D=B
C+1->C
Input"NMBRE MYSTERE",D
If D<B
Disp"CEST PLUS"
If D>B
Disp"CEST MOINS"
End
EffEcr
Disp"NMBRE DE COUPS"
Disp C
----------------------
Programme sur Ti-82 Stats.fr
Guillaume Invité
Posté le : Sam 16 Oct 2010, 17:29
Citer : -AAAAAAAA-
"moins aboutie mais beaucoup plus légère :
Justement j'aime pas les trucs qui pas fini ou mal fini ect alors j'ai poussé beaucoup de chose aux max, scores nom du 1er gros script, ce que je demande juste c'est pourquoi j'ai une erreur mémoire au bout d'un moment et ou comment raccourcir des morceaux de mon code apres ce code que tu ma donné c'est la base du mien ^^
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 16 Oct 2010, 17:57
Pars depuis le haut du programme et cherche le premier If/Then. Cherche le prochain goto. S'il n'y a aucun Else ou End entre le Then et ce goto, alors cet endroit provoque un ralentissement. S'il y a juste après un Else et plus loin un goto avant le end, c'est une autre cause.
Continue à chercher tous les if ainsi les uns après les autres.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 16 Oct 2010, 17:57
désolé AAAAAAAA mais je suis d'accord avec Guillaume, c'est mieux les trucs lourds et beaux.
surtout que le jeu du plus ou moins, tout le monde l'a déjà programmé dans sa vie, mais si tu rajoutes plein de choses, le prog reste unique.
Guillaume Invité
Posté le : Sam 16 Oct 2010, 18:42
Linkakro je vais vérifier tout mon programme pour voir ou j'ai pu oublier quelque chose, merci du conseil (j'ai pas de câble pour télécharger le prgm dsl ^^ ), quelqu'un a t il tester le programme ? ( Je redoute une erreur lors du 1er lancement du jeu pour quelqu'un) car il n'y aura aucun nom enregistré dans la Chaîne1 ce qui créera surement une erreur.
Merci persalteas ^^ et sinon bien ou pas mon gros programme ? ( encore une fois j'ai pas de câble dsl .. et je sais que c'est l'on a recopier vu que je l'ai copier mdr ^^ ) Je pensait raccourcir le programme mais je ne sais pas ou ...
Autorisation : Membre
Nb de messages : 20
Inscrit le : Ven 15 Oct 2010, 20:21
Posté le : Sam 16 Oct 2010, 18:42
oui certes ce programme est très simple mais je l'ai posté pour ceux qui avaient la flemme de recopier l'autre qui est beaucoup plus long.
----------------------
Programme sur Ti-82 Stats.fr
Guillaume Invité
Posté le : Sam 16 Oct 2010, 18:47
Trop simple même ^^ La flemme je comprend tout le monde en as, il est plus long aussi car il est mieux fait mais bon il faut apprendre a limiter sa flemme.
Autorisation : Membre
Nb de messages : 20
Inscrit le : Ven 15 Oct 2010, 20:21
Posté le : Sam 16 Oct 2010, 18:54
JUSTEMENT ! Je te félicite d'avoir fait un programme aussi long et perfectionné à partir d'un truc aussi simple !
----------------------
Programme sur Ti-82 Stats.fr
Guillaume Invité
Posté le : Sam 16 Oct 2010, 18:58
Oué merci quelqu'un a d'autres idée de jeu dans ce style la ? Car les jeu genre snake j'arrive pas trop a les faire car dans ma classe les gens veulent que je fasse ce jeu ( et solo et multijoueur aussi ... ) : http://www.newgrounds.com/portal/view/526596
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 16 Oct 2010, 20:22
Pour ce genre de demande ce serait bien d'avoir une section du forum. Ou au moins la poster dans un sujet à part.
Je te mets en garde contre la lenteur et la faîblesse des graphismes. Si j'essayais ce seraît sûrement décevant.
Ou alors il faudrait le faire en asm...
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Bonjour, voici la mise a jour de mon jeu preske suite a des reflexions de mes camarades ^^
Quelques lignes inutiles ont été supprimés.
Je pense aussi faire un niveau facile : entre 0 et 99
Niveau normal = celui ici donc entre 0 et 999
Et un niveau hard c'est a dire entre 0 et 9999
En rouge ce qui a changé :
Code
/*
2->dim(L[Petit 4])
If longueur(Chaine1)=0
"NORECORD"->Chaine1
If L[Petit 4](1)=0
50->L[Petit 4](1)
*/ Lignes ajoutées
EffEcr
Output(1,1,"
*--------------*
[ Jeu PRESKE ]
[ ]
[ Version 2.2 ]
[ ]
*--------------*
For(T,0,800)
End
0->[THETA]
entAléat(0,999)->A
EffEcr
Lbl U
Menu("----=PRESKE=----","JOUER",A,"INSTRUCTION",B,"BEST RECORD",D,"QUITTER",C)
Lbl A
Input "NOMBRE: ",B
If B[supérieur ou égale]1000
Then
Disp "Entre 0 et 999"
Goto A
Else
If A=B
Then
[theta]+1->[theta]
Goto E
Else
If B<A
Then
[theta]+1->[theta]
Disp "Trop petit"
Goto A
Else // Esce que je doit rajouter un if ici ? Car je pense que c'est ici que mon jeu fait un erreur memoir a un moment
B>A
[theta]+1->[theta]
Disp "Trop grand"
Goto A
Lbl E
EffEcr
If [theta]=1
Then
Output(6,1,"Oh ! Grand devin")
Goto F
Else
If [theta][inférieur ou égale]5
Then
Output(6,1,"Professionnel")
Goto F
Else
If [theta][inférieur ou égale]10
Then
Output(6,1,"Bien jouee")
Goto F
Else
If [theta][inférieur ou égale]19
Then
Output(6,1,"Bravo")
Goto F
Else
If [theta][supérieur ou égale]20
Then
Output(6,1,"Tu est nul")
Goto F
Else
If [theta]>50
Then
Output(6,1,"Va te pendre")
Goto F
Else
Goto F
Lbl F
Output(1,1,"Gagne !!!!")
Output(3,1,"Reponse: ")
Output(3,10,A)
Output(4,1,"Nb d'esssaie: ")
Output(4,14,[theta])
Pause
[theta]->L[Petit 4](2)
/*
If L[Petit 4](1)=0
Then
L[Petit 4](2)->L[Petit 4](1)
Goto BB
Else
*/ Lignes supprimées
If L[Petit 4](2)=L[Petit 4](1)
Then
L[Petit 4](2)->L[Petit 4](1)
Goto AA
Else
If L[Petit 4](2)[supérieur ou égale]L[Petit 4](1)
Then
Goto AA
Else
If L[Petit 4](2)<L[Petit 4](1)
Then
L[Petit 4](2)->L[Petit 4](1)
Output(8,1,"Nouveau Record")
Pause
Lbl BB
""->Chaîne1
EffEcr
Input "PSEUDO: ",Chaîne1
If longueur(Chaîne1)[inférieur ou égale]8
Then
Goto AA
Else
If longueur(Chaîne1)[supérieur ou égale]9
EffEcr
Disp "Nom [supérieur ou égale] 9 Lettres"
Pause
Goto BB
Else
Goto AA
Lbl AA
EffEcr
Menu("---=REJOUER=---","OUI",O,"NON",C,"BEST RECORD",D)
Lbl O //La lettre O qui est different de zero (0)
entAléat(0,999)->A
0->[theta]
Goto A
Lbl B
EffEcr
Output(1,1,"Ttrouvez le bon numero en un minimum d'essaie. Le chiffre est comprit entre 0 et 999, il change a chaque relancement du jeu.")
Pause
EffEcr
Goto U
Lbl C
EffEcr
Output(1,1,"
Stop
Lbl D
0->[theta]
Output(1,1,"
*^^^^^^^^^^^^^^*
( Best )
( Record )
( )
( = )
( )
( )
*¤¤¤¤¤¤¤¤¤¤¤¤¤¤*
Output(5,9,L[Petit 4](1)
Output(7,5,Chaîne1
Pause
EffEcr
Goto U