11行目の続きです。
(K AND 32)はボタン入力の結果に対してビット演算のANDをしています。ビット演算については知らない人には説明が大変なので省略しますが、この結果、32(Bボタン)が押されている場合は、32、そうで無い場合は0になります。
ただしこれをさらに((K AND 32)>0)としているので、この式により、Bボタンが押されていたら1,そうでなければ0になります。
最後にその結果をさらに2倍した値をDXに入れているので結果、DXの値はBボタンが押されていたら2,押されていなければ0になることになり、この値を移動の際にダッシュする場合に使っています。
今回は1画面に収めるためにこういう書き方をしてしまいましたが、素直に、
IF K AND 32 THEN DX=2 ELSE DX=0
としてしまっても問題ないです。てか、今回でもそれでも入ったかも…
MAXやMINを使っている箇所は通常なら、
IF X < 0 THEN X = 0
IF Y > 400-16 THEN X=400-16
でも問題ないです。今回は1画面に収めたかった事もあって、こういう書き方をしてしまいました。またこれを応用すると、
X = MAX(MIN(X, 400-16),0)
と書くことで上記の2つのIF文を同時に実行したかのような結果を得ることも出来ます。※ワンポイント?