TOP GUN !!! 2.0 !!! THE ULTIMATE FIGHTING By Jean-Luc Vanier. Copyright 1998. All rights reserved. Informations: ------------ GAME VERSION : 2.0 Compatibility : All the colors GT series E-Mail : jm.Vanier@wanadoo.fr Size : Program about 4000 bytes + Picture Stock 4096 bytes = about 8000 bytes Description : Yes! A flight Simulator on the casio !!! IMPROVEMENTS IN VERSION 2.0: --------------------------- Lots of new features, including : -New speed-up with the StoPic/RclPic Function used -New great cockpit with lots of stuffs on it!!! (Infrared Sight, alert lights, missiles/flares left, etc...) -BIG improvement of the game esthetic -Plane damage status added -Realistic speed/altitud variation -More realistic enemy plane move -Score and Highscore added Controls: -------- ARROWS Move +/- Change speed SHIFT Launch missile EXIT Quit ALPHA Lock enemy F6 Pause OPTN Launch flare How to play: ----------- To play, choose PLAY NOW from the main menu. Now, you are inside the cockpit of your plane, in flight. Some informations are located on the cockpit, like altitud (meters), speed (km/h), number of enemy killed, Plane damage, etc... (See the screenshot for more details). You control your plane with the arrows keys, and change speed with + and - . To destroy an enemy (the little point), you have to find it first. Then, you have to lock it on your sight. Once it is locked, push SHIFT to launch missile on it. When an enemy missile is detected you have to launch a flare (OPTN) to avoid collision and destruction of your plane. The game ends when your plane is full damaged (100%). IMPORTANT NOTES: --------------- The game is a little bit slow, but remember it's a calculator ! Because of the huge code program, you have to push the controls keys a little longer to make them work. Note that the horizon move is limited, but I will improve it in the future version. Once you have typed the huge code, you have to create a matrix (T). It is required to save your best score. Go to Matrix icon, push [EXE], go to Mat T, push 1, push [EXE], push [1], push [EXE]. Now you can return to the program menu and Take off! COMMAND TRANSLATION: ------------------- @ ---> Theta [ALPHA] [^] -> ---> -> [->] => ---> [SHIFT] [VARS] [F3] [F3] =/= ---> Not Equal [SHIFT] [VARS] [F6] [F3] [F2] >= ---> Greater or equal [SHIFT] [VARS] [F6] [F3] [F5] =< ---> Less or equal [SHIFT] [VARS] [F6] [F3] [F6] PROGRAM: (name TOPGUN) ------- (For version 1.0 users, I recommend to re-type the program from scratch. Version 2.0 is quite different from version 1.0) (All texts on the right inside brackets are comments and don't have to be typed in the program) Norm CoordOff GridOff AxesOff LabelOff 0->A~Z 4->H Clrtext Locate 7,4,"JL VANIER" For 1->A To 400 Next Clrtext Locate 7,4,"PRESENTS" For 1->A To 400 Next Locate 7,4," " (8 spaces) Locate 5,1,"=============" (13 ='s) Locate 1,2,">>>~T~O~P~~~G~U~N~<<<" (~ => 1 SPACE) Locate 5,3,"=============" (13 ='s) Locate 1,5,"xxxxxxxxxxxxxxxxxxxxx" (multiplication symbol x21) Locate 1,7,"xxxxxxxxxxxxxxxxxxxxx" (multiplication symbol x21) Lbl A If Getkey=31 Then ClrText Goto E IfEnd 2->Y~Z Lbl D Locate 1,6,"THE ULTIMATE FIGHTING" Y-1->Y Y=/=0=>Goto D Lbl C Locate 1,6," " (21 spaces) Z-1->Z Z=/=0=>Goto C Goto A Lbl E 0->C~D 15000->L 50->U~V O->J~K 0->S 0->M~N 0->@ 0->r 2700->P 127Ran#->E 96Ran#->F Locate 7,1,"MAIN MENU" Locate 7,2,"*********" (9 *'s) Locate 7,4,"PLAY NOW" Locate 7,5,"CREDITS" Locate 7,6,"HELP" Locate 7,7,"EXIT" Getkey->@ (@=theta symbol) @=28=>H>4=>H-1->H @=37=>H<7=>H+1->H @=31=>H=4=>Clrtext @=31=>H=4=>Goto W @=31=>H=5=>ClrText @=31=>H=5=>Goto X @=31=>H=6=>ClrText @=31=>H=6=>Goto Y @=31=>H=7=>Goto Z For 1->A To 20+H Next Locate 7,H," " (8 spaces) Goto E Lbl X Locate 1,1,"~~~~~~~CREDITS~~~~~~~~" (7~'s/8~'s) Locate 8,3,"TOP GUN" Locate 1,4,"THE ULTIMATE FIGHTING" Locate 3,5,"BY JEAN-LUC VANIER" Locate 6,6,"VERSION 2.0" Locate 2,7,"(C) COPYRIGHT 1998" If Getkey=31 Then ClrText Goto E Else Goto X IfEnd Lbl Y Locate 1,1,"~~~~~~~~~help~~~~~~~~~" (9~'s/9~'s) Locate 1,3,"ARROWS->MOVE F6->PAUSE" (2 spaces) Locate 1,4,"+/-->SPEED OPTN->FLARE" (2 spaces) Locate 1,5,"SHIFT->MISL ALPHA->LOCK" (1 space) Locate 1,6,"EXIT->QUIT" If Getkey=31 Then ClrText Goto E Else Goto Y IfEnd Lbl Z Cls ClrText Stop Lbl W Cls RclPict 1 If B=0 Then ViewWindow 1,127,0,1,96,0 F-Line 1,25,127,25 F-Line 1,27,127,27 F-Line 40,25,1,96 F-Line 41,25,2,96 F-Line 87,25,127,96 F-Line 86,25,126,96 F-Line 60,50,66,50 F-Line 63,47,63,53 F-Line 22,1,22,25 F-Line 23,1,23,25 F-Line 105,1,105,25 F-Line 104,1,104,25 F-Line 35,13,35,24 F-Line 78,25,78,13 F-Line 82,25,82,13 F-Line 78,19,82,19 F-Line 47,13,47,24 F-Line 93,25,93,13 F-Line 105,13,105,24 F-Line 24,13,104,13 Orange F-Line 49,28,49,74 Orange F-Line 49,74,76,74 Orange F-Line 76,74,76,28 Orange F-Line 50,71,52,71 Orange F-Line 50,64,52,64 Orange F-Line 50,56,52,56 Orange F-Line 50,48,52,48 Orange F-Line 50,41,52,41 Orange F-Line 50,33,52,33 Orange F-Line 75,71,73,71 Orange F-Line 75,64,73,64 Orange F-Line 75,56,73,56 Orange F-Line 75,48,73,48 Orange F-Line 75,41,73,41 Orange F-Line 75,33,73,33 Text 50,5,"ALT:" Text 50,110,"SPD:" Text 49,51,"STATUS" StoPict 1 1->B IfEnd Lbl r Orange Text 49,26,K Orange Text 49,38,O Orange Text 49,84,M Orange Text 49,95,S If C=1 Then Orange F-Line 79,24,81,24 Orange F-Line 79,22,81,22 Orange F-Line 79,21,81,21 J+1->J IfEnd L<10000=>Orange Text 58,17," " (1 space) L<1000=>Orange Text 58,12," " (5 spaces) Orange Text 58,2,L P<1000=>Orange Text 58,108," " (4 spaces) Orange Text 58,108,P Green F-Line 1,U,127,V If F>28 Then PlotOff E,F PlotOn E,F PlotOff E,F IfEnd Getkey->G G=28=>U<90=>U+10->U G=28=>V<90=>V+10->V G=28=>Goto W G=37=>U>30=>U-10->U G=37=>V>30=>V-10->V G=37=>Goto W G=38=>U=30=>V=30=>U+10->U G=38=>U=90=>V=90=>V-10->V G=38=>U=30=>V=90=>V-10->V G=38=>U>30=>U<90=>U+10->U G=38=>V>30=>V<90=>V-10->V G=38=>Goto W G=27=>U=30=>V=30=>V+10->V G=27=>U=90=>V=90=>U-10->U G=27=>U=90=>V=30=>U-10=>U G=27=>U>30=>U<90=>U-10=>U G=27=>V>30=>V<90=>V+10->V G=27=>Goto W If U>50 And V>50 Then L-100->L F+4Ran#+1->F IfEnd If U<50 And V<50 And L<30000 Then L+100->L F-4Ran#-1->F IfEnd U>50=>V<50=>E+4Ran#+1->E U<50=>V>50=>E-4Ran-1->E G=29=>Goto M G=77=>Goto N G=68=>C=1=>Goto L If G=68 And C=0 Then Orange Text 58,30," FLARE LAUNCHED " (1 space/3 spaces) Orange Text 58,30," FLARE LAUNCHED " (1 space/3 spaces) For 1->A to 200 Next Orange Text 58,30," " (18 spaces) S+1->S 0->C IfEnd If G=78 Then Orange Text 58,30,"MISSILE LAUNCHED" Orange Text 58,30,"MISSILE LAUNCHED" For 1->A to 200 Next Orange Text 58,30," " (17 spaces) M+1->M IfEnd G=47=>ClrText G=47=>Goto R G=42=>P=<3500=>P+100->P G=32=>P>=800=>P-100->P C=/=1=>300Ran#->R C=/=1=>R=<5=>Goto I J=10=>Goto U L=<0=>Goto F N+1000->N 10Ran#->r r=<5=>-1->r (negative symbol) r>5=>1->r L<30000=>L+Int 25rRan#->L P>700=>P<3600=>P+Int 20rRan#->P U<50=>V<50=>P>=800=>P-Int 100Ran#->P U>50=>V>50=>P=<3500=>P+Int 50Ran#->P E+6Ran#-3->E F+6Ran#-3->F Goto r Lbl K Cls Graph Y>0 Graph Y<0 Text 12,46,"GAME OVER" Text 22,47,"DESTROYED" Text 41,42,"SCORE:" Text 48,42,"BEST:" N>Mat T[1,1]=>N->Mat T[1,1] Orange Text 41,70,N Orange Text 48,70,Mat T[1,1] Stop Lbl M Orange Text 58,30," " (17 spaces) Text 58,50,"PAUSED" Text 58,50," " (6 spaces) If Getkey=31 Then Goto W Else Goto M IfEnd Lbl R Locate 1,1,"EXIT:" Locate 1,3,"1->MAIN MENU" Locate 1,4,"2->QUIT GAME" Locate 1,5,"3->BACK TO GAME" If Getkey=72 Then ClrText 4->H Goto E IfEnd If Getkey=62 Then ClrText Cls 0->A~Z Stop IfEnd Getkey=52=>Goto r Goto R Lbl F Cls Graph Y>0 Graph Y<0 Text 12,46,"GAME OVER" Text 22,50,"CRASHED" Text 41,42,"SCORE:" Text 48,42,"BEST:" N>Mat T[1,1]=>N->Mat T[1,1] Orange Text 41,70,N Orange Text 48,70,Mat T[1,1] Stop Lbl I Orange Text 58,30,"MISSILE DETECTED " (3 spaces after) Orange Text 58,30,"MISSILE DETECTED " (3 spaces after) For 1->A To 200 Next Orange Text 58,30," " (19 spaces) 1->C Goto r Lbl L Orange Text 58,30," FLARE LAUNCHED " (1 space/1 space) Orange text 58,30," FLARE LAUNCHED " (1 space/1 space) For 1->A To 200 Next 0->C S+1->S Int 20Ran#->A A=<4=>Goto U Orange Text 58,30," MISSILE AVOIDED " (1 space/2 spaces) Orange Text 58,30," MISSILE AVOIDED " (1 space/2 spaces) For 1->A To 200 Next Orange Text 58,30," " (17 spaces) N+10000->N 0->J Goto 2 Lbl U 0->C 0->J ClrText Orange Text 58,30," YOU ARE HIT " (2 spaces/3 spaces) Orange Text 58,30," YOU ARE HIT " (2 spaces/3 spaces) N-5000->N O+Int 20Ran#+10->O For 1->A To 200 Next O>=100=>Goto K Orange Text 58,30,"PLANE DAMAGE:" Orange Text 58,88,O Orange Text 58,88,O For 1->A To 200 Next Orange Text 58,30," " (17 spaces) Lbl 2 PlotOff 79,24 PlotOff 79,22 PlotOff 79,21 PlotOff 80,24 PlotOff 80,22 PlotOff 80,21 PlotOff 81,24 PlotOff 81,22 PlotOff 81,21 Goto r Lbl N If E>=60 And E=<66 And F>=47 And F=<53 Then Orange Text 58,30," TARGET LOCKED " (2 spaces/3 spaces) Orange F-Line 79,18,81,18 Orange F-Line 79,16,81,16 Orange F-Line 79,15,81,15 Else Goto r IfEnd If Getkey=78 Then Goto 7 Else Goto N IfEnd Lbl 7 Orange Text 58,30,"MISSILE LAUNCHED" Orange Text 58,30,"MISSILE LAUNCHED" For 1->A To 200 Next Int 10Ran#->A If A=<6 Then Orange Text 58,30,"TARGET DESTROYED " (2 spaces after) Orange Text 58,30,"TARGET DESTROYED " (2 spaces after) For 1->A To 200 Next Orange Text 58,30," " (18 spaces) M+1->M K+1->K N+50000->N 127Ran#->E 96Ran#->F Goto 3 IfEnd If A>6 Then Orange Text 58,30," TARGET MISSED " (1 space/3 spaces) Orange Text 58,30," TARGET MISSED " (1 space/3 spaces) For 1->A To 200 Next Orange Text 58,30," " (17 spaces) M+1->M N-10000->N Lbl 3 PlotOff 79,18 PlotOff 79,16 PlotOff 79,15 PlotOff 80,18 PlotOff 80,16 PlotOff 80,15 PlotOff 81,18 PlotOff 81,16 PlotOff 81,15 Goto r IfEnd