'TITLE: EPSILON 'MADE BY NOUSERNAME010' 'SPRITE NOTES '0 - EPSILON (PLAYER) RANDOMIZE TIMER GAMEPAD 1 'INIT 'GAME VARS GLOBAL STIME,AW,AH AW=16 AH=16 'PLAYER VARS GLOBAL PX,PY,PSPD PSPD=1 'HANDLER VARS GLOBAL ACD,MAXACD,DIFF 'LASER VARS '0-STATE (0-INACTIVE, 1-PREPARATION, 2-ACTIVE. 3-5 - TRAIL.) '1-ORIENTATION (0-HORIZONTAL, 1-VERTICAL) '2-POSITION (0 TO 15) '3-COOLDOWN DIM GLOBAL LASERS(31,3) 'PALETTE INIT SPRITE 0 PAL 1 INTRO: CLS BG 0 TEXT 2,7,"NOUSERNAME010" TEXT 2,8,"PRESENTS..." CALL FADETOBLACK(20,0) TRACK 4,0 WAIT 120 STOP CALL FADETOBLACK(20,1) CLS CALL FADETOWHITE(1,1) TITLESCREEN: PAL 0 TMODE=0 SS=0 MUSIC BG 1 CALL PAINTSTARS(32,32) BG 0 DO CLS 0 IF TMODE=0 THEN TEXT 2,2,"EPSILON" TEXT 2,5,"PRESS (A)" ELSE IF TMODE=1 THEN RESTORE SNAMEDATA TEXT 2,2,"STAGE SELECT" FOR I=0 TO 2 READ T$ TEXT 2,4+I,T$ NEXT I CELL 1,4+SS,4 END IF IF TMODE=0 AND BUTTON TAP(0,0) THEN TMODE=1 PLAY 3,49,20 SOUND 1 WAIT VBL END IF IF TMODE=1 THEN IF UP TAP(0) THEN DEC SS IF SS<0 THEN SS=0 ELSE PLAY 3,49,20 SOUND 1 ELSE IF DOWN TAP(0) THEN INC SS IF SS>2 THEN SS=2 ELSE PLAY 3,49,20 SOUND 1 END IF IF BUTTON TAP(0,0) THEN CLS SPRITE OFF 0 TO 63 STOP PLAY 3,49,20 SOUND 1 DIFF=SS GOTO GAMESET END IF END IF SCROLL 1,SIN(TIMER/50)*5,-(TIMER/5) SPRITE 0,120+(SIN((TIMER-2)/50)*2),64+(COS((TIMER-2)/50)*2),1 WAIT VBL LOOP GAMESET: 'BG 1 SETUP BG 1 SCROLL 1,0,0 CALL PAINTSTARS(16,32) 'GAME VARS STIME=0 'HANDLER VARS MAXACD=30 ACD=MAXACD 'LASER VARS FOR L=0 TO 31 FOR LA=0 TO 3 LASERS(L,LA)=0 NEXT LA NEXT L 'PLAYER VARS PX=(AW*8)/2 PY=(AH*8)/2 GAME: WAIT VBL BG 0 CALL DRAWPLAYER CALL DRAWHUD CALL DRAWBG PRIO 1 CALL CWTEXT("READY",8,AW) PRIO 0 WAIT 120 MUSIC 2 DO CLS 0 CALL DRAWHUD CALL DRAWBG CALL DRAWLASERS CALL DRAWPLAYER WAIT VBL CALL UPDATEPLAYER CALL UPDATEHANDLER CALL UPDATELASERS LOOP PLAYERDEATH: STOP PAL 0 PLAY 0,37 SOUND 15 SPRITE OFF 0 CALL FADETOBLACK(30,0) WAIT 120 CALL CWTEXT("PURIFICATION",3,AW) CALL CWTEXT("FAILED",4,AW) WAIT 120 CLS GOTO TITLESCREEN 'PLAYER SUBS SUB DRAWPLAYER SPRITE 0,PX,PY,1 END SUB SUB UPDATEPLAYER 'ADD SURVIVAL TIME INC STIME 'MOVEMENT IF UP(0) THEN ADD PY,-PSPD ELSE IF DOWN(0) THEN ADD PY,PSPD END IF IF LEFT(0) THEN ADD PX,-PSPD ELSE IF RIGHT(0) THEN ADD PX,PSPD END IF 'LIMITS IF PX<0 THEN PX=0 IF PY<0 THEN PY=0 IF PX>120 THEN PX=120 IF PY>120 THEN PY=120 'CHECKS IF PLAYER HITS A LASER CELL PCX=PX+4 PCY=PY+4 COLCHAR = CELL.C(PCX/8,PCY/8) IF COLCHAR=64 OR COLCHAR=68 THEN GOTO PLAYERDEATH END SUB 'HANDLER SUBS SUB UPDATEHANDLER DEC ACD IF ACD<0 THEN CALL INITIATEATTACK ACD=MAXACD END IF END SUB 'TODO: SOPHISTICATED ATTACK FUNCTION SUB INITIATEATTACK FOR I=0 TO DIFF CALL MAKELASER NEXT I END SUB 'LASER SUBS SUB DRAWLASERS PAL 2 FOR L=0 TO 31 IF LASERS(L,0)=1 THEN IF LASERS(L,1)=0 THEN FOR T=0 TO 1 CELL T*(AW-1),LASERS(L,2),80 NEXT T ELSE FOR T=0 TO 1 CELL LASERS(L,2),T*(AH-1),80 NEXT T END IF ELSE IF LASERS(L,0)>=2 THEN IF LASERS(L,1)=0 THEN FOR T=0 TO AW-1 CELL T,LASERS(L,2),62+LASERS(L,0)+(LASERS(L,1)*4) NEXT T ELSE FOR T=0 TO AH-1 CELL LASERS(L,2),T,62+LASERS(L,0)+(LASERS(L,1)*4) NEXT T END IF END IF NEXT L END SUB SUB UPDATELASERS FOR L=0 TO 31 IF LASERS(L,0)=1 THEN DEC LASERS(L,3) IF LASERS(L,3)<=0 THEN INC LASERS(L,0) LASERS(L,3)=2 END IF ELSE IF LASERS(L,0)>=2 THEN DEC LASERS(L,3) IF LASERS(L,3)<=0 THEN INC LASERS(L,0) IF LASERS(L,0)>5 THEN LASERS(L,0)=0 ELSE IF LASERS(L,3)<=0 THEN LASERS(L,3)=2 END IF END IF NEXT L END SUB SUB MAKELASER FOR L=0 TO 31 IF LASERS(L,0)=0 THEN LASERS(L,0)=1 LASERS(L,1)=RND(1) IF LASERS(L,1)=0 THEN LASERS(L,2)=RND(AW-1) ELSE LASERS(L,2)=RND(AH-1) END IF LASERS(L,3)=60 L=31 END IF NEXT L END SUB 'BACKGROUND SUBS SUB DRAWBG SCROLL 1,0,-(TIMER/10) END SUB SUB PAINTSTARS(SW,SH) FOR X=0 TO SW-1 FOR Y=0 TO SH-1 IF RND(15)=0 THEN CELL X,Y,2+RND(1) END IF NEXT Y NEXT X END SUB 'INTERFACE SUBS SUB DRAWHUD PAL 0 BG COPY 0,0,20,16 TO 0,0 TEXT 17,1,STR$(INT(STIME/60)) END SUB SUB CWTEXT(T$,Y,W) TEXT (W/2)-(LEN(T$)/2),Y,T$ END SUB 'PALETTE SUBS SUB FADETOWHITE(INTV,SC) CB=$FF00+SC FOR I=0 TO 3 POKE CB,((I*16)+(I*4)+I) WAIT INTV NEXT I END SUB SUB FADETOBLACK(INTV,SC) CB=$FF00+SC FOR I=3 TO 0 STEP -1 POKE CB,((I*16)+(I*4)+I) WAIT INTV NEXT I END SUB 'DATA 'STAGE NAME DATA SNAMEDATA: DATA "ALPHA","BETA","DELTA","OMEGA" #1:MAIN PALETTES 003F2A15002F2A15003020100020103C 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 00183C245A5A3C000018243C66663C00 0000200004000000002050240A040000 00000008000000000000081408000000 0060607662706000006078787C786000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 FFFFFFFFFFFFFFFFFF000000000000FF 00FF00000000FF0000FFFFFFFFFFFF00 0000FFFFFFFF00000000FFFFFFFF0000 00000055AA00000000000055AA000000 FFFFFFFFFFFFFFFF8181818181818181 42424242424242427E7E7E7E7E7E7E7E 3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C 08100810081008100810081008100810 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00183C3C425A7E00000018183C3C0000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 7F7F7F7F7F7F7F7F8080808080808080 FFFFFFFFFFFFFFFF0000000000000000 E7E7E7E7E7E7E7E70000000000000000 E7E7E7E7E7E7E7FF0000000000000018 E7E7E7E7E7E7FFFF0000000000001818 E7E7E7E7E7FFFFFF0000000000181818 E7E7E7E7FFFFFFFF0000000018181818 E7E7E7FFFFFFFFFF0000001818181818 E7E7FFFFFFFFFFFF0000181818181818 E7FFFFFFFFFFFFFF0018181818181818 FFFFFFFFFFFFFFFF1818181818181818 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 7F7F7F7F7F7F7F0080808080808080FF FFFFFFFFFFFFFF0000000000000000FF 00000000000000008080808080808080 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00181818180018000000000000000000 00484824000000000000000000000000 00247E24247E24000000000000000000 00083E380E3E08000000000000000000 00626408102646000000000000000000 001C24384E443A000000000000000000 00101020000000000000000000000000 00040808080804000000000000000000 00201010101020000000000000000000 000024187E1824000000000000000000 000018187E1818000000000000000000 00000000080810000000000000000000 000000007E0000000000000000000000 00000000001818000000000000000000 00020408102040000000000000000000 003C464A52623C000000000000000000 0018280808083E000000000000000000 003C420418207E000000000000000000 003C420C02423C000000000000000000 0042427E020202000000000000000000 007E407C02027C000000000000000000 001C207C42423C000000000000000000 007E0204081010000000000000000000 003C423C42423C000000000000000000 003C423E02423C000000000000000000 00000018001800000000000000000000 00000018001830000000000000000000 00000C1830180C000000000000000000 0000007E007E00000000000000000000 000030180C1830000000000000000000 003C660C180018000000000000000000 003C424E4E403C000000000000000000 001824427E4242000000000000000000 007C427C42427C000000000000000000 003C424040423C000000000000000000 00784442424478000000000000000000 007E407840407E000000000000000000 007E4078404040000000000000000000 003C404E42423C000000000000000000 0042427E424242000000000000000000 00381010101038000000000000000000 001E020202423C000000000000000000 00424244784442000000000000000000 0040404040407E000000000000000000 0042667E5A4242000000000000000000 004262524A4642000000000000000000 003C424242423C000000000000000000 007C427C404040000000000000000000 003C42424A443A000000000000000000 007C427C484442000000000000000000 003E403C02027C000000000000000000 007C1010101010000000000000000000 0042424242423C000000000000000000 00424242422418000000000000000000 0042425A7E6642000000000000000000 00422418244242000000000000000000 00424224180808000000000000000000 007E040810207E000000000000000000 001C101010101C000000000000000000 00402010080402000000000000000000 00380808080838000000000000000000 00182442000000000000000000000000 0000000000007E000000000000000000 #3:MAIN BG 00001410000000000000000000000000 00000000000000000000000000000000 00000000920000000000000000000000 00000000000000000000000000000000 00000000000000000000000092000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000920000000000000000000000 00000000000000000000000000000000 00000000000000000000000092000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000920000000000000000000000 00000000000000000000000000000000 00000000000000000000000080038113 82138113000000000000000000000000 00000000000000000000000000000000 00000000800381138213811300000000 00000000000000000000000000000000 00000000000000000000000080038113 82138113000000000000000000000000 00000000000000000000000000000000 00000000800381138213811300000000 00000000000000000000000000000000 00000000000000000000000080038113 82138113000000000000000000000000 00000000000000000000000000000000 00000000800381138213811300000000 00000000000000000000000000000000 00000000000000000000000080038113 82138113000000000000000000000000 00000000000000000000000000000000 00000000800381138213811300000000 00000000000000000000000000000000 00000000000000000000000080038113 82138113000000000000000000000000 00000000000000000000000000000000 00000000800381138213811300000000 00000000000000000000000000000000 00000000000000000000000090039103 82039103 #15:MAIN SOUND 2F0080340000000028008062003A0000 08006060000000002800303019FE0000 38002020000000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F00000000780160B002F80000 800240400103C0408586404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 3D0FD8000000440F00000000420F0044 0F00420F003F0F00400F003F0F003D0F 003B0F003D0F003B0F00380F003B0F00 3D0F00000000440F00000000420F0044 0F00470F00490F00440F000000000000 000000000000000000003D0F003F0F00 400FD80000003F0F000000003D0F003B 0F003D0F003B0F00380F003B0F003B0F 00000000000000000000000000000000 390F00380F00360F00340F00360F0034 0F00330F00310F00310F000000000000 00000000000000000000000000FF0000 311F00000000000000000000331F0000 0000000000000000341F000000000000 00000000000000000000000000000000 341F000000000000000000003B1F0000 00000000000000003D1F000000003B1F 000000003D1F000000003B1F00000000 391F00000000000000000000361F0000 0000000000000000381F000000000000 00000000381F00361F00341F00000000 361F00000000000000000000331F0000 0000000000000000311F000000000000 00000000000000000000000000FF0000 3D0F00000000440F00000000FF000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 3D1FEF3F1F00401F00421F00441F0042 1F00441F00000000421F00401F003F1F 00421F00401F003F1F003D1F003B1F00 3D1F003B1F00391F003B1F003D1F003B 1F003D1F000000003F1F003D1F003F1F 00401F00421F00401F003F1F00401F00 311F00000000000000000000381F0000 0000000000000000361F00000000381F 00000000361F00000000331F00000000 311F00000000000000000000341F0000 0000000000000000331F00000000311F 00000000301F00000000331F00000000