;┌───────────────────────────────────┐ ;│* F05_RXメインプログラム * wii用                 │ ;└───────────────────────────────────┘ ; 2013/02/16 見直し・不要部分削除 ; ;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ;┃起動シークエンス                        ┃ ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ;【START】初回のみ起動音 ;V109=0から起動初回を判定。 JUMPIF(V109,>=,100,MAINKEYWAITLOOP) :START V00=0 V01=0 V02= V03=0 V04=0 SOUND V109=100 WAIT(100) ; ;--------------- ;START KEY WAIT ;--------------- :STARTKEYWAIT JUMPIF(V126,=,3,STARTKEYPUSHED) JUMP(STARTKEYWAIT) :STARTKEYPUSHED ;★ OKBEEP ★ CALL(OKBEEP) ; ;【HOMESETPOWERON】【HSETLOOP】 ホームポジションなど起動設定 :HOMESETPOWERON V00=1 V01=63 V02=64 V03=0 SDREAD V00=24 V01=133 V02=457 ; :HSETLOOP (V02 = (V01 V01=V01+1 V02=V02+1 V00=V00-1 JUMPIF(V00,>,0,HSETLOOP) HOMEPOS WAIT(100) ;★ THINKBEEP ★ CALL(THINKBEEP) ; V00=200 MOTORSPEED V00=1 V01=1 V02=1 V03=1 V04=1 V05=1 V06=1 V07=1 V08=1 V09=1 V10=1 V11=1 V12=1 V13=1 V14=1 V15=1 V16=1 V17=1 V18=1 V19=1 V20=1 V21=1 V22=1 V23=1 POWER WAIT(200) ; ;★ THINKBEEP ★ CALL(THINKBEEP) ; V0=200 MOTORSPEED WAIT(50) MOVE(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2400) WAIT(100) V0=0 MOTORSPEED WAIT(50) CALL(GYROON) WAIT(50) ;★ THINKBEEP ★ CALL(THINKBEEP) :SOKUTEIMODE JUMPIF(V121,#,64,FIGHTINGPOSE) :SOKUTEIMODE2 CALL(CALLBEEP) WAIT(100) JUMPIF(V121,#,0,FIGHTINGPOSE0) JUMPIF(V126,#,0,FIGHTINGPOSE0) JUMP(SOKUTEIMODE2) ; ;戦闘態勢開始 :FIGHTINGPOSE0 CALL(OKBEEP) :FIGHTINGPOSE CALL(FIGHTHOME) ;★ OKBEEP ★ CALL(OKBEEP) ; ;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ;┃メインループ                          ┃ ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ; ;【MAINKEYWAITLOOP】状態管理 :MAINKEYWAITLOOP V00=INPUTADC(1) JUMPIF(V00,<,105,BATTERYERRROR) ; ;【WMAINKEYWAITLOOP】無線キー入力待ちループ :WMAINKEYWAITLOOP JUMPIF(V120,#,00,WMAINKEYANZ) JUMPIF(V121,#,00,WMAINKEYANZ) JUMPIF(V126,#,00,WMAINKEYANZ) JUMP(MAINKEYWAITLOOP) ; ;【WMAINKEYANZ】キー入力から具体的な分岐へ ;:WMAINKEYANZ ; JUMPIF(V126,=,12,WAKEUP) ;(セレクトボタン)起き上がり JUMPIF(V126,=,3,WAKEUP) ;(STARTボタン)えいえいおー! JUMPIF(V121,<,31,QUICKMOVE) ; 十字キーのみなら移動系コマンド JUMP(ATTACK1) ; 入力が32以上なら、ボタンが押されているのでアタック系コマンド ; ;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ;┃各実行ファイルへジャンプ!                   ┃ ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ; ;【QUICKMOVE】スピード歩行は[F_18]へ :QUICKMOVE V00=18 FJUMP ; ;【ATTACK1】攻撃は[F_09]へ :ATTACK1 V00 = 9 FJUMP ; ;【WAKEUP】起き上がりは[F_08]へ :WAKEUP V00=8 FJUMP ; ;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ;┃各実行コマンド                            ┃ ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ;【FIGHTHOME】ファイティングホーム :FIGHTHOME ;FtgHome1/2 MOVE(0,100,200,0,0,-120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-300,-100,0,240) ;FtgHome2/2 MOVE(-450,-226,931,-946,0,-120,-80,383,331,-329,-90,-331,331,70,329,-331,-383,80,0,0,978,-928,180,450,240) V109 = 103;体勢チェックをファイティングホーム状態(3)にセット。 RETURN ; ;【OKBEEP】OK音を鳴らす :OKBEEP V00=62 V01=192 V02=0 V03=20 V04=0 SOUND WAIT(100) RETURN ; ;【ERRBEEP】エラー音を鳴らす :ERRBEEP V00=62 V01=213 V02=0 V03=20 V04=0 SOUND RETURN ; ;【THINKBEEP】考え中音を鳴らす :THINKBEEP V00=62 V01=0 V02=0 V03=21 V04=0 SOUND WAIT(100) RETURN ; ;【CALLBEEP】入力まち音 :CALLBEEP V00=62 V01=77 V02=0 V03=20 V04=0 SOUND WAIT(100) RETURN ; ;【BATTERYERRROR】電池切れ動作 :BATTERYERRROR V00=62 V01=42 V02=0 V03=53 V04=0 SOUND WAIT(200) WAIT(200) WAIT(200) SOUND WAIT(200) WAIT(200) WAIT(200) SOUND WAIT(200) WAIT(200) WAIT(200) ; ;【EXIT】電源オフ待機 :EXIT CALL(GYROOFF) Move(128,-226,2,333,1,141,-9,768,589,-1000,-36,-1095,1065,92,979,-623,-818,97,13,0,-385,-17,217,-166,3000) WAIT(200) V00=0 V01=0 V02=0 V03=0 V04=0 V05=0 V06=0 V07=0 V08=0 V09=0 V10=0 V11=0 V12=0 V13=0 V14=0 V15=0 V16=0 V17=0 V18=0 V19=0 V20=0 V21=0 V22=0 V23=0 POWER V99=0 JUMP(START) ;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ;┃ジャイロ設定                             ┃ ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ;┌──<【GYROON】ジャイロオン(弱)足首のみ ─────────────┐ :GYROON (N389=0 (N393=73 (N394=73 (N396=0 (N398=0 (N397=7 (N399=0-7 (N401=0 (N403=0 (N402=0-8 (N404=0-8 (N389=1 RETURN ;└───────────────────────────────────┘ ;┌──<【GYROON2】ジャイロオン(強)足首&股関節 ───────────┐ :GYROON2 (N389=0 (N393=73 (N394=73 (N396=2 (N398=0-2 (N397=8 (N399=0-8 (N401=0-3 (N403=0-3 (N402=0-7 (N404=0-7 (N389=1 RETURN ;└───────────────────────────────────┘ ;┌──<【GYROOFF_CALIB】ジャイロオフ ─────────────────┐ :GYROOFF_CALIB (N389=0 (N393=0 (N394=0 (N396=0 (N398=0 (N397=0 (N399=0 (N401=0 (N403=0 (N402=0 (N404=0 (N389=0 RETURN ;└───────────────────────────────────┘ ;┌──<【GYROOFF】ジャイロオフ ────────────────────┐ :GYROOFF (N389=0 (N393=0 (N394=0 (N396=0 (N398=0 (N397=0 (N399=0 (N401=0 (N403=0 (N402=0 (N404=0 (N389=0 ;└───────────────────────────────────┘ ;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ;┃使用変数について                        ┃ ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ;□オフィシャルプログラムで未使用の変数は、 ;・V24,46-49,54-59,61,74,95-98,109,120-125。 ; ;□その中で、今回のプログラム内に出現する変数↓ ;・V107 荷物持ちフラグ(未使用) ;・V108 棒物持ちフラグ(未使用) ; ;□今回のプログラムで使用するオリジナル変数↓ ;・V00_V23 毎回使い捨てレジスタ ;・V46 ピッチ軸ジャイロ係数(未使用) ;・V47 ロール軸ジャイロ係数(未使用) ;・V48 ピッチ軸ジャイロ中央値 ;・V49 ロール軸ジャイロ中央値 ;・V109 起動判定フラグ・状態フラグ(0=起動前、101=不明,102=直立ホーム,103=ファイティングホーム) ;・V120_V126 無線入力用レジスタ ; ;□起動時の挙動について ;(01)本体電源投入 ;(02)★起動音 ;(03)キーウェイト<スタートキー1回目> ;(04)★OKBEEP1回目(無線接続OK確認) ;(05)ホームポジション読み込み→ホームポジション移行3秒 ;(06)★OKBEEP2回目(行動準備OK確認) ;(07)キーウェイト<スタートキー2回目> ;(08)ファイティングポーズ ;(09)メインループへ