home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 3
/
FreeSoftwareCollection3pd199x-jp.img
/
kxc
/
t_os
/
townsexp
/
nhslin
/
gdmpr011.bas
< prev
next >
Wrap
BASIC Source File
|
1980-01-02
|
4KB
|
113 lines
1000 '=***************************************************************=
1010 ' TOWNS版 32768色
1020 ' グラフィック・デモ高速ラインルーチン版
1030 ' Programed by KXC U・K UOTA
1040 ' 1990/01/21改定〔高速ラインルーチン版〕
1050 '=***************************************************************=
1060 :
1070 CLEAR ,,,10000,10000
1080 DEFLNG A-Z:DEFSNG P
1090 PAI=3.14159!:PIV=PAI/180
1100 WIDTH 80,25:SCREEN@ 1:CLS
1110 DIM X0(110),Y0(110)
1120 DIM X1(110),Y1(110)
1130 DIM X2(110),Y2(110)
1140 DIM X3(110),Y3(110)
1150 DIM X4(110),Y4(110)
1160 DIM X5(110),Y5(110)
1170 ADDR=0:LOADM "NHSLin.REX",ADDR
1180 :
1190 Y0=0:Y1=239:B=INT(255*RND)
1200 FOR X0=0 TO 319 STEP 8
1210 CALLM ADDR,X0,Y0,319-X0,Y1,B+X0*64
1220 NEXT
1230 X0=0:X1=319
1240 FOR Y0=0 TO 239 STEP 8
1250 CALLM ADDR,X0,Y0,X1,239-Y0,B+X0*512
1260 NEXT
1270 :
1280 CLS
1290 X0=159:Y0=119
1300 FOR Y1=0 TO 239 STEP 22
1310 GR=(Y1 AND 31)*1024+15*32
1320 FOR X1=0 TO 319 STEP 44
1330 CALLM ADDR,X0,Y0,X1,Y1,(X1 AND 31)+GR
1340 NEXT
1350 NEXT
1360 :
1370 K=1
1380 H0=0:H1=60:H2=120:H3=180:H4=240:H5=300
1390 PRINT "少々お待ち下さい"
1400 FOR I=2 TO 109
1410 X0(I)=I*SIN(H0*PIV)+160:Y0(I)=I*COS(H0*PIV)+120
1420 X1(I)=I*SIN(H1*PIV)+160:Y1(I)=I*COS(H1*PIV)+120
1430 X2(I)=I*SIN(H2*PIV)+160:Y2(I)=I*COS(H2*PIV)+120
1440 X3(I)=I*SIN(H3*PIV)+160:Y3(I)=I*COS(H3*PIV)+120
1450 X4(I)=I*SIN(H4*PIV)+160:Y4(I)=I*COS(H4*PIV)+120
1460 X5(I)=I*SIN(H5*PIV)+160:Y5(I)=I*COS(H5*PIV)+120
1470 H0=H0+K:IF H0>=360 THEN H0=H0-360
1480 H1=H1+K:IF H1>=360 THEN H1=H1-360
1490 H2=H2+K:IF H2>=360 THEN H2=H2-360
1500 H3=H3+K:IF H3>=360 THEN H3=H3-360
1510 H4=H4+K:IF H4>=360 THEN H4=H4-360
1520 H5=H5+K:IF H5>=360 THEN H5=H5-360
1530 NEXT
1540 :
1550 CLS:GR=24*1024+24*32
1560 FOR I=109 TO 2 STEP -1
1570 COL=(I AND 31)+GR
1580 CALLM ADDR,X0(I),Y0(I),X2(I),Y2(I),COL
1590 CALLM ADDR,X2(I),Y2(I),X4(I),Y4(I),COL
1600 CALLM ADDR,X4(I),Y4(I),X0(I),Y0(I),COL
1610 NEXT
1620 :
1630 CLS:RB=INT(31*RND)*33
1640 FOR I=109 TO 2 STEP -1
1650 COL=RB+(I AND 31)*1024
1660 CALLM ADDR,X0(I),Y5(I),X1(I),Y4(I),COL
1670 CALLM ADDR,X1(I),Y4(I),X2(I),Y3(I),COL
1680 CALLM ADDR,X2(I),Y3(I),X3(I),Y2(I),COL
1690 CALLM ADDR,X3(I),Y2(I),X4(I),Y1(I),COL
1700 CALLM ADDR,X4(I),Y1(I),X5(I),Y0(I),COL
1710 CALLM ADDR,X5(I),Y0(I),X0(I),Y5(I),COL
1720 NEXT
1730 :
1740 CLS:GB=16*1024+16
1750 FOR I=109 TO 2 STEP -1
1760 COL=GB+(I AND 31)*32
1770 CALLM ADDR,X0(I),Y4(I),X3(I),Y1(I),COL
1780 CALLM ADDR,X3(I),Y1(I),X2(I),Y3(I),COL
1790 CALLM ADDR,X2(I),Y3(I),X5(I),Y0(I),COL
1800 CALLM ADDR,X5(I),Y0(I),X0(I),Y4(I),COL
1810 NEXT
1820 :
1830 CLS:RB=20*32+INT(31*RND)
1840 FOR I=109 TO 2 STEP -1
1850 COL=RB+(I AND 31)*1024
1860 CALLM ADDR,X1(I),Y0(I),X3(I),Y3(I),COL
1870 CALLM ADDR,X3(I),Y3(I),X2(I),Y1(I),COL
1880 CALLM ADDR,X2(I),Y1(I),X1(I),Y0(I),COL
1890 NEXT
1900 :
1910 CLS:GR=5*32+10*1024
1920 FOR I=2 TO 109
1930 COL=(I AND 31)+GR
1940 CALLM ADDR,X0(I),Y1(I),X5(I),Y4(I),COL
1950 CALLM ADDR,X2(I),Y3(I),X3(I),Y2(I),COL
1960 CALLM ADDR,X4(I),Y5(I),X1(I),Y0(I),COL
1970 NEXT
1980 :
1990 CLS:GB=20*1024+16
2000 FOR I=2 TO 109
2010 COL=(I AND 31)*32+GB
2020 CALLM ADDR,X0(I),Y0(I),X1(I),Y2(I),COL
2030 CALLM ADDR,X1(I),Y2(I),X2(I),Y0(I),COL
2040 CALLM ADDR,X2(I),Y1(I),X1(I),Y2(I),COL
2050 CALLM ADDR,X1(I),Y2(I),X1(I),Y1(I),COL
2060 NEXT
2070 :
2080 K=K+1
2090 IF K=20 ELSE 1380
2100 PRINT "終了しました"
2110 END