グラスゴー コーマ スケール
SET WINDOW 0,500,0,500
CLEAR
10 PLOT TEXT ,AT 50,450 : "*開眼について"
PLOT TEXT ,AT 50,400 : "1自発的に開眼する"
PLOT TEXT ,AT 50,350 : "2呼びかけで開眼する"
PLOT TEXT ,AT 50,300 : "3痛み刺激を与えると開眼する"
PLOT TEXT ,AT 50,250 : "4開眼しない"
20 INPUT PROMPT "該当する番号を入力する":a
IF a=1 THEN
LET m=4
elseif a=2 THEN
LET m=3
ELSEIF a=3 THEN
LET m=2
ELSEIF a=4 THEN
LET m=1
ELSE
GOTO 20
END IF
CLEAR
30 PLOT TEXT ,AT 50,450 : "*言語反応について"
PLOT TEXT ,AT 50,400 : "1見当識の保たれた会話"
PLOT TEXT ,AT 50,350 : "2会話に混乱がある"
PLOT TEXT ,AT 50,300 : "3混乱した単語のみ"
PLOT TEXT ,AT 50,250 : "4理解不能の音声のみ"
PLOT TEXT ,AT 50,200 : "5なし"
40 INPUT PROMPT "該当する番号を入力する":a
IF a=1 THEN
LET n=5
elseif a=2 THEN
LET n=4
ELSEIF a=3 THEN
LET n=3
ELSEIF a=4 THEN
LET n=2
ELSEIF a=5 THEN
LET n=1
ELSE
GOTO 40
END IF
clear
50 PLOT TEXT ,AT 50,450 : "*運動反応について"
PLOT TEXT ,AT 50,400 : "1命令に従う"
PLOT TEXT ,AT 50,350 : "2合目的な運動をする"
PLOT TEXT ,AT 50,300 : "3逃避反応としての運動"
PLOT TEXT ,AT 50,250 : "4異常な屈曲反応"
PLOT TEXT ,AT 50,200 : "5伸展反応"
PLOT TEXT ,AT 50,150 : "6全く動かない"
60 INPUT PROMPT "該当する番号を入力する":a
IF a=1 THEN
LET o=6
elseif a=2 THEN
LET o=5
ELSEIF a=3 THEN
LET o=4
ELSEIF a=4 THEN
LET o=3
ELSEIF a=5 THEN
LET o=2
ELSEIF a=6THEN
LET o=1
ELSE
GOTO 60
END IF
CLEAR
LET s=m+n+o
LET m$=STR$(m)
LET n$=STR$(n)
LET o$=STR$(o)
LET s$=STR$(s)
PLOT TEXT ,AT 50,350 : "開眼は"+m$+"点,"+"言語反応は"+n$+"点,"+"運動反応は"+o$+"点"
PLOT TEXT ,AT 50,300 : "合計点は"&s$&"点"
PLOT TEXT ,AT 50,250 : "15点は正常 8点以下は重症 3点は深昏睡"
200 END
職業適性
10 INPUT PROMPT "やりがいのある仕事がしたい。YESは1。NOは0。":a
IF a=1 THEN
GOTO 20
ELSE
GOTO 50
END IF
20 INPUT PROMPT "パソコンを自由に使える。YESは1。NOは0。":a
IF a=1 THEN
GOTO 30
ELSE
GOTO 50
END IF
30 INPUT PROMPT "美的なセンスがある。YESは1。NOは0。":a
IF a=1 THEN
GOTO 40
ELSE
GOTO 70
END IF
40 PRINT "ウェブデザイナーを目指そう。"
GOTO 200
50 INPUT PROMPT "収入はできるだけ多い方がよい。YESは1。NOは0。":a
IF a=1 THEN
GOTO 60
ELSE
GOTO 90
END IF
60 INPUT PROMPT "体だけは丈夫である。YESは1。NOは0。":a
IF a=1 THEN
GOTO 70
ELSE
GOTO 100
END IF
70 INPUT PROMPT "結構強引な性格である。YESは1。NOは0。":a
IF a=1 THEN
GOTO 80
ELSE
GOTO 110
END IF
80 PRINT "第一線の営業マンにチャレンジしよう。"
GOTO 200
90 PRINT "フリーターで自由に生きよう。"
GOTO 200
100 PRINT "各種公務員を目指そう。"
GOTO 200
110 PRINT "福祉関係の仕事を目指そう。"
200 END
◎組み合わせの例
10 SET WINDOW 0,500,0,500
OPTION ANGLE DEGREES
SET TEXT COLOR 5
SET TEXT ANGLE 70
SET TEXT FONT "ヒラギノ明朝 Pro",40
PLOT TEXT ,AT 50,200 : "川"
PLOT TEXT ,AT 150,150 : "川"
PLOT TEXT ,AT 250,100 : "川"
PLOT TEXT ,AT 350,80 : "川"
PLOT TEXT ,AT 450,50 : "川"
SET TEXT COLOR 2
SET TEXT ANGLE 0
SET TEXT FONT "游ゴシック Light",30
PLOT TEXT ,AT 50,350 : "雨"
PLOT TEXT ,AT 80,250 : "雨"
PLOT TEXT ,AT 250,450 : "雨"
PLOT TEXT ,AT 450,150 : "雨"
SET TEXT COLOR 255
SET TEXT ANGLE 300
SET TEXT FONT "クレー",150
PLOT TEXT ,AT 150,300 : "風"
END
月齢
DECLARE EXTERNAL PICTURE moon
OPTION ANGLE DEGREES
LET m=0
20 SET WINDOW 0,300,0,300
DATA 0,5,10,15,25,40,80,1000,1900,1920,1930,1960,1980,1990,2000,2000,2010,2020,2030,2040,2070,3000,-80,-40,-25,-15,-10,-5,0
READ c
LET m=m+1
IF m= 29 THEN goto 400
FOR ti=1 TO 1000000
NEXT ti
SET AREA COLOR 1
PLOT AREA: 0,0;300,0 ;300,300;0,300
IF c>1000 THEN GO TO 100
IF c>2000 THEN GO TO 200
IF c<0 THEN GO TO 300
GOTO 80
80 DRAW moon(c)WITH ROTATE(0)*SCALE(1)*SHIFT(0,0)
GOTO 20
100 LET c=c-1000
DRAW moon2(c)WITH ROTATE(0)*SCALE(1)*SHIFT(0,0)
GOTO 20
200 LET c=c-2000
DRAW moon2(c) WITH ROTATE(180)*SCALE(1)*SHIFT(0,0)
GOTO 20
300 DRAW moon(c) WITH ROTATE(0)*SCALE(1)*SHIFT(0,0)
GOTO 20
400 RESTORE
LET m=0
GOTO 20
END
EXTERNAL PICTURE moon(c)
SET AREA COLOR 1
PLOT AREA: 0,0;300,0 ;300,300;0,300
SET COLOR 1
SET LINE WIDTH 150
DRAW circle WITH SCALE (70)*SHIFT (150,150)
REM SET AREA STYLE "HATCH"
REM SET AREA STYLE INDEX 5
SET COLOR "yellow"
DRAW disk WITH SCALE (49)*SHIFT (150,150)
REM SET AREA STYLE "SOLID"
SET COLOR 1
DRAW disk WITH SCALE (SQR(c^2+50^2))*SHIFT (150-c,150)
END PICTURE
EXTERNAL PICTURE moon2(c)
LET c=c-1000
SET COLOR 1
DRAW disk WITH SCALE (50)*SHIFT (150,150)
SET COLOR "yellow"
DRAW disk WITH SCALE (SQR(c^2+50^2))*SHIFT (150-c,150)
SET COLOR 1
SET LINE WIDTH 150
DRAW circle WITH SCALE (86)*SHIFT (150,150)
PLOT AREA:0,300;0,200;300,200;300,300
PLOT AREA:0,100;0,0;300,0;300,100
PLOT AREA:0,300;0,0;80,0;80,300
PLOT AREA:220,300;220,0;300,0;300,300
END PICTURE
サインとコサインのカーブ
10 OPTION ANGLE DEGREES
SET WINDOW 0 , 360 , 0 , 360
FOR d=0 TO 360
SET POINT STYLE 1
PLOT POINTS : d,180
LET y1=SIN(d)*100
LET y12=SIN(d+1)*100
PLOT LINES: d, 180+y1;d+1,180+y12
LET y2=cos(d)*100
LET y22=COS(d+1)*100
PLOT lineS: d, 180+y2;d+1,180+y22
next d
END
ランダム関数を使う
100 EXTERNAL PICTURE number
外部絵定義によって同じ図形を描く
100 EXTERNAL PICTURE number
月齢
増殖
5 REM life game by HAJIME HIRAO 2006
FOR d=30 TO 120 STEP 10
clear
8 option base 0
set window 0,200,0,200
10 LET px=0
LET py=0
LET t=0
20 print "LlFE"
40 DIM a(100,100),b$(100)
45 FOR y = 2 TO 99
FOR x = 2 TO 99
LET a(x,y) = 0
next x
next y
50 LET h = 1
print "絵の大きさは?(1以上)"
LET sc=2
60 print "Enter a pattern(type end when finished):"
70 LET b$(h)="random"
75 IF b$(h) = "random" THEN GOTO 900
80 if b$(h) = "end" then
LET h = h-1
goto 120
END IF
90 IF LEN(b$(h)) > w THEN LET w = LEN(b$(h))
100 LET h = h+1
110 GOTO 70
120 LET xmin = int(50-w/2)
LET ymin = int(50-h/2)
LET xmax = xmin+w
LET ymax = ymin+h
130 FOR y = 1 TO h
FOR x = 1 TO w
140 IF b$(y)(x:x+1-1) = "." THEN GOTO 160
150 LET a(x+xmin,y+ymin) = 1
160 next x
NEXT y
170 LET right = 1
LET left = 100
LET top = 100
LET bottom = 1
180 FOR y = ymin TO ymax
FOR x = xmin TO xmax
190 IF a(x,y) = 11 THEN
LET a(x,y) = 1
if a(x,y) = 10 then LET a(x,y) = 0
END IF
200 IF a(x,y) = 1 THEN
gosub 600
goto 220
END IF
210 gosub 620
goto 260
220 IF x > right THEN LET right = x
230 IF x < left THEN LET left = x
240 IF y < top THEN LET top = y
250 IF y > bottom THEN LET bottom = y
260 next x
GOSUB 700
NEXT y
270 REM for y = ymax+1 to 40
REM print
REM next y
280 PRINT "LIFE";d;"GENERATION:";t
282 IF t=400 THEN GOTO 1000
285 REM WAIT DELAY .001
LET py=0+t/4
290 LET xmin = left
LET ymin = top
LET xmax = right
LET ymax = bottom
300 if xmin < 3 then LET xmin = 3
310 IF ymin < 3 THEN LET ymin = 3
320 if xmax > 98 then LET xmax = 98
330 if ymax > 98 then LET ymax = 98
340 LET t = t+1
LET xmin = xmin-1
LET ymin = ymin-1
LET xmax = xmax+1
LET ymax = ymax+1
350 for y = ymin to ymax
for x = xmin to xmax
360 LET nbrs = a(x-1,y-1)+a(x,y-1)+a(x+1,y-1)+a(x-1,y)
370 LET nbrs = INT(nbrs/10)
380 LET nbrs = nbrs+a(x+1,y)+a(x-1,y+1)+a(x,y+1)+a(x+1,y+1)
390 LET nbrs = nbrs-10*INT(nbrs/10)
400 LET a(x,y) = a(x,y)-10*INT(a(x,y)/10)
410 LET a(x,y) = 10*a(x,y)
420 IF nbrs = 3 THEN GOTO 450
430 IF nbrs <> 2 THEN GOTO 460
440 if a(x,y) <> 10 then goto 460
450 LET a(x,y) = a(x,y)+1
460 next x
NEXT y
470 GOTO 180
600 if sc=1 then goto 605
SET POINT STYLE 3
GOTO 610
605 set point style 1
610 SET POINT COLOR t
plot points : px,py
LET px = px+sc
return
620 if sc=1 then goto 625
set point style 3
GOTO 630
625 set point style 1
630 REM set point color 0
REM plot points : px,py
LET px = px+sc
return
700 LET py = py+sc
LET px = 0
return
900 rem ramdomize
910 REM print "Enter density:"
920 REM LET d=38
930 for y = 2 to 99
for x = 2 to 99
935 IF y < 8 THEN
LET a(x,y) = 0
ELSE
GOTO 950
END IF
940 IF RND*(d+100) < d THEN LET a(x,y) = 1
950 next x
next y
960 LET xmin = 3
LET ymin = 3
LET xmax = 98
LET ymax = 98
970 GOTO 180
1000 NEXT d
1100 GOTO 5
END
渦巻き
10 SET WINDOW -2,2,2,-2
20 SET POINT STYLE 1
30 OPTION ANGLE DEGREES
40 FOR t=0 TO 360 STEP 6
LET x=SIN (t)
LET y=SIN(t)/3+COS (t)/3
SET COLOR 1
DRAW disk WITH SCALE(0.01)*SHIFT(x,y)
LET x=SIN (t+2)/2
LET y=SIN(t-2)/4+COS (t-2)/4
SET COLOR 1
DRAW disk WITH SCALE(0.01)*SHIFT(x,y+0.2)
LET x=SIN (t+4)/3
LET y=SIN(t-4)/5+COS (t-4)/5
SET COLOR 1
DRAW disk WITH SCALE(0.01)*SHIFT(x,y+0.4)
LET x=SIN (t)/4
LET y=SIN(t)/3+COS (t)/3
SET COLOR 1
DRAW disk WITH SCALE(0.01)*SHIFT(x,y+0.6)
LET x=SIN (t)/5
LET y=SIN(t)/3+COS (t)/3
SET COLOR 1
DRAW disk WITH SCALE(0.01)*SHIFT(x,y+0.8)
LET x=SIN (t)/6
LET y=SIN(t)/3+COS (t)/3
SET COLOR 1
DRAW disk WITH SCALE(0.01)*SHIFT(x,y+1)
100 WAIT DELAY 0.1
110 CLEAR
120 NEXT t
130 GOTO 10
500 END
細菌増殖
5 SET WINDOW 0,300,0,300
LET p1=INT((20)*RND)+150
LET q1=INT((20)*RND)+150
LET p2=INT((40)*RND)+150
LET q2=INT((40)*RND)+150
LET p3=INT((60)*RND)+150
LET q3=INT((60)*RND)+150
LET p4=-INT((80)*RND)+150
LET q4=-INT((80)*RND)+150
LET p5=-INT((100)*RND)+150
LET q5=-INT((100)*RND)+150
LET p6=-INT((120)*RND)+150
LET q6=-INT((120)*RND)+150
10 FOR e=0 TO 80
LET ex=e
DRAW circle WITH SCALE(150)*SHIFT(150,150)
50 LET x1=e+INT(10*RND)
SET AREA COLOR x1
DRAW disk WITH SCALE(x1)*SHIFT(p1,q1)
60 LET x2=e+INT(10*RND)
SET AREA COLOR x2
DRAW disk WITH SCALE(x2)*SHIFT(p2,q2)
70 LET x3=e+INT(10*RND)
SET AREA COLOR x3
DRAW disk WITH SCALE(x3)*SHIFT(p3,q3)
80 LET x4=e+INT(10*RND)
SET AREA COLOR x4
DRAW disk WITH SCALE(x4)*SHIFT(p4,q4)
90 LET x5=e+INT(10*RND)
SET AREA COLOR x5
DRAW disk WITH SCALE(x5)*SHIFT(p5,q5)
100 LET x6=e+INT(10*RND)
SET AREA COLOR x6
DRAW disk WITH SCALE(x6)*SHIFT(p6,q6)
110 FOR k=1 TO 1500000
NEXT k
clear
200 NEXT e
210 GOTO 10
END
メタモルフォーゼ
5 SET WINDOW 0,300,300,0
LET t = 50
LET count = 100
LET num = 0
DIM POSX(count)
DIM POSY(count)
DIM SCALE(count)
DIM COLOR(count)
10 FOR i=1 TO count
LET POSX(i) = INT(300*RND)
LET POSY(i) = INT(300*RND)
LET SCALE(i) = INT(5*RND+1)
NEXT i
20 FOR i=1 TO 1000000
NEXT i
SET AREA COLOR 0
PLOT AREA : 0,0;300,0;300,300;0,300;0,0
30 FOR ti=1 TO count
40 IF POSX(ti) = 150 THEN
ELSE
IF POSX(ti) < 150 THEN
LET POSX(ti) = POSX(ti) + (150 - POSX(ti)) / t*INT(30*RND)
ELSE
LET POSX(ti) = POSX(ti) - (POSX(ti) - 150) / t*INT(100*RND)
END IF
END IF
50 IF POSY(ti) = 150 THEN
ELSE
IF POSY(ti) < 150 THEN
LET POSY(ti) = POSY(ti) + (150 - POSY(ti)) / t*INT(50*RND)
ELSE
LET POSY(ti) = POSY(ti) - (POSY(ti) - 150) / t*INT(80*RND)
END IF
END IF
60 SET AREA COLOR 1
DRAW disk WITH SCALE(SCALE(ti))*SHIFT(POSX(ti),POSY(ti))
70 IF POSX(ti) > 149.5 AND POSX(ti) < 150.5 THEN
IF POSY(ti) > 149.5 AND POSY(ti) < 150.5 THEN
LET num = num + 1
END IF
END IF
80 NEXT ti
GOTO 10
END
赤い三角形
10 SET WINDOW 0,400,400,0
20 SET AREA COLOR 4
30 PLOT AREA: 200,100;100,300;300,300
END
リモコンロボット i j k l m のキーで操作
10 SET WINDOW 0,400,400,0
30 SET AREA COLOR 4
PLOT AREA: 165 , 65 ; 235 , 65 ; 235 , 75; 165, 75;165 , 65
SET AREA COLOR 6
PLOT AREA: 165 , 228 ; 235 , 228 ; 235, 240; 165, 240;165 , 228
DRAW disk WITH SCALE(10)*SHIFT(148,235)
DRAW disk WITH SCALE(10)*SHIFT(252,235)
!kao
SET AREA COLOR 6
PLOT AREA: 165 , 125 ; 235 , 125 ; 235 , 130; 165, 130;165 , 125
SET AREA COLOR 2
PLOT AREA: 140 , 155 ; 260 , 155 ; 260, 200; 140, 200;140 , 155
SET AREA COLOR 6
PLOT AREA: 145 , 75 ; 255 , 75 ; 255 ,140; 145, 140;145 , 75
SET AREA COLOR 4
PLOT AREA: 140 , 90 ; 145 , 90 ; 145 , 130; 140, 130;140 , 90
PLOT AREA: 255 , 90 ; 260 , 90 ; 260 , 130; 255, 130;255 , 90
SET AREA COLOR 4
PLOT AREA: 155 , 140 ; 245 , 140 ; 245, 145; 155, 145;155 , 140
SET AREA COLOR 4
PLOT AREA: 130 , 145 ; 270 , 145 ; 270, 255; 130, 255;130 , 145
SET AREA COLOR 4
PLOT AREA: 80 , 150 ; 125 , 150 ; 125, 180; 90, 180;80 , 150
SET AREA COLOR 6
PLOT AREA: 95 , 180 ; 120 , 180 ; 120, 200; 95, 200;95 , 180
SET AREA COLOR 4
PLOT AREA: 90 , 200 ; 125 , 200 ; 125, 220; 90, 220;90 , 200
SET AREA COLOR 6
PLOT AREA: 95 , 220 ; 120 , 220 ; 120, 240; 95, 240;95 , 220
SET AREA COLOR 4
PLOT AREA: 90 , 240 ; 125 , 240 ; 125, 275; 90, 275;90 , 240
PLOT AREA: 85 , 245 ; 90 , 245 ; 90, 255; 85, 255;85 , 245
PLOT AREA: 125 , 155 ; 130 , 155 ; 130, 175; 125, 175;125 , 155
SET AREA COLOR 4
PLOT AREA: 275, 150 ; 320, 150 ; 310, 180; 275, 180;275, 150
SET AREA COLOR 6
PLOT AREA: 280, 180 ; 305, 180 ; 305, 200; 280, 200;280, 180
SET AREA COLOR 4
PLOT AREA: 275, 200 ; 310, 200 ; 310, 220; 275, 220;275, 200
SET AREA COLOR 6
PLOT AREA: 280, 220 ; 305, 220 ; 305, 240; 280, 240;280, 220
SET AREA COLOR 4
PLOT AREA: 275, 240 ; 310, 240 ; 310, 275; 275, 275;275, 240
PLOT AREA: 310, 245 ; 315, 245 ; 315, 255; 310, 255;310, 245
PLOT AREA: 270, 155 ; 275, 155 ; 275, 175; 270, 175;270, 155
SET AREA COLOR 6
PLOT AREA: 140 , 255 ; 190 , 255 ; 190, 290; 145, 290;140 , 255
SET AREA COLOR 4
PLOT AREA: 140 , 290 ; 195 , 290 ; 195, 310; 140, 310;140 , 290
SET AREA COLOR 6
PLOT AREA: 145 , 310 ; 190 , 310 ; 190, 340; 140, 340;145 , 310
SET AREA COLOR 4
PLOT AREA: 130 , 340 ; 195 , 340 ; 195, 370; 130, 370;130 , 340
SET AREA COLOR 6
PLOT AREA: 210 , 255; 260 , 255 ; 255, 290; 210, 290;210 , 255
SET AREA COLOR 4
PLOT AREA: 205 , 290 ; 260 , 290 ; 260, 310; 205, 310;205 , 290
SET AREA COLOR 6
PLOT AREA: 210 , 310 ; 255 , 310 ; 260, 340; 210, 340;210 , 310
SET AREA COLOR 4
PLOT AREA: 205 , 340 ; 270 , 340 ; 270, 370; 205, 370;205 , 340
400 SET COLOR 0
DRAW disk WITH SCALE(14)*SHIFT(170,100)
SET COLOR 0
DRAW disk WITH SCALE(14)*SHIFT(230,100)
SET COLOR 1
DRAW circle WITH SCALE(15)*SHIFT(170,100)
SET COLOR 1
DRAW circle WITH SCALE(15)*SHIFT(230,100)
CHARACTER INPUT nowait :a$
SET COLOR 1
IF a$="i" THEN DRAW disk WITH SCALE(10)*SHIFT( 170,95)
IF a$="j" THEN DRAW disk WITH SCALE(10)*SHIFT(165,100)
IF a$="l" THEN DRAW disk WITH SCALE(10)*SHIFT(175,100)
IF a$="m" THEN DRAW disk WITH SCALE(10)*SHIFT(170,105)
IF a$="k" THEN DRAW disk WITH SCALE(10)*SHIFT(170,100)
IF a$="i" THEN DRAW disk WITH SCALE(10)*SHIFT(230,95)
IF a$="j" THEN DRAW disk WITH SCALE(10)*SHIFT(225,100)
IF a$="l" THEN DRAW disk WITH SCALE(10)*SHIFT(235,100)
IF a$="m" THEN DRAW disk WITH SCALE(10)*SHIFT(230,105)
IF a$="k" THEN DRAW disk WITH SCALE(10)*SHIFT(230,100)
FOR ti=0 TO 5000000
NEXT ti
GOTO 400
END