J'ai programmé ce frogger il y a un petit moment, mais j'ai été déçu de mon résultat et je n'ai pas osé le poster avant.
Code
:ClrHome
:DelVar [A]
:{8,16}->dim([A])
:18->V
:18->W
:Output(1,1," XX XXXX XXXXX XXX X XX XXX XXXXX XX XX XX XXX XXXX XXX"
:
:-1->P
:Lbl P
:P+1->P
:8->Y
:5->X
:0->Z
:Lbl 0
:Z+1->Z
:0->K
:getKey->K
:Output(Y,X," "
:Y->T
:If [A](Y,X)=0 and Y<4
:Output(Y,X,"X
:X-(K=24 and X=/=1)+(K=26 and X=/=16)->X
:Y-(K=25)+(K=34 and Y=/=8)->Y
:If Y=0
:Goto P
:
:X-(Y=3 and not(Z/2=iPart(Z/2)) and Y=T)+(Y=2 and Y=T)-(Y=1 and Y=T)->X
:If X=0 or X=17
:Goto 9
:
:Output(Y,X,"*
:
:If Z/2=iPart(Z/2)
:V+1->V
:V-iPart((V-1)/16)*16->Q
:W+1->W
:W-iPart((W-1)/16)*16->R
:
:Output(7,Q,"X
:Output(7,Q-4+16(Q-4<1)," "
:1->[A](7,Q)
:0->[A](7,Q-4+16(Q-4<1))
:Output(7,Q+8-16(Q+8>16),"X
:Output(7,Q+4-16(Q+4>16)," "
:1->[A](7,Q+8-16(Q+8>16))
:0->[A](7,Q+4-16(Q+4>16))
:
:Output(6,17-R,"X
:Output(6,17-(R-2+16(R-2<1))," "
:1->[A](6,17-R)
:0->[A](6,17-(R-2+16(R-2<1))
:Output(6,17-(R+5-16(R+5>16)),"X
:Output(6,17-(R+3-16(R+3>16))," "
:1->[A](6,17-(R+5-16(R+5>16)))
:0->[A](6,17-(R+3-16(R+3>16))
:Output(6,17-(R+9-16(R+9>16)),"X
:Output(6,17-(R+7-16(R+7>16))," "
:1->[A](6,17-(R+9-16(R+9>16)))
:0->[A](6,17-(R+7-16(R+7>16)))
:Output(6,17-(R+13-16(R+13>16)),"X
:Output(6,17-(R+11-16(R+11>16))," "
:1->[A](6,17-(R+13-16(R+13>16)))
:0->[A](6,17-(R+11-16(R+11>16))
:
:Output(5,R,"X
:Output(5,R-7+16(R-7<1)," "
:1->[A](5,R)
:0->[A](5,R-7+16(R-7<1))
:Output(5,R-10+16(R-10<1),"X
:Output(5,R-13+16(R-13<1)," "
:1->[A](5,R-10+16(R-10<1))
:0->[A](5,R-13+16(R-13<1)
:
:Output(Y,X,"*
:
:Output(3,17-Q,"X
:Output(3,17-(Q-3+16(Q-3<1))," "
:0->[A](3,17-Q)
:1->[A](3,17-(Q-3+16(Q-3<1))
:Output(3,17-(Q+6-16(Q+6>16)),"X
:Output(3,17-(Q+3-16(Q+3>16))," "
:0->[A](3,17-(Q+6-16(Q+6>16))
:1->[A](3,17-(Q+3-16(Q+3>16))
:
:Output(2,R,"X
:Output(2,R-5+16(R-5<1)," "
:0->[A](2,R
:1->[A](2,R-5+16(R-5<1)
:
:Output(1,17-R,"X
:
:Output(1,17-(R-2+16(R-2<1))," "
:0->[A](1,17-R)
:1->[A](1,17-(R-2+16(R-2<1)))
:Output(1,17-(R+9-16(R+9>16)),"X
:Output(1,17-(R+7-16(R+7>16))," "
:0->[A](1,17-(R+9-16(R+9>16))
:1->[A](1,17-(R+7-16(R+7>16))
:
:If [A](Y,X)
:Goto 9
:Goto 0
:Lbl 9
:ClrHome
:Disp "GAME OVER","FROGS="
:Output(2,8,P
Il faut éviter les véhicules puis monter sur les objets flottant.