質問掲示板を利用させていただきます。「ゲームプログラミングを館」の方の「~ゲーム基本編~」にあるキャラを4方向に動かすプログラムで、少しわからないところがあります。//歩くフラグを立てる。条件を満たしていて、何も入力がない場合はwalkking_flagには0が入りますよね?そこで例えばキーボードから上ボタンが押されるとch.mukiには0が代入され、walking_flagには1が代入されるので、40行目からのif文の処理によってキャラのy座標がデクリメントされると思うんですが、何故上ボタンを押した時点でwarking_flagに1が代入されるんでしょうか。1が適用されるのかがわかりません。ちなみにC言語歴は半年程度です。ご回答よろしくお願いします。条件を満たしていて、何も入力がない場合はwalkking_flagには0が入りますよね?それは37行目の処理ですね。上ボタンを押した時点でwarking_flagに1が代入されるんでしょうか。1が適用されるのかがわかりません。ボタンを押した時点でwarking_flagに1が代入されるのではありません。ボタンが押されたかどうかを判定する前(27行目)に1を代入しているのです。キーが押されていないことが分かったら、0を代入(37行目)しているのです。歩いていないとき、歩こうとしていないときにwalking_flag=0歩こうとするとき歩く必要があるときにwalking_flag=1にするわけです。ミクプラは自由にリンクできます。