- ’┌──────────────────┐
- ’│SAMPLE10 │
- ’│ コウト゛ナ ク゛ラフィック キノウ│
- ’└──────────────────┘
- CLEAR
- ’--- メニュー ショキカ
- MENUMAX=4
- DIM MENU$(MENUMAX)
- DIM INFO$(MENUMAX)
- FOR I=0 TO MENUMAX-1
- READ MENU$(I)
- READ INFO$(I)
- NEXT
- DATA ”GPAGE”
- DATA ”ク゛ラフィックカ゛メンヲ キリカエル”
- DATA ”GDRAWMD”
- DATA ”ヒ゛ョウカ゛モート゛ヲ ヘンコウ スル”
- DATA ”GPRIO”
- DATA ”ク゛ラフィックノ ユウセント゛ヲ ヘンコウ”
- DATA ”GCOPY”
- DATA ”ク゛ラフィックカ゛メンヲ コヒ゜ー スル”
- ’--- MAIN LOOP
- @MAIN
- ACLS
- COLOR 0
- PRINT ”┌────────────────────┐”
- PRINT ”│SAMPLE10 │”
- PRINT ”│ コウト゛ナ ク゛ラフィック キノウ │”
- PRINT ”└────────────────────┘”
- PRINT
- FOR I=0 TO MENUMAX-1
- Y=I*3+5
- COLOR 9
- LOCATE 0,Y
- PRINT I+1;” ”;
- COLOR 0
- PRINT MENU$(I);” ”;
- COLOR 3
- LOCATE 2,Y+1
- PRINT INFO$(I)
- NEXT
- COLOR 0
- LOCATE 0,19
- INPUT ”Ж:ト゛レカ エランテ゛(0=END)”;CMD
- CLS
- IF CMD<=0 THEN END
- IF CMD>MENUMAX THEN @MAIN
- COLOR 3
- PRINT ”───────────────────────────”
- PRINT
- PRINT MENU$(CMD-1):PRINT
- PRINT ” ”;INFO$(CMD-1)
- PRINT ”───────────────────────────”
- COLOR 7
- PRINT ”シ゛ッコウレイ:”:PRINT
- COLOR 0
- IF CMD==1 THEN GOSUB @TEST1
- IF CMD==2 THEN GOSUB @TEST2
- IF CMD==3 THEN GOSUB @TEST3
- IF CMD==4 THEN GOSUB @TEST4
- GOSUB @HITANY
- GOTO @MAIN
- ’--- GPAGE
- @TEST1
- FOR I=0 TO 3
- P1=I ’ヒ゛ョウカ゛ヘ゜ーシ゛
- P2=I ’ヒョウシ゛ヘ゜ーシ゛
- GPAGE 0,P1,P2
- FOR A=0 TO 359
- X1=128
- Y1=96
- R=RAD(A)
- X2=COS(R)*96+X1
- Y2=SIN(R)*96+Y1
- COL=((((A/5)+I)%4)<2)*2
- GLINE X1,Y1,X2,Y2,COL
- NEXT
- X=32
- Y=80
- A$=”ヘ゜ーシ゛”+STR$(I)
- GOSUB @GPUTSTR
- WAIT 60
- NEXT
- FOR I=0 TO 60
- P1=I%4 ’ヒ゛ョウカ゛ヘ゜ーシ゛
- P2=I%4 ’ヒョウシ゛ヘ゜ーシ゛
- GPAGE 0,P1,P2
- WAIT 20
- NEXT
- GPAGE 0,0,0
- RETURN
- ’--- GDRAWMD
- @TEST2
- FOR MODE=0 TO 1
- LOCATE MODE*16,8
- PRINT ”GDRAWMD ”;MODE;”ノ ハ゛アイ”
- GDRAWMD MODE
- FOR I=0 TO 31
- X1=RND(64)+(MODE*128)
- Y1=RND(128)+64
- X2=X1+63
- Y2=Y1+63
- COL=RND(13)+1
- GFILL X1,Y1,X2,Y2,COL
- WAIT 15
- NEXT
- NEXT
- GDRAWMD FALSE ’ツウシ゛ョウ
- RETURN
- ’--- GPRIO
- @TEST3
- PAL=2
- AN=0:AX=128:AY=96:W=16:H=16
- SPR=2
- SPSET AN,68,PAL,0,0,SPR,W,H
- SPHOME AN,W/2,H/2
- SPSCALE AN,200
- SPOFS AN,AX,AY
- PAL=9
- FOR Y=0 TO 7
- FOR X=0 TO 7
- BGPUT 0,X+ 8,Y+ 3,48,PAL,0,0
- BGPUT 1,X+16,Y+12,32,PAL,0,0
- NEXT
- NEXT
- PRINT ”スフ゜ライト ノ”
- PRINT ” ユウセンシ゛ュンイ=”;SPR
- PRINT
- FOR I=0 TO 255 STEP 8
- GLINE I,0,128,191,4
- NEXT
- FOR I=0 TO 3
- GPRIO I
- PRINT ”ク゛ラフィック ノ”
- PRINT ” ユウセンシ゛ュンイ=”;I
- PRINT
- WAIT 120
- NEXT
- GPRIO 3
- RETURN
- ’--- GCOPY
- @TEST4
- GCLS
- FOR MODE=0 TO 1
- LOCATE 16*MODE,14
- PRINT ” カラー0ヲ コヒ゜ー”;
- IF MODE==0 THEN PRINT ”シナイ”
- IF MODE==1 THEN PRINT ”スル”
- FOR A=0 TO 359
- X1=64+(128*MODE)
- Y1=64
- R=RAD(A)
- X2=COS(R)*32+X1
- Y2=SIN(R)*32+Y1
- COL=FLOOR(16*A/360) ’カラー
- GLINE X1,Y1,X2,Y2,COL
- NEXT
- FOR I=0 TO 8
- P=0 ’テンソウモト ヘ゜ーシ゛
- X1=32+(128*MODE) ’テンソウモト シテン
- Y1=32
- X2=X1+64 ’テンソウモト シュウテン
- Y2=Y1+64
- X3=RND(64)+(128*MODE) ’テンソウサキ シテン
- Y3=128
- GCOPY P,X1,Y1,X2,Y2,X3,Y3,MODE
- WAIT 30
- NEXT
- WAIT 60
- NEXT
- RETURN
- ’--- コマント゛メイ
- @PUTCMD
- PRINT
- COLOR 4
- PRINT ” ”;
- PRINT MENU$(CMD-1);”ヲ シ゛ッコウ”
- PRINT ” ↓”
- COLOR 0
- PRINT
- RETURN
- ’---
- @HITANY
- GOSUB @KEYOFF
- @HITANY2
- COLOR RND(13)+1
- LOCATE 7,23
- PRINT ”HIT ANY BUTTON”;
- VSYNC 5
- IF BUTTON() THEN RETURN
- GOTO @HITANY2
- ’---
- @KEYOFF
- IF BUTTON() THEN @KEYOFF
- RETURN
- ’---
- @GPUTSTR
- PAL=0 ’ハ゜レット
- SZ=4 ’サイス゛
- FOR PTR=0 TO LEN(A$)-1
- NUM=ASC(MID$(A$,PTR,1))
- GPUTCHR X,Y,”BGF0”,NUM,PAL,SZ
- X=X+(8*SZ)
- NEXT
- RETURN
- ’┌─────────────────────────┐
- ’│ オワリ │
- ’└─────────────────────────┘