【SmileBasic】 Pi STARTER GOTO 1 【RPi】 (256レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
147: 138 [sage] 2018/11/04(日) 08:37:27.63 ID:UHcF4njL(1) AAS
あくまでも「>>9797(4): 名前は開発中のものです。 [sage] 2018/10/15(月) 10:13:39.51 ID:CRcCt6Vz(1) AAS
こんなふうにやるのだよ
b=button()
if b and 1 then print "up"
if b and 2 then print "down"
if b and 4 then print "left"
if b and 8 then print "right"
if b and 16 then print "a"
if b and 32 then print "b"
要するに#BID_○○は使っちゃダメってこと
そもそも#BID_○○って
#BID_UP…0
#BID_DOWN…1
#BID_LEFT…2
#BID_RIGHT…3
#BID_A…4
#BID_B…5
っていう変な内容なので、button()系では全く役に立たない代物
あんなものをリファレンスの紛らわしい場所に載っけてるのが悪いのさ
の方法で検出できるなら」と言う事ね
b and 1
で条件式として処理されてしまう場合はビットの判断はできないと思うから悪しからず
その場合もbitの大きい方から順に引いていけば可能
if (b - 2^#BID_**)>=0 then print "**":b=b-2^#BID_**
で、この場合#BID_Bから処理すればおk
※**はRIGHTとかAなど
だけど、ビットシフトがあるなら、ビットシフトをを使った方がすっきりすると思うから
>>105105(1): 名前は開発中のものです。 [sage] 2018/10/15(月) 20:10:45.53 ID:NVbsi7KS(4/5) AAS
b=button()でボタンのデータとって
b && (1<<#BID_**) で0か0じゃないか判定するか
(b >> #BID_** ) and 1 で1か0か判定するか。
丁寧なやり方はこう。
でもいちいちこんなの書くのめんどくさいからファンクションにする。
def chk( btn, chbit )
return btn>>chbit and 1
end
つかうには
if chk(b,#BID_UP) then 処理
みたいなな?
かんたんじゃろう?
の方法で良いと思う
「定数がbitになってるときは2^nでおk」てのを書くだけなのに、過疎っていたから連投
しちゃったけど、間に挟まったの気づかなくてすまんかった
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s