プチコンmkII

  1. ’┌──────────────────┐
  2. ’│SAMPLE10          │
  3. ’│ コウト゛ナ ク゛ラフィック キノウ│
  4. ’└──────────────────┘
  5. CLEAR
  6. ’--- メニュー ショキカ
  7. MENUMAX=4
  8. DIM MENU$(MENUMAX)
  9. DIM INFO$(MENUMAX)
  10. FOR I=0 TO MENUMAX-1
  11.  READ MENU$(I)
  12.  READ INFO$(I)
  13. NEXT
  14. DATA ”GPAGE”
  15. DATA ”ク゛ラフィックカ゛メンヲ キリカエル”
  16. DATA ”GDRAWMD”
  17. DATA ”ヒ゛ョウカ゛モート゛ヲ ヘンコウ スル”
  18. DATA ”GPRIO”
  19. DATA ”ク゛ラフィックノ ユウセント゛ヲ ヘンコウ”
  20. DATA ”GCOPY”
  21. DATA ”ク゛ラフィックカ゛メンヲ コヒ゜ー スル”
  22. ’--- MAIN LOOP
  23. @MAIN
  24. ACLS
  25. COLOR 0
  26. PRINT ”┌────────────────────┐”
  27. PRINT ”│SAMPLE10            │”
  28. PRINT ”│  コウト゛ナ ク゛ラフィック キノウ │”
  29. PRINT ”└────────────────────┘”
  30. PRINT
  31. FOR I=0 TO MENUMAX-1
  32.  Y=I*3+5
  33.  COLOR 9
  34.  LOCATE 0,Y
  35.  PRINT I+1;” ”;
  36.  COLOR 0
  37.  PRINT MENU$(I);” ”;
  38.  COLOR 3
  39.  LOCATE 2,Y+1
  40.  PRINT INFO$(I)
  41. NEXT
  42. COLOR 0
  43. LOCATE 0,19
  44. INPUT ”Ж:ト゛レカ エランテ゛(0=END)”;CMD
  45. CLS
  46. IF CMD<=0 THEN END
  47. IF CMD>MENUMAX THEN @MAIN
  48. COLOR 3
  49. PRINT ”───────────────────────────”
  50. PRINT 
  51. PRINT MENU$(CMD-1):PRINT 
  52. PRINT ”  ”;INFO$(CMD-1)
  53. PRINT ”───────────────────────────”
  54. COLOR 7
  55. PRINT ”シ゛ッコウレイ:”:PRINT 
  56. COLOR 0
  57. IF CMD==1 THEN GOSUB @TEST1
  58. IF CMD==2 THEN GOSUB @TEST2
  59. IF CMD==3 THEN GOSUB @TEST3
  60. IF CMD==4 THEN GOSUB @TEST4
  61. GOSUB @HITANY
  62. GOTO @MAIN
  63. ’--- GPAGE
  64. @TEST1
  65. FOR I=0 TO 3
  66.  P1=I  ’ヒ゛ョウカ゛ヘ゜ーシ゛
  67.  P2=I  ’ヒョウシ゛ヘ゜ーシ゛
  68.  GPAGE 0,P1,P2
  69.  FOR A=0 TO 359
  70.   X1=128
  71.   Y1=96
  72.   R=RAD(A)
  73.   X2=COS(R)*96+X1
  74.   Y2=SIN(R)*96+Y1
  75.   COL=((((A/5)+I)%4)<2)*2
  76.   GLINE X1,Y1,X2,Y2,COL
  77.  NEXT
  78.  X=32
  79.  Y=80
  80.  A$=”ヘ゜ーシ゛”+STR$(I)
  81.  GOSUB @GPUTSTR
  82.  WAIT 60
  83. NEXT
  84. FOR I=0 TO 60
  85.  P1=I%4  ’ヒ゛ョウカ゛ヘ゜ーシ゛
  86.  P2=I%4  ’ヒョウシ゛ヘ゜ーシ゛
  87.  GPAGE 0,P1,P2
  88.  WAIT 20
  89. NEXT
  90. GPAGE 0,0,0
  91. RETURN
  92. ’--- GDRAWMD
  93. @TEST2
  94. FOR MODE=0 TO 1
  95.  LOCATE MODE*16,8
  96.  PRINT ”GDRAWMD ”;MODE;”ノ ハ゛アイ”
  97.  GDRAWMD MODE
  98.  FOR I=0 TO 31
  99.   X1=RND(64)+(MODE*128)
  100.   Y1=RND(128)+64
  101.   X2=X1+63
  102.   Y2=Y1+63
  103.   COL=RND(13)+1
  104.   GFILL X1,Y1,X2,Y2,COL
  105.   WAIT 15
  106.  NEXT
  107. NEXT
  108. GDRAWMD FALSE  ’ツウシ゛ョウ
  109. RETURN
  110. ’--- GPRIO
  111. @TEST3
  112. PAL=2
  113. AN=0:AX=128:AY=96:W=16:H=16
  114. SPR=2
  115. SPSET AN,68,PAL,0,0,SPR,W,H
  116. SPHOME AN,W/2,H/2
  117. SPSCALE AN,200
  118. SPOFS AN,AX,AY
  119. PAL=9
  120. FOR Y=0 TO 7
  121.  FOR X=0 TO 7
  122.   BGPUT 0,X+ 8,Y+ 3,48,PAL,0,0
  123.   BGPUT 1,X+16,Y+12,32,PAL,0,0
  124.  NEXT
  125. NEXT
  126. PRINT ”スフ゜ライト ノ”
  127. PRINT ” ユウセンシ゛ュンイ=”;SPR
  128. PRINT
  129. FOR I=0 TO 255 STEP 8
  130.  GLINE I,0,128,191,4
  131. NEXT
  132. FOR I=0 TO 3
  133.  GPRIO I
  134.  PRINT ”ク゛ラフィック ノ”
  135.  PRINT ” ユウセンシ゛ュンイ=”;I
  136.  PRINT
  137.  WAIT 120
  138. NEXT
  139. GPRIO 3
  140. RETURN
  141. ’--- GCOPY
  142. @TEST4
  143. GCLS
  144. FOR MODE=0 TO 1
  145.  LOCATE 16*MODE,14
  146.  PRINT ” カラー0ヲ コヒ゜ー”;
  147.  IF MODE==0 THEN PRINT ”シナイ”
  148.  IF MODE==1 THEN PRINT ”スル”
  149.  FOR A=0 TO 359
  150.   X1=64+(128*MODE)
  151.   Y1=64
  152.   R=RAD(A)
  153.   X2=COS(R)*32+X1
  154.   Y2=SIN(R)*32+Y1
  155.   COL=FLOOR(16*A/360)  ’カラー
  156.   GLINE X1,Y1,X2,Y2,COL
  157.  NEXT
  158.  FOR I=0 TO 8
  159.   P=0         ’テンソウモト ヘ゜ーシ゛
  160.   X1=32+(128*MODE) ’テンソウモト シテン
  161.   Y1=32
  162.   X2=X1+64    ’テンソウモト シュウテン
  163.   Y2=Y1+64
  164.   X3=RND(64)+(128*MODE) ’テンソウサキ シテン
  165.   Y3=128
  166.   GCOPY P,X1,Y1,X2,Y2,X3,Y3,MODE
  167.   WAIT 30
  168.  NEXT
  169.  WAIT 60
  170. NEXT
  171. RETURN
  172. ’--- コマント゛メイ
  173. @PUTCMD
  174. PRINT
  175. COLOR 4
  176. PRINT ”  ”;
  177. PRINT MENU$(CMD-1);”ヲ シ゛ッコウ”
  178. PRINT ”     ↓”
  179. COLOR 0
  180. PRINT
  181. RETURN
  182. ’--- 
  183. @HITANY
  184. GOSUB @KEYOFF
  185. @HITANY2
  186. COLOR RND(13)+1
  187. LOCATE 7,23
  188. PRINT ”HIT ANY BUTTON”;
  189. VSYNC 5
  190. IF BUTTON() THEN RETURN
  191. GOTO @HITANY2
  192. ’--- 
  193. @KEYOFF
  194. IF BUTTON() THEN @KEYOFF
  195. RETURN
  196. ’--- 
  197. @GPUTSTR
  198. PAL=0  ’ハ゜レット
  199. SZ=4   ’サイス゛
  200. FOR PTR=0 TO LEN(A$)-1
  201.  NUM=ASC(MID$(A$,PTR,1))
  202.  GPUTCHR X,Y,”BGF0”,NUM,PAL,SZ
  203.  X=X+(8*SZ)
  204. NEXT
  205. RETURN
  206. ’┌─────────────────────────┐
  207. ’│ オワリ                     │
  208. ’└─────────────────────────┘