home *** CD-ROM | disk | FTP | other *** search
/ FreeWare Collection 3 / FreeSoftwareCollection3pd199x-jp.img / kxc / t_os / townsexp / nhslin / gdmpr011.bas < prev    next >
BASIC Source File  |  1980-01-02  |  4KB  |  113 lines

  1. 1000 '=***************************************************************=
  2. 1010 '                 TOWNS版 32768色
  3. 1020 '           グラフィック・デモ高速ラインルーチン版
  4. 1030 '       Programed by KXC U・K UOTA
  5. 1040 '          1990/01/21改定〔高速ラインルーチン版〕
  6. 1050 '=***************************************************************=
  7. 1060 :
  8. 1070 CLEAR ,,,10000,10000
  9. 1080 DEFLNG A-Z:DEFSNG P
  10. 1090 PAI=3.14159!:PIV=PAI/180
  11. 1100 WIDTH 80,25:SCREEN@ 1:CLS
  12. 1110 DIM X0(110),Y0(110)
  13. 1120 DIM X1(110),Y1(110)
  14. 1130 DIM X2(110),Y2(110)
  15. 1140 DIM X3(110),Y3(110)
  16. 1150 DIM X4(110),Y4(110)
  17. 1160 DIM X5(110),Y5(110)
  18. 1170 ADDR=0:LOADM "NHSLin.REX",ADDR
  19. 1180 :
  20. 1190 Y0=0:Y1=239:B=INT(255*RND)
  21. 1200 FOR X0=0 TO 319 STEP 8
  22. 1210   CALLM ADDR,X0,Y0,319-X0,Y1,B+X0*64
  23. 1220 NEXT 
  24. 1230 X0=0:X1=319
  25. 1240 FOR Y0=0 TO 239 STEP 8
  26. 1250   CALLM ADDR,X0,Y0,X1,239-Y0,B+X0*512
  27. 1260 NEXT
  28. 1270 :
  29. 1280 CLS
  30. 1290 X0=159:Y0=119
  31. 1300 FOR Y1=0 TO 239 STEP 22
  32. 1310   GR=(Y1 AND 31)*1024+15*32
  33. 1320   FOR X1=0 TO 319 STEP 44
  34. 1330     CALLM ADDR,X0,Y0,X1,Y1,(X1 AND 31)+GR
  35. 1340   NEXT
  36. 1350 NEXT
  37. 1360 :
  38. 1370 K=1
  39. 1380 H0=0:H1=60:H2=120:H3=180:H4=240:H5=300
  40. 1390 PRINT "少々お待ち下さい"
  41. 1400 FOR I=2 TO 109
  42. 1410   X0(I)=I*SIN(H0*PIV)+160:Y0(I)=I*COS(H0*PIV)+120
  43. 1420   X1(I)=I*SIN(H1*PIV)+160:Y1(I)=I*COS(H1*PIV)+120
  44. 1430   X2(I)=I*SIN(H2*PIV)+160:Y2(I)=I*COS(H2*PIV)+120
  45. 1440   X3(I)=I*SIN(H3*PIV)+160:Y3(I)=I*COS(H3*PIV)+120
  46. 1450   X4(I)=I*SIN(H4*PIV)+160:Y4(I)=I*COS(H4*PIV)+120
  47. 1460   X5(I)=I*SIN(H5*PIV)+160:Y5(I)=I*COS(H5*PIV)+120
  48. 1470   H0=H0+K:IF H0>=360 THEN H0=H0-360
  49. 1480   H1=H1+K:IF H1>=360 THEN H1=H1-360
  50. 1490   H2=H2+K:IF H2>=360 THEN H2=H2-360
  51. 1500   H3=H3+K:IF H3>=360 THEN H3=H3-360
  52. 1510   H4=H4+K:IF H4>=360 THEN H4=H4-360
  53. 1520   H5=H5+K:IF H5>=360 THEN H5=H5-360
  54. 1530 NEXT
  55. 1540 :
  56. 1550 CLS:GR=24*1024+24*32
  57. 1560 FOR I=109 TO 2 STEP -1
  58. 1570   COL=(I AND 31)+GR
  59. 1580   CALLM ADDR,X0(I),Y0(I),X2(I),Y2(I),COL
  60. 1590   CALLM ADDR,X2(I),Y2(I),X4(I),Y4(I),COL
  61. 1600   CALLM ADDR,X4(I),Y4(I),X0(I),Y0(I),COL
  62. 1610 NEXT
  63. 1620 :
  64. 1630 CLS:RB=INT(31*RND)*33
  65. 1640 FOR I=109 TO 2 STEP -1
  66. 1650   COL=RB+(I AND 31)*1024
  67. 1660   CALLM ADDR,X0(I),Y5(I),X1(I),Y4(I),COL
  68. 1670   CALLM ADDR,X1(I),Y4(I),X2(I),Y3(I),COL
  69. 1680   CALLM ADDR,X2(I),Y3(I),X3(I),Y2(I),COL
  70. 1690   CALLM ADDR,X3(I),Y2(I),X4(I),Y1(I),COL
  71. 1700   CALLM ADDR,X4(I),Y1(I),X5(I),Y0(I),COL
  72. 1710   CALLM ADDR,X5(I),Y0(I),X0(I),Y5(I),COL
  73. 1720 NEXT
  74. 1730 :
  75. 1740 CLS:GB=16*1024+16
  76. 1750 FOR I=109 TO 2 STEP -1
  77. 1760   COL=GB+(I AND 31)*32
  78. 1770   CALLM ADDR,X0(I),Y4(I),X3(I),Y1(I),COL
  79. 1780   CALLM ADDR,X3(I),Y1(I),X2(I),Y3(I),COL
  80. 1790   CALLM ADDR,X2(I),Y3(I),X5(I),Y0(I),COL
  81. 1800   CALLM ADDR,X5(I),Y0(I),X0(I),Y4(I),COL
  82. 1810 NEXT 
  83. 1820 :
  84. 1830 CLS:RB=20*32+INT(31*RND)
  85. 1840 FOR I=109 TO 2 STEP -1
  86. 1850   COL=RB+(I AND 31)*1024
  87. 1860   CALLM ADDR,X1(I),Y0(I),X3(I),Y3(I),COL
  88. 1870   CALLM ADDR,X3(I),Y3(I),X2(I),Y1(I),COL
  89. 1880   CALLM ADDR,X2(I),Y1(I),X1(I),Y0(I),COL
  90. 1890 NEXT
  91. 1900 :
  92. 1910 CLS:GR=5*32+10*1024
  93. 1920 FOR I=2 TO 109
  94. 1930   COL=(I AND 31)+GR
  95. 1940   CALLM ADDR,X0(I),Y1(I),X5(I),Y4(I),COL
  96. 1950   CALLM ADDR,X2(I),Y3(I),X3(I),Y2(I),COL
  97. 1960   CALLM ADDR,X4(I),Y5(I),X1(I),Y0(I),COL
  98. 1970 NEXT
  99. 1980 :
  100. 1990 CLS:GB=20*1024+16
  101. 2000 FOR I=2 TO 109
  102. 2010   COL=(I AND 31)*32+GB
  103. 2020   CALLM ADDR,X0(I),Y0(I),X1(I),Y2(I),COL
  104. 2030   CALLM ADDR,X1(I),Y2(I),X2(I),Y0(I),COL
  105. 2040   CALLM ADDR,X2(I),Y1(I),X1(I),Y2(I),COL
  106. 2050   CALLM ADDR,X1(I),Y2(I),X1(I),Y1(I),COL
  107. 2060 NEXT
  108. 2070 :
  109. 2080 K=K+1
  110. 2090 IF K=20 ELSE 1380
  111. 2100 PRINT "終了しました"
  112. 2110 END
  113.