LA deuxième version bien plus aboutie du jeu PHABIC, plus rapide et avec un système de délétion (suppr) plus ergonomique.
Le but du jeu est d'arriver de l'autre coté du terrain sans se faire bloquer par les murs. Pour faire un bon score il faut perdre le moins de temps possible et utiliser le moins de bonus possible. La difficulté augmente le score, mais vous perdez en rapidité !
[DEL] pour supprimer un gêneur, [STAT] pour utiliser le super pouvoir qui vous permettras de passer au travers des blocs pour un temps limité. Il consommera en revanche toute votre résèrve de bonus, qui est de 9 au départ.
Code
1 -> n:Lbl M
4 -> dim(~L~PHA
ClrDraw
0 -> Xmin:94 -> Xmax
0 -> Ymin:62 -> Ymax
17 -> A:2 -> B:1 -> M:0 -> E:8 -> N:1 -> C:1 -> E
AxesOff:FnOff
200 -> U:ClrHome
Menu("PHABIC2 //COC5","COMMENCER",1,"DIFFICULTEE",2,"AIDE",3,"RECORD",4,"QUITTER",5
Lbl 2
Disp "DIFFICULTE :","","1:FACILE","2:MEDIUM","3:DIFFICILE
Output(2+n,16,".
0 -> n
Repeat n and K-105 and K>91
getKey -> K
If K:min(3,max(1,K-91 -> n
End:Goto M
Lbl 5
Output(1,1,"
Return
Lbl 3
Disp "But: ARRIVER DE","L'AUTRE COTE DU","TERRAIN","","Pause [ALPHA]","Stop [2nd]","POUVOIR [DEL]
Output(8,1,"SUPER Pw [STAT]
Pause :ClrHome
Goto M
Lbl 1
Disp "Pause
Horizontal 0
Vertical 0
Horizontal 8
Horizontal Ymax:Horizontal 61
Vertical Xmax
Vertical 93
Line(8,4,91,4
Line(6,0,6,7
9 -> N:1 -> ~THETHA~
Repeat B=46
getKey -> K
If K=33 and N>7:Then
10 -> E:0 -> N
For(I,0,5
ClrHome
DispGraph
45!:45!
End:End
If N and K=23:Then
N-1 -> N
For(I,1,2
Pt-Off(2B+3F,2A+3G,I
End:End
0 -> Z
If K>23 and K<27 or K=34:Then
1 -> Z
(K=26)-(K=24 -> F
(K=25)-(K=34 -> G
End
A -> D:B -> C
If E<0
Znot(pxl-Test(62+F-A2-2G,2B+2F-G))not(pxl-Test(62-F-A2-2G,2B+2F+G -> Z
A+ZG -> A:B+ZF -> B
If K or ~THETHA~:Then
Text(55,2,N
Pt-Off(2C,2D,2
Pt-On(2B,2A,2
Pt-Off(2B+F,2A+G
0 -> ~THETHA~
If K=21:Pause "
End
E-.3 -> E:U-1 -> U
Text(55,46," "
Line(92,4,8+83.5U/200,4,0
Text(55,41," ",U
If K=31 or not(U:Then
ClrHome:Pause "DOMMAGE !
Goto M
End
For(I,1,n
5+4rand -> R
.73(~Pi~2rand-~Pi~
Pt-On(1+2int((2B+Rcos(Ans))/2),1+2int((2A+.8Rsin(Ans))/2)+2G,2
End:End
int(n(U+4.5N -> S
ClrHome
If S>~L~PHA(1
Then
Disp "RECORD BATTU !","
{S,200-U,N,n -> ~L~PHA
Pause :ClrHome
1 -> C
Else
0 -> C:{S,200-U,N,n -> ~L1~
Disp "VOTRE SCORE:","
End
Lbl 4
4 -> dim(~L1~
For(J,C,1
If J or U=200:Disp "","
Disp "SCORE","TEMPS:","BONUS:","DIFFICULTEE:
If J:Output(1,1,"RECORD ACTUEL :
For(I,1,4
Output(I+2,14,~L~PHA(I)J+~L1~(I)not(J
End:Pause
ClrHome:End
Menu("REINITIALISER ?","NON",M,"OUI",7
Goto M
Lbl 7
Fill(0,~L~PHA
Disp "","SCORES EFFACEES
Pause
Goto M