Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 18:00
Voici mon premier jeu pour TI 82 stat.fr
Vous contrôlez une voiture en utilisant les flèches.
Vous devez rester sur la route et éviter le "virages" qui peuvent arriver à tout moment.
Ceci est la version final du programme.
Voici le programme à taper :
Code
EffEcr
1->E
8->X
1->Y
7->A
0->Z
0->T
4->B
4->O
4->F
4->I
4->G
4->K
4->L
4->Y
4->N
0->S
1->W
4->H
For(W,1,7)
Disp ''/////) (///// ( 4 espaces entre les parentheses )
End
While E=1
Lbl A
T+1->T
Z+1->Z
Disp "/////) (///// (4 espaces entre les parenthèses)
Y->O
O->F
F->G
G->I
I->K
K->L
Output (1,X,"V
codeTouche->M
If M=24
X-1->X
If M=26
X+1->X
If X \< 6 (\< : inférieur ou égal)
2->E
If X>/ 11 (>/ : supérieur ou égal)
2->E
EntAléat (2,3)->H
If T\<2:Goto A
0->T
Disp ''/////) (///// (4 espaces entre les parentheses)
Disp ''/////) (///// (4 espaces entre les parentheses)
Output (1,X,''V
H->Y
If H=2
Output (A,1,"/////) (/////// (2 espaces entre les parenthèses)
If L=2 et X>/ 9
2->E
If H=3
Output (A,1,"///////) (///// (2 espaces entre les parenthèses)
If L=3 et X \< 8
2->E
End
EffEcr
Disp " (Un espace après les ")
Disp "GAME OVER"
Disp "SCORE :" ,Z
Disp ''MADE BY JROCK''
Pause
EffEcr
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 18:28
Pourquoi utiliser 2 aléatoires?
1 seule aurait suffit, et les collisions seraient plus faciles à gérer (à mon avis)
EDIT:
Code
If Q=2 et (A=1 et X \< 8 )
Peut devenir:
Code
If Q=2 et A=1 et X \< 8
(les parenthèses sont inutiles avec les et tout seuls
Heu... il y a juste un os: les virages n'apparaissent pas tous au "fond": si je comprends bien, on perds dès qu'un virage apparait sur sa voiture...
Pour bien vérifier les collision (et pouvoir éviter les virages), il aurait fallu les faire apparaître tous en bas de l'écran, et stocker leur position dans des variables
Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 18:58
Pourrais tu m'aider pour l'apparition des virages car il apparaissent en fonction de A qui change, mais ils se déplacent aussi à cause des Disp, et A est nécessaire pour les collisions, j'ai donc du mal à voir comment faire.
Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 19:26
J'ai réussi à modifier l'apparition des virages pour qu'ils apparaissent tous en bas de l'écran, mais j'ai toujours un gros problème acec les collisions : je ne trouve pas de moyen pour que la collision se fasse au bon moment.
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 19:33
Il faut que tu utilises plusieurs variables: 1 pour la ligne tout en bas, une pour celle juste après... jusqu'à celle tout en haut. Tu teste la collision avec celle "tout en haut", puis tu décale le contenu de toutes ces variables.
Je n'ai peut être pas été clair, demande moi si tu ne comprends pas quelque chose
Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 19:42
Je ne vois pas comment utiliser les variables de chaque ligne car les virages descendent tout seul, pourrait tu expliquer comment les utiliser ou donner un exemple s'il te plait ?
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 19:54
Tout d'abord, il faut afficher un terrain sur tout l'écran (je te laisse faire avec un for), puis initialiser les variables de ligne:
Code
3->A //Ici, 3 signifie qu'il n'y a pas de virage, tu peux mettre le chiffre que tu veux, le tout c'est qu'un chiffre corresponde à un état de la ligne (genre 1 = décalé vers la gauche, 2 = décalé vers la droite)
3->B
3->C
3->D
3->E
3->F
3->G //il y a donc 7 lignes
While E = 1 //On rentre dans la boucle du prgm
//ici, tu affiches la nouvelle ligne et tu stoque son "état" dans H (par ex)
//Tu teste ensuite la position du véhicule par rapport à A, et tu mets E à 2 si perdu
B->A
C->B
D->C
E->D
F->E
G->F
H->G //On décale les lignes
End
Si c'est pas clair, demande moi (j'ai conscience de ne pas très bien expliquer )
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 03 Oct 2012, 20:06
C'est la méthode la plus simple.
(on peut remplacer la seconde série de sto par d'autres techniques mais on ne va pas t'embrouiller avec ça d'autant que la méthode globale est la même)
---------------------- 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 : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 21:33
J'ai fait la partie où on doit décaler les lignes, mais je n'ai toujours pas compris la partie où on stock l'état : faut-il que mettre 3->H ?
Je n'ai pas compris comment tester la position du véhicule par rapport à A.
Désolé de ne pas comprendre rapidement et de te poser tant de questions.
J'espère mieux comprendre en relisant, mais je ne suis pas sûr de réussir
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 03 Oct 2012, 21:45
A représente en permanence l'état de la route à l'emplacement de la voiture.
Chaque autre lettre jusqu'à G représente l'état de la route ligne par ligne.
A chaque boucle la variable A est remplacée par B, B par C et ainsi de suite jusqu'à G qui reçoit H le nouvel aléatoire.
H est donc temporaire et sert seulement pour la génération de l'aléatoire.
Le remplacement de A par B sert à ce que la ligne de route face à la voiture prenne la place de celle qui était sous les roues. Ainsi de suite jusqu'à G qui reçoit la nouvelle ligne de route.
Enfin il suffit de comparer la position latérale de la voiture avec la variable A représentant la route sous ses roues.
---------------------- 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 : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 21:56
Je vais essayer de tout bien expliquer :
_Quand tu fais apparaître la ligne du bas, il y a plusieurs cas: virage à gauche, virage à droite, tout droit etc... He bien tu dois associer un chiffre à chaque cas (genre 1 = virage à droite ; 2 = virage à gauche ; 3 = tout droit etc...). Tu stockes ce chiffre dans H, qui sera ensuite mis, au prochain décalage, dans G.
_Après 7 tours, la ligne arrive tout en haut, et la valeur contenue à l'origine dans H se retrouve dans A. Il faut donc tester la collision du véhicule avec la ligne du haut (du coup, il faut le tester à tous les tours). Tu fais alors un :
Code
If A = 1 et (X < 3 ou X > 12) ou A = 2 et (X < 5 ou X > 14) ou A = 3 et (X < 4 ou X > 13)
2->E
->Si a = 1 (virage à droite) et que (X < 3 ou X > 12 (On est sorti des limites pour le virage à droite, met ici les vrais valeurs)) ou que virage à gauche et qu'on est sorti des limites du virage à gauche ou que...
Alors on a perdu
J'espère avoir éclairci certains points, n'hésites pas à redemander, c'est comme ça qu'on progresse
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
Posté le : Ven 05 Oct 2012, 19:36
Je ne devrais peut-être pas poster mais
Code
EffVar L1 7->dim(L1
L1 -> L2
For(X,1,7
Disp "
End
1 -> K
Repeat X<=6 ou X>=11 ou X=L1(K) ou X=L2(K
entAleat(6,7 -> A
A+entAleat(3,4 -> B
For(C,I,A
Output(8,C,"/
End
For(C,B,16
Output(8,C,"/
End
codeTouche
X+(Rep=26)-(Rep=24 -> X
B -> L2(K
A -> L1(K
1+ K(K#7 -> K
Disp "
Output(1,X,"V
End
Bon il doit y avoir quelques optimisations encore (et bugs à résoudre).
Niveau vitesse ce n'est pas super.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 05 Oct 2012, 20:01
astuce pour la méthode précédant le post de samsam :
un bug de SortA() permet de provoquer le défilement des listes facilement (même pas besoin d'utilise une liste d'index)
SortA(L1,L2,L3,...) place le premier terme de chaque liste à la fin si L1 est nulle (uniforme suffit mais cela ajoute des contraintes d'initialisation)
----
Précise quand tu changes de méthode par rapport à celle dont on parle précédemment.
Cette nouvelle méthode me rappelle vaguement ce que je n'avais jamais vu dans le forum avant ma propre expérience. On ne change pas une équipe qui gagne.
(je veux parler de l'usage de K comme pointeur)
astuce : un For est plus léger mais beaucoup plus lent qu'un Output
astuce : réduire au maximum le nombre de sto et d'invocations de listes dans le programme est efficace pour accélérer
astuce : utiliser IS>() peut être plus lourd en code que K(K#7)+1->K mais probablement plus rapide que le calcul.
---------------------- 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 : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 13 Oct 2012, 21:53
Le premier message a été modifié alors que le sujet était déjà en cours.
Ainsi il faut retourner voir le premier message pour voir le code en version finale.
---------------------- 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 : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Dim 14 Oct 2012, 10:08
Quel est le problème ? Je l'ai sur ma calculatrice et tout fonctionne.
J'ai aussi fait une version beaucoup plus complete avec plusieurs niveaux de difficulté, mais je n'ai pas encore finit de le recopier, je le posterai quand j'aurais finit.
le problème c'est que lorsque je lance le programme je voie le début du jeu et 1 seconde après sa marque erreur syntaxe pourtant j'ai revérifier si j'ais bien marquer le programme et il est parfaitement bien recopier
Alkaladur Invité
Posté le : Dim 14 Oct 2012, 13:53
J'ai à peu prèt le même problème, sauf que je n'est pas erreur mais directement le tableau de score au bout de 2s m^me pas :-/...
Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Dim 14 Oct 2012, 17:59
Si le programme passe directement au tableau des scores, cela veut sans doute dire que E n'est pas égale à 1, donc il croit que tu est mort. Vérifie que tu as bien 1->E au début du programme.
Alkaladur Invité
Posté le : Dim 14 Oct 2012, 22:35
Je viens tt juste de vérifier et j'ai bien le 1->E cela ne doit pas venir de la en tt cas le jeu dure 2s ...
Alkaladur Invité
Posté le : Mar 16 Oct 2012, 20:38
Désoler de ré-up le sujet mais le programme ne marche tjr pas même après l'avoir complètement réecrit... Si un âme charitable pourait m'aider cela ne serait pas de refus ^^'
Anonymus Invité
Posté le : Mar 04 Déc 2012, 0:12
Voilà la version 2.0 de mon programme "Gabriiel" en avant premiere, sortie officiel a 8h.
ClrHome
Goto 47
Lbl 57
DelVar Str1
DelVar Str2
DelVar Str3
DelVar Str4
DelVar Str5
ClrDraw
AxesOff
Text(1,30,"CREDITS
For(A,53,44,ú1
Horizontal A
End
Text(12,3," FAIS PAR GAB RIIEL
Text(22,1,"REMERCIEMENTS :
Text(31,1,"JORDAN UNTEIRINER
Text(37,1,"JEREMIE GRENIER
Text(43,1,"VALENTIN VERISSEL
50üA:20üB:55üC
25üD
Repeat A=57
A+1üA:B-1üB
C-1üC+1üD
Line(A,B,C,D
End
Pause
ClrHome
Goto U
Lbl 47
Full:ClrDraw:GridOff:AxesOff:PlotsOff :FnOff
1üXmin:63üXmax
1üYmin:63üYmax
For(A,0,15
Text(A,16,"X Y
End
For(A,94,37,ú1
Text(15,A,"GABRIIEL
End
Text(22,33,"(C)2012
Text(35,32,"PRëSëNTë
Text(52,18,"GABGAMES PROD.
Pause :ClrDraw
Text(28,33,"GABGAMES
Repeat getKey>1
For(A,0,90,6
Text(0,A,"ø
End
For(A,0,57,6
Text(A,89,"=
End
For(A,93,0,ú6
Text(57,A,"ø
End
For(A,57,0,ú6
Text(A,0,"=
End
For(A,0,90,6
Text(0,A," "
End
For(A,0,57,6
Text(A,89," "
End
For(A,93,0,ú6
Text(57,A," "
End
For(A,57,0,ú6
Text(A,0," "
End
End
Goto 0
Lbl 0
DelVar W
W=1000
DelVar M
Menu("GABGAMES","DRIVER",76,"RUBISCUBE",54,"MORPIONS",56,"+",84,"MATHS",96,"QUITTER",U
Lbl 84
Menu("MENU ADD","SNAKE",58,"FLECHETTES",55,"PONG",27,"RETOUR",0
Lbl 27
ClrHome
0üW
0üS
7üA
8üC
7üD
ú1üE
1üF
Lbl 30
If D=8:Goto 61
ClrHome
Output(8,A,"====
Output(D,C,"ô
getKeyüK
If K=24 and A-1>0
A-1üA
If K=26 and A+3<16:A+1üA
If K=105:Pause
C+FüC
D+EüD
If D=1:1üE
If D=7 and C=A or D=7 and C=A+1 or D=7 and C=A+2 or D=7 and C=A+3
Goto 62
If C=1:1üF
If C=16:ú1üF
Goto 30
Lbl 62
ú1üE
S+1üS
Goto 30
Lbl 61
Output(8,1,"SCORE:"
Output(8,7,S
Pause
ClrHome
If T<S:SüT
Goto 31
Lbl 31
Output(3,4,"HIGH SCORE"
Output(4,8,T
Pause
ClrHome
Goto 57
Lbl 58
Disp "SNAKE2 DE"," GAB RIIEL","GAVEZ VOTRE"," SERPENT !"
Pause
ClrHome
Normal
Float
ClrHome
0üXmin
ú62üYmin
94üXmax
0üYmax
AxesOff
FnOff
ClrList L
ClrDraw
26üD
0üK
3üZ
2.02üL(1)
2.01üL(2)
2üL(3)
Text(2*6,8,0
Text(2*6,4,0
Text(2*6,0,0
2üY
2üX
0üN
Menu("LABYRINTHE","",F,"",1,"",2,"",3
Lbl 1
Line(46,ú3,46,ú57
Line(2,ú33,90,ú33
1üN
Goto F
Lbl 2
Line(2,ú21,78,ú21
Line(14,ú39,90,ú39
2üN
Goto F
Lbl 3
3üN
Line(30,ú21,30,ú3
Line(62,ú3,62,ú21
Line(62,ú21,30,ú21
Line(2,ú39,30,ú39
Line(30,ú39,30,ú(9*6+3)
Line(62,ú39,94,ú39
Line(62,ú39,62,ú57
Lbl F
randInt(0,22)üS
randInt(0,9)üT
If pxl-Test(T*6+3,S*4+2)
Goto F
Text(T*6,S*4,"+
Lbl A
getKeyüJ
If J
JüK
If K=21
Menu("PAUSE","CONTINUER",P,"Stop",T
Lbl P
If K=24 and Dø26 or K=25 and Dø34 or K=26 and Dø24 or K=34 and Dø25
KüD
X-(D=24)+(D=26)üX
Y-(D=25)+(D=34)üY
X-23(X=23)+23(X=ú1)üX
Y-10(Y=10)+10(Y=ú1)üY
If K=21
0üK
getKeyüJ
If J
JüK
If pxl-Test(Y*6+3,X*4+2)
Goto S1
Lbl S2
Text(Y*6,X*4,"0
Text(iPart(L(Z))*6,100fPart(L(Z))*4," "
For(W,Z,1,ú1
L(W)üL(W+1)
End
Y+X/100üL(1)
Goto A
Lbl S1
If YøT or XøS
Goto T
Z+1üZ
Lbl E
randInt(0,22)üS
randInt(0,9)üT
If pxl-Test(T*6+3,S*4+2)
Goto E
Text(T*6,S*4,"+
Goto S2
Lbl T
Disp "GAME OVER","NIVEAU=","SCORE="
Output(2,9,N
Output(3,9,Z
ClrList L
Pause
Goto 57
Lbl 56
AxesOff
0üS:0üR
1üP
Lbl Z6
0üY
ClrDraw
Full
0üXmin
50üXmax
0üYmin
30üYmax
Line(0,10,30,10
Line(0,20,30,20
Line(10,2,10,29
Line(20,2,20,29
Vertical 35
Line(35,0,50,0
Line(35,30,50,30
1üC:1üD
2üA:2üB
0üT
If fPart(P/2):1üT
{3,3}üdim([A]
For(K,1,3
For(G,1,3
0ü[A](K,G)
End
End
Text(10,85,"J.1"
Text(52,85,"J.2"
Repeat 0
getKeyüK
If Kù24 and K÷26 or K=34:Then
AüC
BüD
End
If K=24:A-1üA
If K=25:B+1üB
If K=26:A+1üA
If K=34:B-1üB
If A=0:3üA
If A=4:1üA
If B=0:3üB
If B=4:1üB
Line(10C-1,10D-1,10C-1,10D-9,0
Line(10C-9,10D-1,10C-1,10D-1,0
Line(10C-9,10D-9,10C-1,10D-9,0
Line(10C-9,10D-9,10C-9,10D-1,0
Line(10A-1,10B-1,10A-1,10B-9
Line(10A-9,10B-1,10A-1,10B-1
Line(10A-9,10B-9,10A-1,10B-9
Line(10A-9,10B-9,10A-9,10B-1
Text(28,69,"PARTIE :"
Text(34,75,P
Text(10,70,S
Text(52,70,R
Line(44,22,50,22,T
Line(44,1.5,50,1.5,not(T
If K=45:Goto Q6
If K=105 and [A](A,B):0üK
If K=105 and T=1:Then
1ü[A](A,B)
Line(10A-8,10B-2,10A-2,10B-8
Line(10A-8,10B-8,10A-2,10B-2
End
If K=105 and T=0:Then
Circle(10A-5,10B-5,3
2ü[A](A,B)
End
If K=105:not(TüT
[A](1,1)üJ
[A](1,2)üK
[A](1,3)üL
[A](2,1)üM
[A](2,2)üE
[A](2,3)üF
[A](3,1)üG
[A](3,2)üH
[A](3,3)üI
If JKL=1 or MEF=1 or GHI=1 or JMG=1 or KEH=1 or LFI=1 or JEI=1 or LEG=1:Then
Line(0,12,50,12
For(K,12.5,18.5,0.5
Line(0,K,50,K,0
End
Line(0,19,50,19
Text(28,20,"JOUEUR 1 GAGNE!
P+1üP
S+1üS
1üY
Pause
End
If JKL=2Ó or MEF=2Ó or GHI=2Ó or JMG=2Ó or KEH=2Ó or LFI=2Ó or JEI=2Ó or LEG=2Ó:Then
Line(0,12,50,12
For(K,12.5,18.5,0.5
Line(0,K,50,K,0
End
Line(0,19,50,19
Text(28,20,"JOUEUR 2 GAGNE!
P+1üP
R+1üR
1üY
Pause
End
If not(Y) and J+K+L+M+E+F+G+H+Iù13:Then
Line(0,12,50,12
For(K,12.5,18.5,0.5
Line(0,K,50,K,0
End
Line(0,19,50,19
Text(28,32,"RATE!!
P+1üP
1üY
Pause
End
Lbl 55
Full
ClrHome
" Æx----->"üStr1
Output(3,1,"****************"
Output(4,1,"***FLECHETTES***"
Output(5,1,"****************"
For(Y,1,
If Y=3:6üY
For(K,1,7
Output(Y,K,Str1
69!
End
End
Pause
ú4üA:ú6.5üB
0üS:1üT
1üC:1.1üD
ClrDraw
ú5üYmin
5üYmax
7.5üXmax
ú7.5üXmin
For(K,1,5
Circle(0,0,K
End
Line(6,3,7.5,3
Line(6,1,7.5,1
Line(6,1,6,5
Lbl 81
Text(3,87,S
Text(15,87,T
Repeat getKey=105
Line(ú7.5,A-C,ú6,A-C,0
Line(B-D,ú5,B-D,ú4,0
Line(ú7.5,A,ú6,A
Line(B,ú5,B,ú4
If abs(A)ù5:úCüC
If abs(B)ù7.5:úDüD
A+CüA
B+DüB
End
T+1üT
Lbl 95
0üL
0üN
3üZ
5üA
5üB
5üC
5üR
7üK
7üO
7üV
8üS
1üdim(áHSRAC)
Lbl 0
ClrHome
Disp " DRIVER"," REVU PAR:"," GABRIIEL"
Output(6,3,"RECORD:"
Output(7,7,sum(áHSRAC
Pause
Goto AC
Lbl AA
ClrHome
Output(3,3,"RECORD:"
Output(4,7,sum(áHSRAC
Pause
Lbl AC
ClrHome
Disp "NIVEAUX DE","DIFFICULTE","","(1) TRANCKIL","(2) PILOTE","(3) AS DU VOLANT",""
Input U
If U=1:Then
2.4üZ
Goto AZ
End
If U=2:Then
3üZ
Goto AZ
End
If U=3:Then
5üS
Goto AZ
End
Lbl AZ
ClrHome
Disp "+-+"
Disp "IOI"
Disp "IOI"
Disp "IOI"
Disp "+-+"
For(Á,1,70)
End
Output(2,1,"I*I PRET ?"
For(Á,1,200)
End
Output(3,1,"I*I FEU..")
For(Á,1,200)
End
Output(4,1,"I*I GO !!"
For(Á,1,50)
Lbl AY
While 1
R+int((rand*Z)-1üR
Lbl 93
If R=2
Then
3üR
Else
If R=9
Then
8üR
End
End
Disp ""
Output(S,R,"!")
Output(S,R+O,"!")
getKeyüY
If Y=24
Then
V-1üV
Else
If Y=26
Then
V+1üV
End
If Y=21
Then
Goto BA
End
If Y=23
Then
Goto AA
End
If Y=24:I-1üI
If Y=26:I+1üI
If Y=105:Pause
End
Output(4,K," ")
Output(5,V,"V")
VüK
If (V÷C) or (Vù(C+O))
Then
Goto C
End
CüD
BüC
AüB
RüA
N+1üN
If Nù20
Then
O-1üO
If O<3
3üO
0üN
L+1üL
End
End
Lbl C
0üX
While X÷2
Output(5-X,V-X,"Ð")
Output(5+X,V+X,".")
Output(5+X,V-X,"Ò")
Output(5-X,V+X,"Ñ")
Output(5+X,V,"Ò")
Output(5-X,V,"Ð")
Output(5,V+X,".")
Output(5,V-X,"Ñ")
X+1üX
End
0üX
While X÷2
Output(5-X,V-X," ")
Output(5+X,V-X," ")
Output(5-X,V+X," ")
Output(5+X,V," ")
Output(5-X,V," ")
Output(5,V+X," ")
Output(5,V-X," ")
X+1üX
End
Output(3,1,"----------------"
Output(4,1,"I I"
Output(5,1,"----------------"
Output(4,4,"SCORE: ")
(L*130)+NüS
If S÷sum(áHSRAC:Goto 90
If S>sum(áHSRAC:Output(5,1,"* RECORD! *"
If S>sum(áHSRAC:Output(6,1,"----------------"
If S>sum(áHSRAC)
{S}üáHSRAC
Lbl 90
Output(4,11,S)
Pause
Goto 57
Lbl BA
Output(4,5,"Pause "
Output(4,10,"d"
getKeyüX
If X=21:Then
Goto AY
End
Lbl 96
ClrHome
Menu("","DISTANCE",97,"MILIEU",98,"RETOUR",0
Lbl 97
Disp "XA"
Input A
Disp "XB"
Input B
Disp "YA"
Input X
Disp "YB"
Input Y
ð((B-A)Ü+(Y-X)Ü)üC
Disp C
Pause
Goto 96
Lbl 98
Disp "XA"
Input A
Disp "XB"
Input B
Disp "YA"
Input X
Disp "YB"
Input Y
(A+B)/2üC
(X+Y)/2üD
Output(8,5,"(
Output(8,6,C
Output(8,9,",
Output(8,10,D
Output(8,13,")
Pause
Goto 96
Lbl U