プチコン3号 SmileBASIC コミュニティトピックパロピカル extremediamond2015/12/24 08:55:42質問&H300ってなんですか?&H300って何者ですか?また、他にもこの類いの値ってあるんですか? A=Button(0) B=(A And &H300) ってやるとL,Rボタンを入力した時のみButtonの戻り値がBに入るのは分かったんですが…0そうだね 8返信プレイ済み2017/11/03 18:28:48に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿みむ*mim hidemimtp2015/12/24 9:27正確には、「L,Rのどちらかが押されたら」ですね。 &Hは、それが16進数で記載されている事を表します。 ANDは、2進数での論理積を表します。 BUTTONの戻り値は、 RL YXBA 右左下上 &H300は2進数で 11 0000 0000(空白は意味ナシ。見やすく書いただけ) この2つの「両方が1なら、1を返す」のがANDです。 もしLだけ押されたら、 01 0000 0000(BUTTON()の戻り値) 11 0000 0000(&H300) ------------ 01 0000 0000(BUTTON() AND &H300) なので、結果は「真」(0ではない)となります。0そうだね プレイ済み2017/11/03 18:28:48に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿みむ*mim hidemimtp2015/12/24 9:31あ、すみません、「L,Rボタンを入力した時のみButtonの戻り値がBに入る」で正しいです。私の勘違い。 値として見るなら、L,Rだけの入力内容、 論理値として見るなら、どちらかが押されたら真、 です。 両方の見方ができます。1そうだね プレイ済み2017/11/03 18:28:48に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿パロピカル extremediamond2015/12/24 10:34なるほど、&H300は16進数で表された768だったんでね。768=256+512なのでLまたはRに振り分けられた値のみ代入されると… ってことは上のソースのANDをORに変えたら、LまたはRが押されたとき、LとRを同時押した時と同じ値が変数Bに代入されるってことですね! 0そうだね プレイ済み2017/11/03 18:28:48に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿パロピカル extremediamond2015/12/24 10:37あ…その場合はL,Rボタン以外のボタンも受け付けてしまうのか0そうだね プレイ済み2017/11/03 18:28:48に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿みむ*mim hidemimtp2015/12/24 11:18ORを取る意味はあまりないですね・・・ L,Rを取るのに&H300だと分かりにくいので、定数リテラルを使用して、 B=A AND (#L OR #R) とか書いたりします。 ORでなく+でも結果は同じですけど、理屈で言うならORです。 これが真なら「どちらかが押さえている」となります。 同時押しかどうかを調べるなら、 B=(A AND (#L OR #R))==(#L OR #R) ですね。書き方は他にもあると思いますが。 0そうだね プレイ済み2017/11/03 18:28:48に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿あまさと しおん ShionAmasato2015/12/24 11:27ボタンの値に対するORは「自動操縦」とかに応用できます。 BTN=BUTTON() OR #UP こうしますと、常時上を押していることになります。 ORする値をIF文で変化させれば、自動操縦の完成です。0そうだね プレイ済み2017/11/03 18:28:48に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿あまさと しおん ShionAmasato2015/12/24 11:29※変数BTNは「ボタンを入れる変数」で、過去ログにおける変数Aに相当します。0そうだね プレイ済み2017/11/03 18:28:48に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿パロピカル extremediamond2015/12/24 12:10なるほど、僕は論理演算子を不等式の範囲を求める位にしか使わなかったのですが、かなり使い道があったんですね。あと、定数リテラルで扱える値は極力利用しようと思います。 みむさん、あまさと しおんさんありがとうございました。1そうだね プレイ済み2017/11/03 18:28:48に取得