! * SCREEN TO BLACK, RANDOMIZE , MAGNIFYx3 SPRITES 10 CALL SCREEN(2)::CALL CLEAR::RANDOMIZE::CALL MAGNIFY(3) ! * ARRAY FOR THE STAR CHARACTER NUMBERS 15 DIM S(15)::FOR A=1 TO 15::READ S(A)::NEXT A 16 DATA 64,68,72,76,80,84,88,92,96,100,104,108,112,116,120 ! * A LITTLE SPACE SHIP AND IT'S MISSILE, JUST FOR THE HELL OF IT. 20 CALL CHAR(36,"000000C0F38430F83EB38F5F0E00000000000000C03048003FEE74A00000000000000000000000002B000000000000000000000000000038FC38000000000000") ! * STARS DEFINITIONS. 30 A$="00000000000000000000010000000000" 40 CALL CHAR(64,A$,68,A$,72,A$,76,A$,80,A$,84,A$,88,A$,92,A$,96,A$,100,A$,104,A$,108,A$,112,A$,116,A$,120,A$) ! * LET'S HAVE SOME COLOUR (SORRY, COLOR! I'M NOT FROM ROUND HERE) 45 CALL COLOR(5,16,2,6,5,2,7,10,2,8,16,2,9,5,2,10,10,2) 46 CALL COLOR(11,11,2,12,16,2) ! * PLOT OUR STARS TO THE SCREEN RANDOMLY 50 N=64::FOR A=1 TO 24 60 Y1=INT(32*RND)+1::Y2=INT(32*RND)+1::IF Y1=Y2 THEN 60 70 CALL HPUT(A,Y1,CHR$(N))::N=N+4::IF N>120 THEN N=64 80 CALL HPUT(A,Y2,CHR$(N))::NEXT A ! * PLACE THE SPACE SHIP SPRITE 90 CALL SPRITE(#1,36,4,72,16)::F=0::T=0::TM=4 ! * NOW START TWINKLING THOSE STARS RANDOMLY 100 T=INT(15*RND)+1 :: CALL SWAPCHAR(S(T),S(T)+1) ! * HOW ABOUT JOYSTICK CONTROL OF SHIP? 110 CALL JOYMOTION(1,X,Y,#1,24,16)::CALL KEY(1,K,ST)::IF K=18 THEN 111 ELSE 120 111 IF F=1 THEN 120 ELSE F=1::CALL POSITION(#1,P1,P2)::CALL SPRITE(#2,40,12,P1,P2,0,20) ! * WE CAN EVEN ROLL THE SCREEN BUT WE DO SO USING THE "F" VARIABLE AND A TIMER COMBINED 120 T=T+1 :: IF T>(TM-F) THEN 121 ELSE 130 121 T=0::CALL ROLLLEFT ! * CHECK PLAYER MISSILE POSITION IF ACTIVE..... 130 IF F=1 THEN 131 ELSE 100 131 CALL POSITION(#2,P1,P2)::IF P2>240 THEN 132 ELSE 100 132 CALL DELSPRITE(#2)::F=0::GOTO 100