プチコンmkII

サンプルプログラム7 (その3)でできたリスト

  1. ’┌──────────┐
  2. ’│SAMPLE7   │
  3. ’│ シンリャクミスイ │
  4. ’└──────────┘
  5. VISIBLE 1,1,0,0,0,0
  6. CLS:COLOR 0
  7. CLEAR
  8. DIM EX(20),EY(20),ED(20)

  9. ’---
  10. EMAX=20
  11. FOR I=0 TO EMAX-1
  12.  EX(I)=FLOOR(I%10)*2
  13.  EY(I)=FLOOR(I/10)*2+3
  14.  ED(I)=0
  15.  LOCATE EX(I),EY(I)
  16.  PRINT ”Е”
  17. NEXT
  18. EDW=FALSE
  19. ’---
  20. PX=10:PY=21
  21. LOCATE PX,PY:PRINT”Г”;
  22. MX=PX:MY=PY:MST=FALSE
  23. LOCATE 0,22
  24. PRINT”────────────────────────────────”;

  25. @LOOP
  26.  GOSUB @MYSHIP
  27.  GOSUB @MYSHOT
  28.  GOSUB @ALIEN
  29.  VSYNC 1
  30. GOTO @LOOP

  31. ’--- シ゛フ゛ン
  32. @MYSHIP
  33. B=BUTTON():VX=0
  34. IF B AND 4 THEN VX=-1
  35. IF B AND 8 THEN VX=1
  36. IF VX==0 THEN @NOTMOVE
  37. LOCATE PX,PY:PRINT” ”
  38. PX=PX+VX
  39. IF PX<0 THEN PX=0
  40. IF PX>31 THEN PX=31
  41. LOCATE PX,PY:PRINT”Г”;
  42. ’---
  43. @NOTMOVE
  44. RETURN
  45. ’--- タマ
  46. @MYSHOT
  47. IF MST==TRUE THEN @MSMOVE
  48. IF TCHST==FALSE THEN @MSSKIP
  49. MST=TRUE
  50. MX=PX:MY=PY
  51. GOTO @MSMOVE2
  52. ’---
  53. @MSMOVE
  54. LOCATE MX,MY:PRINT” ”
  55. ’---
  56. @MSMOVE2
  57. MY=MY-1
  58. IF MY<3 THEN MST=FALSE:GOTO @MSSKIP
  59. LOCATE MX,MY:PRINT”・”
  60. ’---
  61. @MSSKIP
  62. RETURN

  63. ’--- シンリャクシャ
  64. @ALIEN
  65. MD=FALSE
  66. IF EDW THEN MD=EDW:EDW=FALSE
  67. ’---
  68. FOR I=0 TO EMAX-1
  69.  LOCATE EX(I),EY(I):PRINT” ”
  70.  IF MD==FALSE THEN @EMV
  71.  ’--- 
  72.  ED(I)=(ED(I)+1) AND 3
  73.  ’---
  74.  @EMV
  75.  GOSUB @EMOVE
  76. NEXT
  77. RETURN
  78. ’---
  79. @EMOVE
  80. ON ED(I) GOTO @RI,@DW,@LF,@DW

  81. @DW
  82. EY(I)=EY(I)+1
  83. IF EY(I)>20 THEN EY(I)=3
  84. ED(I)=(ED(I)+1) AND 3
  85. GOTO @EPUT

  86. @RI
  87. EX(I)=EX(I)+1
  88. IF EX(I)<31 THEN @EPUT
  89. EDW=TRUE
  90. GOTO @EPUT

  91. @LF
  92. EX(I)=EX(I)-1
  93. IF EX(I)>0 THEN @EPUT
  94. EDW=TRUE

  95. @EPUT
  96. LOCATE EX(I),EY(I)
  97. PRINT ”Е”
  98. RETURN