コントローラーを分解して、内部のスイッチと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で記録してから、プログラムを編集します。
技の名前と操作法を考えて増やしましょう。
レバー・ボタンの同時押しに対応させて改造してみよう。
- NEW
- 10 イチゴケン_SET
- 20 FOR I=1 TO 11:OUT I,-1:NEXT
- 30 CLP
- 40 POKE#720,102,231,126,60,60,126,231,66
- 50 POKE#728,60,126,231,195,195,231,126,60
- 60 POKE#730,255,255,195,195,195,195,255,255
- 70 POKE#738,24,24,60,36,102,66,255,255
- 80 POKE#740,60,126,255,255,255,255,126,60
- 90 POKE#748,126,195,153,189,189,153,195,126
- 100 POKE#750,153,90,36,219,219,36,90,153
- 110 POKE #780,2,7,14,156,248,240,240,248
- 120 POKE #788,31,15,15,31,57,112,224,64
- 130 POKE #790,248,240,240,248,156,14,7,2
- 140 POKE #798,64,224,112,57,31,15,15,31
- 150 POKE#7A0,60,126,124,255,255,126,127,60
- 160 LRUNFILE()+1
- SAVE0
- NEW
- 10 'イチゴケン_IN
- 20 CLS:?"イチゴケン"
- 30 IFIN(10)CONT
- 31 IF!IN(10)CONT
- 40 FORI=20TO10STEP-1:BEEPI:WAIT1:NEXT
- 50 CLT:LC0,2
- 60 C=0:A=0
- 70 @LP
- 80 IF!IN(11)GOTO@N
- 90 A=A|(2047-IN())
- 100 IF(C>0)*(IN()=2047)GOTO@EX
- 110 IFA=4C=#E0
- 120 IFA=1C=#E1
- 130 IFA=8C=#E2
- 140 IFA=2C=#E3
- 150 IFA=3C=#F3
- 160 IFA=6C=#F0
- 170 IFA=12C=#F2
- 180 IFA=9C=#F1
- 190 IFA=16C=#E4
- 200 IFA=32C=#E5
- 210 IFA=64C=#E6
- 220 IFA=128C=#E7
- 230 IFA=256C=#E8
- 240 GOTO@LP
- 250 @EX:BEEP
- 260 ?CHR$(C);:C=0:A=0
- 270 GOTO@LP
- 280 @N:T=TICK()
- 290 FORI=10TO20:BEEPI:WAIT1:NEXT
- 300 LRUNFILE()+1
- SAVE1
- NEW
- 10 'イチゴケン
- 20 @H:F=0:T=TICK():?:?
- 30 N="カメハメハ":J="~E0~E1~E2~E3":GSB@C
- 40 N="ショウリュウハ":J="~E0~E1~E0~E1~E4~E5~E4~E5~E2":GSB@C
- 50 'N="ハドウホウ":J="":GSB@C
- 60 'N="メガリュウシホウ":J="":GSB@C
- 70 'N="チョウオンパ":J="":GSB@C
- 80 'N="ゼッタイオンカン":J="":GSB@C
- 90 'N="エンセキガイセン":J="":GSB@C
- 100 'N="ホノウノコマ":J="":GSB@C
- 110 IFF=0?"シッパイダ!"
- 120 @K:IFIN(10)CONT
- 130 LRUNFILE()-1
- 140 @C:V=#900+32*2:I=0
- 150 @N
- 160 IFPEEK(J+I)=34GOTO@S
- 170 IFPEEK(J+I)<>PEEK(V+I)RTN
- 180 I=I+1:GOTO@N
- 190 @S
- 200 F=1:?T;":";STR$(N)
- 210 FORS=0 TO 15:BEEPS:WAIT1:NEXT
- 220 RTN
- SAVE2