home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 1
/
FREEWARE.BIN
/
basic
/
fractal
/
frademo3.bas
< prev
next >
Wrap
BASIC Source File
|
1989-10-17
|
4KB
|
110 lines
100 '
110 ' F-BASIC386 SAMPLE PROGRAM % COPYRIGHT FUJITSU LIMITED 19890712
120 '
130 ' PUBLIC DOMAIN SOFTWARE by PRELUDE FMC(富士通マイコンクラブ)
140 '
150 ' ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
160 ' ★ ソフト名:フラクタル・デモ PART3 ★
170 ' ★ 登録名 :FRADEMO3.BAS ★
180 ' ★ 登録者 :PRELUDE(佐々木裕一) ★
190 ' ★ 動作確認:FM-TOWNS F-BASIC386 ★
200 ' ★ 備考 :このプログラムはビデオカード対応です。 ★
210 ' ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
220 '
230 VIEW (0,0)-(319,239):' Display area
240 WINDOW (0,0)-(319,239):' Window
250 SCREEN@ 1:SIMPOSE OFF:' Environment
260 COLOR 6,0,0,4:CLS
270 '
280 PRINT" 1,4 AUTOMATON規則1: Ai(n)=Ai-1(n-1)+Ai(n-1)"
290 PRINT" 2,5 AUTOMATON規則2: Ai(n)=Ai+1(n-1)+Ai(n-1)"
300 PRINT" 3,6 AUTOMATON規則3: Ai(n)=Ai-1(n-1)+Ai+1(n-1)"
310 PRINT" 7 終了します。"
320 INPUT" 選択=>";KY:ON KY GOSUB 340,340,340,340,340,340,650 : GOTO 260
330 '
340 SW=KY:CLS:COL=2:RANDOMIZE TIME:' Environment
350 DIM X(320),Y(320)
360 LINE (0,0)-(319,239),PSET,7,B:GOSUB *OPE
370 '
380 ' % % % % % AUTOMATON (A) % % % % %
390 '
400 IF SW>3 GOTO 930
410 '
420 NX=317:NT=237:' Parameters
430 FOR I=1 TO NX:X(I)=0
440 IF (I MOD 40)=0 THEN X(I)=RND*10 MOD COL
450 NEXT I
460 FOR I=1 TO NX:PSET(I,1),X(I)
470 NEXT I
480 '
490 FOR N=1 TO NT
500 Y(0)=(X(0)+X(NX)) MOD COL
510 PSET(1,N),Y(0)
520 FOR I=1 TO NX
530 D$=INKEY$:IF D$<>"" GOSUB *OPE
540 IF SW=1 THEN Y(I)=(X(I)+X(I-1)) MOD COL
550 IF SW=2 THEN Y(I)=(X(I)+X(I+1)) MOD COL
560 IF SW=3 THEN Y(I)=(X(I-1)+X(I+1)) MOD COL
570 PSET(I,N),Y(I)
580 NEXT I
590 FOR I=1 TO NX
600 X(I)=Y(I)
610 NEXT I
620 NEXT N
630 GOTO 430
640 '
650 END
660 '
670 *OPE: ' Key interrupt
680 IF D$="0" THEN COL=COL+1:IF COL=9 THEN COL=2
690 IF D$="1" THEN SW=SW+1:IF SW=4 THEN SW=1
700 IF D$="C" THEN CLS 5:LINE (0,0)-(319,239),PSET,7,B
710 IF D$="E" THEN RUN
720 IF D$="V" THEN GOSUB *VIDEO
730 IF D$="X" THEN RETURN 420
740 IF D$="Y" THEN RETURN 950
750 CLS 4:COLOR 6:LOCATE 0,1
760 PRINT" 色数=";COL
770 PRINT" 規則=";SW
780 PRINT" "
790 PRINT" 0:色数変更"
800 PRINT" 1:規則変更"
810 PRINT" C:画面消去"
820 PRINT" E:処理終了"
830 PRINT" V:録画(空白で戻る)"
840 PRINT" X:Aに戻る"
850 PRINT" Y:Bに戻る"
860 RETURN
870 '
880 *VIDEO
890 SIMPOSE ON 0
900 D$=INKEY$:IF D$="" GOTO 900 ELSE SIMPOSE OFF:RETURN
910 '
920 '
930 ' % % % % % AUTOMATON (B) % % % % %
940 '
950 NX=237:NT=317:IF SW>3 THEN SW=SW-3:' Parameters
960 '
970 FOR I=1 TO NX:X(I)=0
980 IF (I MOD 40)=0 THEN X(I)=RND*10 MOD COL
990 NEXT I
1000 FOR I=1 TO NX:PSET(1,I),X(I)
1010 NEXT I
1020 '
1030 FOR N=1 TO NT
1040 Y(0)=(X(0)+X(NX)) MOD COL
1050 PSET(N,1),Y(0)
1060 FOR I=1 TO NX
1070 D$=INKEY$:IF D$<>"" GOSUB *OPE
1080 IF SW=1 THEN Y(I)=(X(I)+X(I-1)) MOD COL
1090 IF SW=2 THEN Y(I)=(X(I)+X(I+1)) MOD COL
1100 IF SW=3 THEN Y(I)=(X(I-1)+X(I+1)) MOD COL
1110 PSET(N,I),Y(I)
1120 NEXT I
1130 FOR I=1 TO NX
1140 X(I)=Y(I)
1150 NEXT I
1160 NEXT N
1170 GOTO 970
1180 '