home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 1 / FREEWARE.BIN / basic / fractal / frademo3.bas < prev    next >
BASIC Source File  |  1989-10-17  |  4KB  |  110 lines

  1. 100 '
  2. 110 ' F-BASIC386 SAMPLE PROGRAM % COPYRIGHT FUJITSU LIMITED 19890712
  3. 120 '
  4. 130 ' PUBLIC DOMAIN SOFTWARE by PRELUDE FMC(富士通マイコンクラブ)
  5. 140 '
  6. 150 ' ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  7. 160 ' ★ ソフト名:フラクタル・デモ PART3                    ★
  8. 170 ' ★ 登録名 :FRADEMO3.BAS            ★
  9. 180 ' ★ 登録者 :PRELUDE(佐々木裕一)             ★
  10. 190 ' ★  動作確認:FM-TOWNS F-BASIC386      ★
  11. 200 ' ★  備考  :このプログラムはビデオカード対応です。         ★
  12. 210 ' ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  13. 220 '
  14. 230 VIEW (0,0)-(319,239):'                                  Display area
  15. 240 WINDOW (0,0)-(319,239):'                                      Window
  16. 250 SCREEN@ 1:SIMPOSE OFF:'                                   Environment
  17. 260 COLOR 6,0,0,4:CLS
  18. 270 '
  19. 280 PRINT" 1,4 AUTOMATON規則1: Ai(n)=Ai-1(n-1)+Ai(n-1)"
  20. 290 PRINT" 2,5 AUTOMATON規則2: Ai(n)=Ai+1(n-1)+Ai(n-1)"
  21. 300 PRINT" 3,6 AUTOMATON規則3: Ai(n)=Ai-1(n-1)+Ai+1(n-1)"
  22. 310 PRINT" 7 終了します。"
  23. 320 INPUT" 選択=>";KY:ON KY GOSUB 340,340,340,340,340,340,650 : GOTO 260
  24. 330 '
  25. 340 SW=KY:CLS:COL=2:RANDOMIZE TIME:'                          Environment
  26. 350 DIM X(320),Y(320)
  27. 360 LINE (0,0)-(319,239),PSET,7,B:GOSUB *OPE
  28. 370 '
  29. 380 '              % % % % %  AUTOMATON (A) % % % % %
  30. 390 '
  31. 400 IF SW>3 GOTO 930
  32. 410 '
  33. 420 NX=317:NT=237:'                                            Parameters
  34. 430 FOR I=1 TO NX:X(I)=0
  35. 440 IF (I MOD 40)=0 THEN X(I)=RND*10 MOD COL
  36. 450 NEXT I
  37. 460 FOR I=1 TO NX:PSET(I,1),X(I)
  38. 470 NEXT I
  39. 480 '
  40. 490 FOR N=1 TO NT
  41. 500 Y(0)=(X(0)+X(NX)) MOD COL
  42. 510 PSET(1,N),Y(0)
  43. 520 FOR I=1 TO NX
  44. 530 D$=INKEY$:IF D$<>"" GOSUB *OPE
  45. 540 IF SW=1 THEN Y(I)=(X(I)+X(I-1)) MOD COL
  46. 550 IF SW=2 THEN Y(I)=(X(I)+X(I+1)) MOD COL
  47. 560 IF SW=3 THEN Y(I)=(X(I-1)+X(I+1)) MOD COL
  48. 570 PSET(I,N),Y(I)
  49. 580 NEXT I
  50. 590 FOR I=1 TO NX
  51. 600 X(I)=Y(I)
  52. 610 NEXT I
  53. 620 NEXT N
  54. 630 GOTO 430
  55. 640 '
  56. 650 END
  57. 660 '
  58. 670 *OPE: '                                                 Key interrupt
  59. 680 IF D$="0" THEN COL=COL+1:IF COL=9 THEN COL=2
  60. 690 IF D$="1" THEN SW=SW+1:IF SW=4 THEN SW=1
  61. 700 IF D$="C" THEN CLS 5:LINE (0,0)-(319,239),PSET,7,B
  62. 710 IF D$="E" THEN RUN 
  63. 720 IF D$="V" THEN GOSUB *VIDEO
  64. 730 IF D$="X" THEN RETURN 420
  65. 740 IF D$="Y" THEN RETURN 950
  66. 750 CLS 4:COLOR 6:LOCATE 0,1
  67. 760 PRINT" 色数=";COL
  68. 770 PRINT" 規則=";SW
  69. 780 PRINT" "
  70. 790 PRINT" 0:色数変更"
  71. 800 PRINT" 1:規則変更"
  72. 810 PRINT" C:画面消去"
  73. 820 PRINT" E:処理終了"
  74. 830 PRINT" V:録画(空白で戻る)"
  75. 840 PRINT" X:Aに戻る"
  76. 850 PRINT" Y:Bに戻る"
  77. 860 RETURN
  78. 870 '
  79. 880 *VIDEO
  80. 890 SIMPOSE ON 0
  81. 900 D$=INKEY$:IF D$="" GOTO 900 ELSE SIMPOSE OFF:RETURN
  82. 910 '
  83. 920 '
  84. 930 '              % % % % %  AUTOMATON (B)  % % % % %
  85. 940 '
  86. 950 NX=237:NT=317:IF SW>3 THEN SW=SW-3:'                       Parameters
  87. 960 '
  88. 970 FOR I=1 TO NX:X(I)=0
  89. 980 IF (I MOD 40)=0 THEN X(I)=RND*10 MOD COL
  90. 990 NEXT I
  91. 1000 FOR I=1 TO NX:PSET(1,I),X(I)
  92. 1010 NEXT I
  93. 1020 '
  94. 1030 FOR N=1 TO NT
  95. 1040 Y(0)=(X(0)+X(NX)) MOD COL
  96. 1050 PSET(N,1),Y(0)
  97. 1060 FOR I=1 TO NX
  98. 1070 D$=INKEY$:IF D$<>"" GOSUB *OPE
  99. 1080 IF SW=1 THEN Y(I)=(X(I)+X(I-1)) MOD COL
  100. 1090 IF SW=2 THEN Y(I)=(X(I)+X(I+1)) MOD COL
  101. 1100 IF SW=3 THEN Y(I)=(X(I-1)+X(I+1)) MOD COL
  102. 1110 PSET(N,I),Y(I)
  103. 1120 NEXT I
  104. 1130 FOR I=1 TO NX
  105. 1140 X(I)=Y(I)
  106. 1150 NEXT I
  107. 1160 NEXT N
  108. 1170 GOTO 970
  109. 1180 '
  110.