Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2019/07/14 21:22:08

MixJuice GET URL : kidspod.club/mj/877

Ichigo_Ken 必殺コマンドをたたき込め

コントローラーを分解して、内部のスイッチとIchigoJamのポートを接続します。
スイッチの端子の一方はまとめてGNDに接続、もう一方は1MでプルアップしてIN1-11に接続します。
OUTに-1を出力することで、BTN OUT1,2,3,4,5,6 がINとして機能します。
レバーの4つのスイッチ 1,2,3,4
ボタン 5,6,7,8,9
スタートボタン 10
セレクトボタン 11
に配線します。
IN()で11ポートの値をまとめて取得することができます。

スタートボタンを押すと
ボタンの入力を判定して、#E0-#FFのPCGキャラクタを表示します。
セレクトボタンを押すと、入力したキャラクタを判定して、
合っていれば、入力に掛かった時間と技名を表示します。

技の入力方法は「おぼえる」
30 N="カメハメハ":J="~E0~E1~E2~E3":GSB@C
~EOはパソコンで表示できるように16進表記に置き換え。
キーボードから入力するか、
キャラクタを入力してシッパイ判定を出してからESCで止めて、
画面上で1 REMで記録してから、プログラムを編集します。

技の名前と操作法を考えて増やしましょう。
レバー・ボタンの同時押しに対応させて改造してみよう。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

SOURCE CODE

  1. NEW
  2. 10 イチゴケン_SET
  3. 20 FOR I=1 TO 11:OUT I,-1:NEXT
  4. 30 CLP
  5. 40 POKE#720,102,231,126,60,60,126,231,66
  6. 50 POKE#728,60,126,231,195,195,231,126,60
  7. 60 POKE#730,255,255,195,195,195,195,255,255
  8. 70 POKE#738,24,24,60,36,102,66,255,255
  9. 80 POKE#740,60,126,255,255,255,255,126,60
  10. 90 POKE#748,126,195,153,189,189,153,195,126
  11. 100 POKE#750,153,90,36,219,219,36,90,153
  12. 110 POKE #780,2,7,14,156,248,240,240,248
  13. 120 POKE #788,31,15,15,31,57,112,224,64
  14. 130 POKE #790,248,240,240,248,156,14,7,2
  15. 140 POKE #798,64,224,112,57,31,15,15,31
  16. 150 POKE#7A0,60,126,124,255,255,126,127,60
  17. 160 LRUNFILE()+1
  18. SAVE0
  19.  
  20. NEW
  21. 10 'イチゴケン_IN
  22. 20 CLS:?"イチゴケン"
  23. 30 IFIN(10)CONT
  24. 31 IF!IN(10)CONT
  25. 40 FORI=20TO10STEP-1:BEEPI:WAIT1:NEXT
  26. 50 CLT:LC0,2
  27. 60 C=0:A=0
  28. 70 @LP
  29. 80 IF!IN(11)GOTO@N
  30. 90 A=A|(2047-IN())
  31. 100 IF(C>0)*(IN()=2047)GOTO@EX
  32. 110 IFA=4C=#E0
  33. 120 IFA=1C=#E1
  34. 130 IFA=8C=#E2
  35. 140 IFA=2C=#E3
  36. 150 IFA=3C=#F3
  37. 160 IFA=6C=#F0
  38. 170 IFA=12C=#F2
  39. 180 IFA=9C=#F1
  40. 190 IFA=16C=#E4
  41. 200 IFA=32C=#E5
  42. 210 IFA=64C=#E6
  43. 220 IFA=128C=#E7
  44. 230 IFA=256C=#E8
  45. 240 GOTO@LP
  46. 250 @EX:BEEP
  47. 260 ?CHR$(C);:C=0:A=0
  48. 270 GOTO@LP
  49. 280 @N:T=TICK()
  50. 290 FORI=10TO20:BEEPI:WAIT1:NEXT
  51. 300 LRUNFILE()+1
  52. SAVE1
  53.  
  54. NEW
  55. 10 'イチゴケン
  56. 20 @H:F=0:T=TICK():?:?
  57. 30 N="カメハメハ":J="~E0~E1~E2~E3":GSB@C
  58. 40 N="ショウリュウハ":J="~E0~E1~E0~E1~E4~E5~E4~E5~E2":GSB@C
  59. 50 'N="ハドウホウ":J="":GSB@C
  60. 60 'N="メガリュウシホウ":J="":GSB@C
  61. 70 'N="チョウオンパ":J="":GSB@C
  62. 80 'N="ゼッタイオンカン":J="":GSB@C
  63. 90 'N="エンセキガイセン":J="":GSB@C
  64. 100 'N="ホノウノコマ":J="":GSB@C
  65. 110 IFF=0?"シッパイダ!"
  66. 120 @K:IFIN(10)CONT
  67. 130 LRUNFILE()-1
  68. 140 @C:V=#900+32*2:I=0
  69. 150 @N
  70. 160 IFPEEK(J+I)=34GOTO@S
  71. 170 IFPEEK(J+I)<>PEEK(V+I)RTN
  72. 180 I=I+1:GOTO@N
  73. 190 @S
  74. 200 F=1:?T;":";STR$(N)
  75. 210 FORS=0 TO 15:BEEPS:WAIT1:NEXT
  76. 220 RTN
  77. SAVE2

COMMENT

S