home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 3
/
FreeSoftwareCollection3pd199x-jp.img
/
oh_fm
/
space
/
momonger.bas
< prev
Wrap
BASIC Source File
|
1980-01-02
|
10KB
|
196 lines
1000 '‡‡‡‡‡‡ -S-P-A-C-E- も も ん が ぁ ‡‡‡‡‡‡
1010 '‡‡‡‡‡‡ PROGRAMMED BY SHINYA MUKAI. ‡‡‡‡‡‡
1020 '‡‡‡‡‡‡ (C)1990 COMTRONICS,ALL RIGHTS RESERVED. ‡‡‡‡‡‡
1030 CLEAR:DEFINT A-V,Y,Z:DIM SGR(12426),SDW(7051),PAT(256)
1040 TOP=120:PLAY OFF:COLOR 7,0:CLS
1050 SCREEN@ 0:DEF SPRITE 3:SCREEN@ 1:SPRITE ON:SPRITE SCREEN 1
1060 LOAD@"Q:\FJ\MSG\ETC\GR_F.SND",SGR
1070 W&=VARPTR(SGR(0)):POKE W&+24,2000,2
1080 LOAD@"Q:\FJ\MSG\EMOTION\DOWA_F.SND",SDW
1090 W&=VARPTR(SDW(0)):POKE W&+24,1900,2
1100 '背景
1110 PX=0:PASTEL 40:CIRCLE(0,120),72,7,1.7!,,,F
1120 LX=RND*5
1130 FOR I=0 TO LX
1140 LINE(0,PX+I)-(80,PX+I),AND,[I*50,0,I*50]
1150 LINE(0,PX+2*LX-I)-(80,PX+2*LX-I),AND,[I*50,0,I*50]
1160 NEXT
1170 PX=PX+2*LX:IF PX<240 THEN 1120
1180 FOR I=0 TO 8:CIRCLE(0,120),80-I,[240,100,200],1.7!,,,F,PASTEL:NEXT
1190 LINE(0,120)-(319,120),PSET,[180,100,180]
1200 FOR I=0 TO 140:FOR J=0 TO 200-I STEP 8
1210 PSET(RND*320,120+RND*I-I/2),[200-RND*I,200-I,200-RND*I]
1220 NEXT:NEXT
1230 *タイトル
1240 DEF SPRITE 99,0:REM CD PLAY 2
1250 FOR I=0 TO 15:LINE(90,I)-(170,I),PSET,[0,I*8+80,0]:NEXT
1260 SYMBOL(90,0),"ももんがぁ",1,1,[220,255,255],,,5
1270 FOR I=0 TO 4
1280 GET@A(90+I*16,0)-(90+I*16+15,15),PAT:DEF SPRITE 0,I*4,PAT,1
1290 DEF SPRITE 1,I*4,(220-I*50,20),I*4:SPRITE 0,I*4,1:SPRITE 3,I*4,1
1300 NEXT
1310 LINE(90,0)-(170,15),PSET,0,BF
1320 PLAY OFF:PLAY"T120V4O3@64{CDEFGAB>CDEFGAB>C}4"
1330 SYMBOL(80,70),"SPACE",2,.8!,6,,XOR,19
1340 FOR I=0 TO 140:FOR J=0 TO 4:SPRITE 6,J*4,0,1:NEXT:NEXT
1350 FOR I=0 TO 4:SPRITE 3,I*4,0:NEXT
1360 FOR I=0 TO 70:FOR J=0 TO 4:SPRITE 6,J*4,J-2,-1:NEXT:NEXT
1370 SYMBOL(95,180),"(C)1990 COMTRON",1,.5!,5,,XOR,1
1380 IF PTRIG(1)=0 THEN 1380
1390 SYMBOL(80,70),"SPACE",2,.8!,6,,XOR,19
1400 SYMBOL(95,180),"(C)1990 COMTRON",1,.5!,5,,XOR,1:REM CD PAUSE
1410 FOR I=0 TO 25:FOR J=0 TO 4:SPRITE 6,J*4,6*SIN(J),6*COS(J):NEXT:NEXT
1420 'キャラクター読み込み
1430 RESTORE 2240:DEF SPRITE 99,0
1440 FOR I=0 TO 7:FOR J=0 TO 63
1450 READ W&:IF W&=>32767 THEN W&=W&-65536
1460 PAT(J)=W&:NEXT:DEF SPRITE 0,I,PAT,0:NEXT
1470 DEF SPRITE 0,8,PAT,0
1480 'メイン ルーチン
1490 FOR I=4 TO 8:DEF SPRITE 1,I,(120,100),6:SPRITE 0,I,1:NEXT
1500 DEF SPRITE 1,0,(112,130),0,1,2:SPRITE 0,0,1
1510 DEF SPRITE 1,2,(128,130),2,1,2:SPRITE 0,2,1
1520 FOR I=0 TO 4:X(I)=1-2*RND:Y(I)=-1:Z(I)=I*4.2!:DM(I)=0:NEXT
1530 PLAY OFF:RESTORE 1870:P=10
1540 A$="T152%S4/4Q8@68%CC2"
1550 PLAY"V13O1L8"+A$,"V6O2L8Q8"+A$,"V4O5L8"+A$,"V10O3L16"+A$
1560 MISS=0:TIME$="00:00:00"
1570 FOR I=0 TO 4
1580 SP=I+4
1590 IF DM(I)<>0 THEN DM(I)=DM(I)-1:IF DM(I)=0 THEN 1700 ELSE 1620
1600 IF Z(I)=10 THEN PAT=6 ELSE IF Z(I)=16 THEN PAT=5 ELSE 1620
1610 SPRITE 1,SP,PAT
1620 SPRITE 6,SP,(X(I)+XI)*Z(I),Y(I)*Z(I)
1630 Z(I)=Z(I)+1
1640 IF DM(I)<>0 THEN 1720
1650 IF Z(I)<20 THEN 1720
1660 IF Y(I)<>0 THEN 1700
1670 AX=SPRITE(SP,6):IF AX<102 OR AX>140 THEN 1700
1680 IF F=1 THEN PCMPLAY SDW,127 ELSE PCMPLAY SGR,127
1690 MISS=MISS+1:DM(I)=10:SPRITE 1,SP,4:GOTO 1720
1700 X(I)=1-RND*2:Y(I)=1-RND*2:Z(I)=1:DM(I)=0
1710 DEF SPRITE 1,SP,(120+X(I)*20,120+20*Y(I)),7:SPRITE 0,SP,1
1720 NEXT
1730 IF MISS>2 THEN *ゲームオーバー
1740 IF PAD(1)=3 AND F<>1 THEN XI=-.3!:F=1:GOSUB 1830:GOTO 1770
1750 IF PAD(1)=7 AND F<>2 THEN XI=.3!:F=2:GOSUB 1850:GOTO 1770
1760 IF PAD(1)=0 THEN XI=0:F=0
1770 PC=PLAY(1):IF PC=P THEN 1570 ELSE P=PC
1780 READ P1$,P2$,P3$,P4$
1790 IF P1$="L" THEN RESTORE 1870:GOTO 1780
1800 PLAY P1$,P2$,P3$,P4$
1810 GOTO 1570
1820 '右ももんがぁ表示
1830 SPRITE 3,0,2:SPRITE 1,0,2:SPRITE 3,2,2:SPRITE 1,2,0:RETURN
1840 '左ももんがぁ表示
1850 SPRITE 3,0,0:SPRITE 1,0,0:SPRITE 3,2,0:SPRITE 1,2,2:RETURN
1860 'BGMデータ ( TITLE / CHAKA POKO )
1870 DATA <@123C>@121C<@123C>@121C<@123C>L16@121C<@123CRC>L8@121C
1880 DATA @113>CG<G>GCL16<BA8AL8G
1890 DATA @100CGFEG8.F8.G
1900 DATA V10@59%LR8CCCCCCV2@68%RG2
1910 DATA <@123C>@121C<@123C>@121C<@123C>L16@121C<@123CRC>L8@121C
1920 DATA E>A<A>A<AL16GA8AL8B
1930 DATA L16GEB8BEGEL8BAL16CDEFL8
1940 DATA V10@59R8%RCCCCCCV2@68%LA2
1950 DATA L,O,O,P
1960 *ゲームオーバー
1970 TM$=RIGHT$(TIME$,5)
1980 SYMBOL(100,50),"TIME "+TM$,1,1.5!,[250,130,130],,XOR,17
1990 IF PLAY(2)=-1 THEN 1990
2000 PLAY OFF
2010 PLAY"T120V12@6O4L16","T120V10@114O3L16","T120V6@126O4L8"
2020 PLAY"EFGRFRDERCDRC4","CC8CE8E8DD8DC4","R%RC<R%LGR%RG>%CC4"
2030 FOR I=0 TO 23:FOR J=0 TO 1
2040 SYMBOL(I*4,80),"GAME OVER",1,1,6,,XOR,,23-I
2050 NEXT:NEXT
2060 SYMBOL(92,80),"GAME OVER",1,1,6,,XOR,1
2070 LAP=VAL(RIGHT$(TM$,2))+VAL(LEFT$(TM$,2))*60
2080 IF LAP<TOP THEN 2180
2090 TOP=LAP
2100 IF PLAY(0)=-1 THEN 2100
2110 A$="T150V10@78O4L16":PLAY OFF:PLAY A$,A$,A$,A$
2120 PLAY"G8.GGGA2.","%LC8.CCCD2.","%RE8.EEEF+2.","V5O3@27{CCCCCC}4.A2."
2130 WHILE PTRIG(1)=0
2140 FOR I=1 TO 2
2150 SYMBOL(93,175),"SET A NEW RECORD!",1,1,[250,250,180],,XOR,1
2160 NEXT
2170 WEND
2180 TRG=PTRIG(1):IF TRG=0 THEN 2180
2190 SYMBOL(92,80),"GAME OVER",1,1,6,,XOR,1
2200 SYMBOL(100,50),"TIME "+TM$,1,1.5!,[250,130,130],,XOR,17
2210 IF TRG=4 THEN 1490
2220 FOR I=0 TO 8:DEF SPRITE 1,I,(0,0),I:NEXT:GOTO *タイトル
2230 REM SPRITE(1) No00 ももんがぁ左上
2240 DATA &H0000, &H0000, &HDDD5, &H000D, &H0000, &H0000, &HDDD0, &HDDDD
2250 DATA &H0000, &H0000, &HDD00, &HDDDD, &H0000, &H0000, &HD500, &HDDDD
2260 DATA &H0000, &H0000, &HDD00, &HDDDD, &H0000, &HDD00, &HDDD5, &HDDDD
2270 DATA &H0000, &HDDDD, &HDDDD, &HDDDD, &H0000, &H5DD5, &HDDDD, &HDDDD
2280 DATA &H0000, &H5550, &H555D, &H5555, &H0000, &H0000, &HDDD5, &HDDDD
2290 DATA &HD700, &H5DDD, &HDDDD, &HDDDD, &HD000, &H5DDD, &HDDDD, &HDDDD
2300 DATA &HD000, &HD5DD, &HDDDD, &HDDDD, &H0000, &HD5DD, &HDDDD, &HDDDD
2310 DATA &H0000, &HDD5D, &HDDDD, &HDDDD, &H0000, &HDD00, &HDDDD, &HDDDD
2320 REM SPRITE(1) No01 ももんがぁ左下
2330 DATA &H0000, &HDD00, &HDDDD, &HDDDD, &H0000, &HDDD0, &HDDDD, &HDDDD
2340 DATA &H0000, &HDDD0, &HDDDD, &HDDDD, &H0000, &HDDD0, &HDDDD, &HDDDD
2350 DATA &H0000, &HDDD5, &HDDDD, &HDDDD, &H0000, &HDDD5, &HDDDD, &HDDDD
2360 DATA &HD000, &HDDD5, &HDDDD, &HDDDD, &HDD00, &HDDD5, &HFDDD, &HFFFF
2370 DATA &HDD00, &HDDD5, &HFDDD, &HFFFF, &HDDD0, &HDDD5, &HFFFD, &HFFFF
2380 DATA &HDDD0, &HDDD5, &HFFFF, &HFFFF, &HDDD0, &HDDD5, &H00FF, &H0000
2390 DATA &HDDD0, &HDDD0, &H000F, &H0000, &H0DD7, &H0DD0, &H0000, &H0000
2400 DATA &H0070, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2410 REM SPRITE(1) No02 ももんがぁ右上
2420 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2430 DATA &H00DD, &H0000, &H0000, &H0000, &H0DDD, &H0000, &H0000, &H0000
2440 DATA &HDDDD, &H0000, &H0000, &H0000, &HD1DD, &H0000, &H0000, &H0000
2450 DATA &HD1DD, &H0000, &H0000, &H0070, &HDDDD, &H000D, &HDDD0, &H000D
2460 DATA &H5DDD, &HD005, &HDDDD, &H000D, &HD555, &HDDDD, &HDDDD, &H0000
2470 DATA &HDDDD, &HDDDD, &HFFDD, &H0000, &HDDDD, &HDDDD, &H0FDD, &H0000
2480 DATA &HDDDD, &HDDDD, &H0FFD, &H0000, &HDDDD, &HDDDD, &H0FFD, &H0000
2490 DATA &HDDDD, &HDDDD, &H0FFF, &H0000, &HDDDD, &HDDDD, &H0FFF, &H0000
2500 REM SPRITE(1) No03 ももんがぁ右下
2510 DATA &HDDDD, &HDDDD, &H0FFD, &H0000, &HDDDD, &HDDDD, &H0FDD, &H0000
2520 DATA &HDDDD, &HDDDD, &H0DDD, &H0000, &HDDDD, &HDDDD, &HDDDD, &H0000
2530 DATA &HDDDD, &HDDDD, &HDDDD, &H000D, &HDDDD, &HDDDD, &HDDDD, &H00DD
2540 DATA &HDDDD, &HDDDD, &HDDDD, &H0DDD, &HDDDD, &HDDDD, &HDDDD, &H7DDD
2550 DATA &HFFFF, &HDDDF, &HDDDD, &H0DDD, &HFFFF, &HFFFF, &HFFFF, &H70FF
2560 DATA &H000F, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2570 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2580 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2590 REM SPRITE(1) No04 砕けた岩
2600 DATA &H000A, &HAA00, &H0002, &H222A, &H0028, &H2220, &HA002, &H222A
2610 DATA &H0000, &H2200, &H2002, &H2822, &H0000, &H2000, &H0002, &H0822
2620 DATA &H00AA, &H0000, &H0000, &H0220, &H0222, &H2AA0, &H2A00, &H0000
2630 DATA &H0222, &H82A0, &H8202, &H0000, &H0820, &H2220, &H0000, &H22A0
2640 DATA &H0000, &H0000, &H0000, &H8000, &H0000, &H0000, &H002A, &H0020
2650 DATA &H0000, &H0000, &H0000, &H0080, &H2A00, &H0000, &H0000, &H0000
2660 DATA &H8200, &HA000, &H002A, &H02A0, &H000A, &HA000, &H0222, &H0820
2670 DATA &H0082, &H2000, &H0882, &H0000, &H0000, &H0000, &H0822, &H0000
2680 REM SPRITE(1) No05 岩(大)
2690 DATA &H0000, &H2222, &H2222, &H0002, &HA000, &H2222, &H222A, &H0022
2700 DATA &H2A00, &HA222, &H8822, &H0088, &H2AA0, &H2A22, &H8222, &H0088
2710 DATA &H22AA, &H2222, &H2222, &H0888, &H2AAA, &H2222, &H2222, &H2222
2720 DATA &HA222, &H222A, &H2222, &H2222, &H2222, &H2222, &H2222, &H2888
2730 DATA &H2AA2, &H2222, &H8222, &H2288, &H2222, &H2222, &H8222, &H2288
2740 DATA &H2220, &H2222, &H8822, &H2228, &H2220, &H2882, &H8882, &H0288
2750 DATA &H2220, &H2288, &H8882, &H0000, &H8200, &H2288, &H8822, &H0000
2760 DATA &H8000, &H2228, &H0222, &H0000, &H0000, &H2228, &H0022, &H0000
2770 REM SPRITE(1) No06 岩(中)
2780 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2790 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H2200, &H02A2, &H0000
2800 DATA &H0000, &H22A0, &H882A, &H0000, &H0000, &HA22A, &H8222, &H0000
2810 DATA &HA000, &H22AA, &H2222, &H0002, &H2000, &H2222, &H2222, &H0002
2820 DATA &H0000, &H222A, &H8822, &H0002, &H2000, &H2222, &H2882, &H0002
2830 DATA &H2000, &H2222, &H0882, &H0000, &H0000, &H2822, &H0088, &H0000
2840 DATA &H0000, &H2880, &H0002, &H0000, &H0000, &H2280, &H0000, &H0000
2850 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2860 REM SPRITE(1) No07 岩(小)
2870 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2880 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2890 DATA &H0000, &H2200, &H0002, &H0000, &H0000, &HA2A0, &H0008, &H0000
2900 DATA &H0000, &H22A0, &H0022, &H0000, &H0000, &H8220, &H0022, &H0000
2910 DATA &H0000, &H22A0, &H0028, &H0000, &H0000, &H2820, &H0000, &H0000
2920 DATA &H0000, &H0200, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2930 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000
2940 DATA &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000, &H0000