Posted Fri Sep 30, 2011 11:16 PM
Posted Fri Sep 30, 2011 11:38 PM
Posted Sat Oct 1, 2011 8:21 AM
10 CALL SCREEN(1)::CALL CLEAR::RANDOMIZE::CALL INIT::CALL CHARPAT(45,A$)::CALL CHAR(81,A$)::FL=1
15 FOR I=0 TO 1::READ A$::CALL CHAR(36+(I*4),A$)::NEXT I::READ A$::CALL CHAR(44,A$)::READ A$::CALL CHAR(60,A$)
18 FOR I=0 TO 12::READ A$::CALL CHAR(92+(I*4),A$)::NEXT I::READ DL,DL$(0),DL$(1),DR,DR$(0),DR$(1)::READ A,A$::CALL CHAR(A,A$)
19 DIM MU(33)::FOR I=0 TO 32::READ MU(I)::NEXT I::FOR I=2 TO 13::CALL COLOR(I,16,2)::NEXT I::CALL COLOR(14,6,1)::GOTO 500
REM SETUP LEVEL
20 REM
21 CALL MAGNIFY(3)::FOR I=0 TO 9::CALL HCHAR(RND*12+1,INT(RND*32)+1,66)::NEXT I::TX=INT(RND*28)::CALL SPRITE(#28,136,5,1,17+TX*8)
22 CALL HCHAR(1,TX+3,94)::CALL HCHAR(1,TX+4,95)::CALL HCHAR(2,TX+3,142)::CALL HCHAR(2,TX+4,143)
23 RX=0::RY=0::R=177::C=129
25 F=1::S=5::D=1::FOR I=2 TO 10 STEP 2::CALL SPRITE(#S,114+D*2,11,I*8+1,1,0,D*10)::D=-D::S=S+1::NEXT I
26 FOR I=14 TO 16 STEP 2::CALL SPRITE(#S,132,15,I*8+1,1,0,D*10)::D=-D::S=S+1::NEXT I
27 FOR I=18 TO 20 STEP 2::CALL SPRITE(#S,100+D*4,3,I*8+1,1,0,D*10)::D=-D::S=S+1::NEXT I
29 CALL SPRITE(#1,40,15,R,C)
REM GAME LOOP
30 IF RX=0 AND RY<>0 THEN 32
31 CALL JOYST(1,X,Y)::RX=X::RY=Y::GOTO 33
32 X=RX::Y=RY::RX=0::RY=0
33 IF X=0 THEN 35 ELSE CALL PATTERN(#1,38+(X/2))::C=C+X*2::IF C<17 THEN C=17 ELSE IF C>233 THEN C=233
35 IF Y=0 THEN 36 ELSE CALL PATTERN(#1,52-Y*2)::R=R-Y*2::IF R<2 THEN 101 ELSE IF R>177 THEN R=177
36 CALL LOCATE(#1,R,C)
99 CALL COINC(ALL,A)::IF A<>0 THEN 101
100 GOTO 30
101 REM CHECK FOR SUCCESS / DEATH
REM DEATH - nice eh?
110 CALL MOTION(#1,0,0)::CALL COLOR(#1,7)::SN=16::CALL POSITION(#1,X,Y)::CALL SOUND(-1000,-7,0)
112 FOR I=1 TO 4::CALL SPRITE(#I,120,7,X,Y)::NEXT I::CALL SOUND(-1000,-7,5)
113 CALL MOTION(#1,2,2)::CALL MOTION(#2,2,-2)::CALL MOTION(#3,-2,2)::CALL MOTION(#4,-2,-2)::CALL SOUND(-1000,-7,10)
114 FOR I=1 TO 45::NEXT I::FOR I=1 TO 4::CALL PATTERN(#I,124)::NEXT I::CALL SOUND(-1000,-7,15)
115 FOR I=1 TO 35::NEXT I::FOR I=1 TO 4::CALL PATTERN(#I,128)::NEXT I::CALL SOUND(-1000,-7,20)
116 FOR I=1 TO 25::NEXT I::FOR I=1 TO 4::CALL DELSPRITE(#I)::NEXT I
118 X=RND*60-30::CALL MOTION(#SN,X,RND*60-30)::SN=SN-1::CALL SOUND(-1000,500+X*10,4,900-X*10,10)::IF SN>1 THEN 118
119 FOR I=550 TO 110 STEP -50::CALL SOUND(-100,I,0,I+110,4,I+220,8,-2,0)::NEXT I
REM TITLE SCREEN
500 CALL DELSPRITE(ALL)::CALL CLEAR::CALL MAGNIFY(4)::DISPLAY AT(5,12):"KQ9 ESCAPE"::DISPLAY AT(8,1):"2010 UNHUMAN SOFTWARE"
501 DISPLAY AT(1,1):"LAST SCORE: "&STR$(S)::CALL SPRITE (#28,136,5,33,211)::CALL HCHAR(6,28,92)::CALL HCHAR(6,29,93)
502 CALL HCHAR(7,28,140)::CALL HCHAR(7,29,140)::CALL HCHAR(8,28,140)::CALL HCHAR(8,29,140)::DISPLAY AT(22,7):"NOT FOR SALE"
510 CALL SPRITE(#1,40,15,100,1,0,20)::FOR J=0 TO 150::NEXT J
511 FOR I=4 TO 2 STEP -1::FOR J=0 TO 150::NEXT J::CALL SPRITE(#I,116,12,100,1,0,20)::NEXT I
996 ML=MU(0)::ML2=ML::MN=0::CALL SAY("K 9")::DISPLAY AT(24,4):"PRESS ANY KEY TO START"
997 FL=1-FL::CALL CHAR(DR,DR$(FL))::CALL SOUND(-250,MU(MN),0,ML,5,ML2,10)::ML2=ML::ML=MU(MN)::MN=MN+1::IF MN>32 THEN MN=0
998 CALL KEY(0,K,S)::IF K=-1 THEN 997
999 CALL DELSPRITE(ALL)::CALL CLEAR::CALL MAGNIFY(3)::GOTO 20
REM k-9 LEFT & RIGHT 36, 40
1000 DATA 0020103C2CFCFE7E0403070A09091A1F00000000000000031CE0F08888E8ECFC,00000000000000C038070F151313353F0004083C343F7F7E20C0E01010D0D8F8
REM K-9 UP & DOWN 44,60
1001 DATA 06075F371F1F03000000000000000101000000031FA167677F6D73A19F830000,0000C1F985CEB6FEE6E685F8C0000000808000000000000000C0F8F8ECFAE060
REM 88 available
REM TARDIS WINDOWS 92,93 (TITLE SCREEN) 94,95 (IN-GAME)
1002 DATA 00003F3F3F3F3F3F0000FFFFFFFFFFFF0000000000000F0F000000000000F0F0
REM SLITHEEN (left) 96, 100
1004 DATA 1F2F467FF9F97F008FDFFF0F193163E7804020E0F0F0C0000080808000000000,1F2F467FFFF97F000F1F7F8F89080C1D804020E0F0F0C000008080800080C0C0
REM SLITHEEN (right) 104, 108
1005 DATA 010204070F0F03000001010100000000F8F462FE9F9FFE00F1FBFFF0988CC6E7,010204070F0F03000001010100010303F8F462FEFF9FFE00F0F8FEF1911030B8
REM DALEK - left & right 112, 116
1007 DATA 000103010341639A06040505080C0F0160F8FC08FC08FC0464629A9A6163FFF8,061F3F103F103F202646595986C6FF1F0080C080C082C6596020A0A01030F080
REM EXPLOSIONS 1,2 120, 124
1009 DATA 000004002001000010010400100000000004400010000000C480000480080000,000004002001000010010400100000000004400010000000C480000480080000
REM EXPLOSION 3 128 & CYBERMEN 132
1011 DATA 0000001000000020010000000400000000008008000000000008000000040000,00033F23272F39391F0F0F0C070700000080F888C8E83838F0E0E060C0C00000
REM TARDIS 136 & doors 140, 141 - TITLE SCREEN, 142,143 in GAME
1012 DATA 01030207081F15151F11111F11113F7F008080C020F05050F01010F01010F8FC,3F3F3F3F3F3F3F3FFFFFFFFFFFFFFFFF0F0F0F0F0F0F0F0FF0F0F0F0F0F0F0F0
REM TARDIS PARTS
REM DALEK going left hand positions and then going right hand positions
1018 DATA 112,000103010341639A,00010341C3A1130A,118,0080C080C082C659,0080C082C385C850
REM STAR
1020 DATA 66,00000010
REM SONG - LEFT HAND
REM D E E E D E E E D E E E F G G G D E E E D E E E D E E E F G G G D
1025 DATA 147,165,165,165,175,165,165,165,175,165,165,165,175,196,196,196,147,165,165,165,175,165,165,165,175
1029 DATA 165,165,165,175,196,196,196,147
Posted Sat Oct 8, 2011 2:38 PM
Posted Sat Oct 8, 2011 3:23 PM
Posted Sat Oct 8, 2011 4:03 PM
Posted Sat Oct 8, 2011 4:28 PM
Posted Sun Oct 9, 2011 12:17 AM
Posted Sun Oct 9, 2011 12:48 AM
10 DR,DC=1 20 !TEST PROGRAM-USE CALL LOCATE WITH JOYST 25 P1=15 :: P2=10 30 CALL CLEAR :: CALL SCREEN(6) :: CALL COLOR(9,2,2) 40 A$="FFFFFFFFFFFFFFFF" :: B$="FFFFFFFFFFFFFFFF" 42 C$="FFFFFFFFFFFFFFFF" :: D$="FFFFFFFFFFFFFFFF" :: E$="FFFFFFFFFFFFFFFF" 50 CALL CHAR(96,A$,104,B$,112,C$,120,D$,128,E$) 60 CALL SPRITE(#1,96,2,89,121) 65 DR=100 :: DC=100 66 DISPLAY AT(16,1):"SAME KEY=0 NEW KEY=1 NO KEY PRESS=-1" 70 CALL JOYST(1,X,Y) 75 CALL COLOR(10,P1,6,11,P1,6,12,P1,6,13,P1,6) 80 !=R-Y/4 :: C=C+X/4 90 DR=DR-Y*4 :: DC=DC+X*4 100 !R=INT(R*8-7):: DC=INT(C*8-7) 110 !ALL POSITION(#1,DR,DC) 120 CALL LOCATE(#1,DR,DC) 130 CALL KEY(1,K,S) 145 DISPLAY AT(18,5):"KEY= ";K;"STATUS= ";S :: DISPLAY AT(20,1):"X= ";X;"Y= ";Y :: DISPLAY AT(21,1):"R= ";R;"C= ";C :: DISPLAY AT(22,1):"DR=";DR;"DC=";DC 180 CALL HCHAR(1,16,104)!UP 190 CALL HCHAR(24,16,112)!DOWN 195 CALL HCHAR(12,3,120)!LEFT 198 CALL HCHAR(12,30,128)!RIGHT 200 IF Y=4 THEN CALL COLOR(10,P2,6) 210 IF X=4 THEN CALL COLOR(13,P2,6) 220 IF Y=-4 THEN CALL COLOR(11,P2,6) 230 IF X=-4 THEN CALL COLOR(12,P2,6) 250 GOTO 70
Edited by RXB, Sun Oct 9, 2011 1:03 AM.
Posted Tue Oct 11, 2011 9:12 PM
Posted Tue Oct 11, 2011 11:44 PM
Edited by sometimes99er, Wed Oct 12, 2011 2:02 AM.
Posted Wed Oct 12, 2011 1:08 AM
40 !COINCTEST(DOESNOTWORK) 50 CALL CLEAR :: CALL SCREEN(3) 60 CALL COLOR(9,2,2,10,11,11) 70 CALL SPRITE(#1,96,2,89,1,0,10,#2,104,11,89,249,0,-10) :: GOTO 95 80 CALL OBJECT(C) 90 IF C THEN CALL SOUND(500,440,0) :: CALL SPRITE(#2,104,11,89,249,0,-10)ELSE 80 95 DISPLAY AT(24,1):"C= ";C 110 GOTO 80 120 SUB OBJECT(C) 140 CALL COINC(#1,#2,10,C) 150 SUBEND
Posted Thu Oct 13, 2011 11:12 PM
Posted Fri Oct 14, 2011 1:10 AM
Edited by sometimes99er, Fri Oct 14, 2011 1:13 AM.
Posted Fri Oct 14, 2011 10:25 PM
Posted Fri Oct 14, 2011 10:43 PM
orion1052003, on Fri Oct 14, 2011 10:25 PM, said:
Edited by sometimes99er, Fri Oct 14, 2011 10:44 PM.
Posted Sat Oct 15, 2011 2:50 PM
Posted Sat Oct 15, 2011 2:52 PM
Posted Sat Oct 15, 2011 2:54 PM
Posted Sat Oct 15, 2011 2:59 PM
Posted Mon Oct 17, 2011 12:29 AM
635 DR=130 :: DC=1
640 CALL SPRITE(#1,96,16,DR,DC) :: CALL MAGNIFY(4)
641 !METEOR SPRITE
642 CALL CHAR(136,M$) :: MDR=1 :: MDC=249
643 CALL SPRITE(#2,136,16,MDR,MDC,1,-1)!SPEED,20,-20
644 !MOVEMETEORBELOWSCREEN?DR=193
645 !MAIN LOOP
650 CALL METEOR(C)
660 ANIM=ABS(ANIM-4) :: CALL JOYST(1,X,Y) :: DC=DC+X*4 :: CALL LOCATE(#1,(DR AND 255)+1,(DC AND 255)+1)
661 CALL COINC(#1,#2,10,HIT) :: IF HIT THEN CALL SOUND(300,-1,10) :: CALL DELSPRITE(#1)::GOTO 780
663 CALL KEY(1,K,S) :: IF K=18 THEN CALL JUMP(DR,DC,FACE)
664 IF X<>0 THEN CALL PATTERN(#1,ANIM+X*2+108) :: FACE=SGN(X+4) :: GOTO 650
665 CALL PATTERN(#1,FACE*16+96) :: GOTO 650
770 !ENDOFMAINLOOP
780 CALL CHARPAT :: CALL SCREEN(5)
790 DISPLAY AT(12,16):"PLAY MOON MAN AGAIN? PRESS Y OR N"
800 ACCEPT AT(14,16)BEEP VALIDATE("YN"):Z$::IF Z$="Y" THEN 160
803 IF Z$="N" THEN END
805 !///SUBPROGRAMS///
810 SUB JUMP(DR,DC,FACE)
840 SDR=DR :: A=1
850 CALL KEY(1,K,S) :: IF K=18 THEN DR=DR-4 :: DC=DC+(A*PI/45)*5 :: IF DC>240 THEN DC=1
855 CALL COINC(#1,#2,10,CO) :: IF CO THEN CALL SOUND(150,-2,4) :: CALL DELSPRITE(#1):: SUBEXIT! GOTO 780?
860 !DISPLAY AT(23,1):A;" ";SIN(A*PI/45)
870 IF DR<8 THEN 890
880 CALL LOCATE(#1,DR,DC) :: IF S<0 THEN A=A+1 :: GOTO 850
890 IF DR<SDR THEN DR=DR+4 :: DC=DC+1 :: CALL LOCATE(#1,DR,DC) :: IF DC>240 THEN DC=1
900 IF DR<SDR THEN 890
910 SUBEND
920 SUB METEOR(C)
925 CALL COLOR(6,16,2)
950 CALL COINC(#1,#2,10,C) :: :: IF HIT THEN CALL SOUND(300,-2,10) :: IF C THEN CALL DELSPRITE(#1)
955 CALL POSITION(#2,DR,DC) :: IF DR>130 THEN CALL DELSPRITE(#2)
960 !HOWLONGSHOULDMETEORLAST?
970 SUBEND
Posted Mon Oct 17, 2011 12:44 AM
Edited by sometimes99er, Mon Oct 17, 2011 12:50 AM.
Posted Mon Oct 17, 2011 11:01 PM
635 DR=130 :: DC=1
640 CALL SPRITE(#1,96,16,DR,DC) :: CALL MAGNIFY(4)
641 !METEOR SPRITE
642 CALL CHAR(136,M$) :: MDR=1 :: MDC=249
643 CALL SPRITE(#2,136,16,MDR,MDC,1,-1)!SPEED,20,-20
644 !MOVEMETEORBELOWSCREEN?DR=193
645 !MAIN LOOP
650 CALL METEOR
660 ANIM=ABS(ANIM-4) :: CALL JOYST(1,X,Y) :: DC=DC+X*4 :: CALL LOCATE(#1,(DR AND 255)+1,(DC AND 255)+1)
661 CALL COINC(#1,#2,10,HIT) :: IF HIT THEN CALL SOUND(300,-1,10) :: CALL DELSPRITE(#1)
663 CALL KEY(1,K,S) :: IF K=18 THEN CALL JUMP(DR,DC,FACE)
664 IF X<>0 THEN CALL PATTERN(#1,ANIM+X*2+108) :: FACE=SGN(X+4) :: GOTO 650
665 CALL PATTERN(#1,FACE*16+96) :: GOTO 650
770 !ENDOFMAINLOOP
780 CALL CHARPAT :: CALL SCREEN(5)
790 DISPLAY AT(12,16):"PLAY MOON MAN AGAIN? PRESS Y OR N"
800 ACCEPT AT(14,16)BEEPVALIDATE("YN"):Z$ :: IF Z$="Y" THEN 160
803 IF Z$="N" THEN END
805 !///SUBPROGRAMS///
810 SUB JUMP(DR,DC,FACE)
840 SDR=DR :: A=1
844 DISPLAY AT(16,12):"DC= ";DC
850 CALL KEY(1,K,S) :: IF K=18 THEN DR=DR-4 :: DC=ABS(DC)+ABS(INT(A*PI/45)*5) :: IF DC>240 THEN DC=17
855 CALL COINC(#1,#2,10,CO) :: IF CO THEN CALL SOUND(150,-2,4) :: CALL DELSPRITE(#1)
860 !DISPLAY AT(23,1):A;" ";SIN(A*PI/45)
870 IF DR<8 THEN 890
875 IF DR=126 THEN M=DC
880 CALL LOCATE(#1,DR,DC) :: IF S<0 THEN A=A+1 :: GOTO 850
890 IF DR<SDR THEN DR=DR+4 :: DC=DC+1 :: CALL LOCATE(#1,DR,DC) :: IF DC>240 THEN DC=17
900 IF DR<SDR THEN 890
910 SUBEND
920 SUB METEOR
925 CALL COLOR(6,16,2)
950 CALL COINC(#1,#2,10,CO) :: IF CO THEN CALL SOUND(300,-2,10) :: CALL DELSPRITE(#1)
955 CALL POSITION(#2,DR,DC) :: IF DR>130 THEN CALL DELSPRITE(#2)
960 !HOWLONGSHOULDMETEORLAST?
970 SUBEND
Edited by orion1052003, Mon Oct 17, 2011 11:11 PM.
Posted Tue Oct 18, 2011 1:45 AM
Edited by sometimes99er, Tue Oct 18, 2011 1:47 AM.
0 members, 0 guests, 0 anonymous users