Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8
次のページ(過去)
返信[11]
親投稿
亦、OR演算子は、被演算数と演算数の夫々同じ桁(位)のビットを加算(論理和)する演算子で、孰れかのビットが1の時に1と成り、其れ以外は0と成ります(1+1→1、1+0→1、0+0→0)。従って、9と1をOR演算すると、下記の様に成ります。 0000000001001(9) 0000000000001(1) ------------- 0000000001001(9) OR演算は、飽く迄も同じ桁(位)のビットの状態を調べる物で、算術加算の様に、桁上がりは仕ません。『有る』と『有る』は勿論『有る』、『有る』と『無い』でも二人合わせれば『有る』、『無い』と『無い』で本当に『無い』と謂う事です。 一般に、AND演算子は、調べ度いビット以外を0に設定して隠す目的で使用されるのでマスク演算子、OR演算子は、特定のビットを1に設定する目的で使用されるのでセット演算子とも呼ばれて居ます。
0そうだね
プレイ済み
返信[10]
親投稿
従って、十字ボタンの上と右が同時に押せば、右上に移動すると謂う処理を行い度い場合、下記の様に記述すれば良い事に成ります。 B=BUTTON(0) IF B AND 1 THEN '上に移動 ENDIF IF B AND 8 THEN '右に移動 ENDIF
0そうだね
プレイ済み
返信[9]
親投稿
処で、AND演算子は、被演算数と演算数の夫々同じ桁(位)のビットを乗算(論理積)する演算子で、互いのビットが1の時に1と成り、其れ以外は0と成ります(1×1→1、1×0→0)。従って、9と1をAND演算すると、下記の様に成ります。 0000000001001(9) 0000000000001(1) ------------- 0000000000001(1) 此れで、十字ボタン上が押されて居る事が解ります。亦、十字ボタン右が押されて居るかを知り度い場合は、下記の様に成ります。 0000000001001(9) 0000000001000(8) ------------- 0000000001000(8)
0そうだね
プレイ済み
返信[8]
親投稿
其処で、調べ度いビットが立って居るか(該当する豆電球が点灯して居るか)を調べるのに、ビット演算子で有るAND演算子を使用します。例えば、十字ボタンの上と右が同時に押され、BUTTON関数の返す値が9の時に、十字ボタン上が押された時に行う処理は、下記の様に記述します。 IF (BUTTON(0) AND 1)==1 THEN ' (BUTTON(0) AND #A)==#A の記述も可 '十字ボタン上が押された時に行う処理 ENDIF 猶、プチコン3号では、0以外はTRUE(条件成立)と看做されるので、IF BUTTON(0) AND 1 THEN と謂う記述も可です。
0そうだね
プレイ済み
返信[7]
親投稿
従って、十字ボタン上が押された場合のBUTTON関数の返す値(戻り値)は、1と成るので、十字ボタン上が押された時に行う処理は、下記の様に記述します。 IF BUTTON(0)==1 THEN ' BUTTON(0)==#A の記述も可 '十字ボタン上が押された時に行う処理 ENDIF 単一のボタン押し下げ状態を判別する時は此れで良いですが、複数のボタンが同時に押し下げられた場合は、上記では判別出来ない事に成ります。例えば、十字ボタンの上と右が同時に押された場合、BUTTON関数の返す値は9に成り、1(上)とも、8(右)とも一致しなく成ります。
0そうだね
プレイ済み
返信[6]
親投稿
此れを、●を1、○を0と仕た2進数(各桁が0と1で表され、2に成ると桁上がりする数値)と看做すと、下記の様に成ります。更に、此れを10進数(各桁が0~9で表され、10に成ると桁上がりする数値)で表した物が、括弧内の数値です。右端は、プチコン3号での定義です。 0000000000001(1)#UP 0000000000010(2)#DOWN 0000000000100(4)#LEFT 0000000001000(8)#RIGHT 0000000010000(16)#A 0000000100000(32)#B 0000001000000(64)#X 0000010000000(128)#Y 0000100000000(256)#L 0001000000000(512)#R 0100000000000(2048)#ZR 1000000000000(4096)#ZL
0そうだね
プレイ済み
返信[5]
親投稿
BUTTON関数の返す値はビットフィールドに成って居て、イメージで謂うと、13個の豆電球が並んで居て、ボタンを押すと、其れに対応した豆電球が点灯する感じです(●が点灯)。 ○○○○○○○○○○○○● 十字ボタン上を押した場合 ○○○○○○○○○○○●○ 十字ボタン下を押した場合 ○○○○○○○○○○●○○ 十字ボタン左を押した場合 ○○○○○○○○○●○○○ 十字ボタン右を押した場合 ○○○○○○○○●○○○○ Aボタンを押した場合 ○○○○○○○●○○○○○ Bボタンを押した場合 ○○○○○○●○○○○○○ Xボタンを押した場合 ○○○○○●○○○○○○○ Yボタンを押した場合 ○○○○●○○○○○○○○ Lボタンを押した場合 ○○○●○○○○○○○○○ Rボタンを押した場合 ○●○○○○○○○○○○○ ZRボタンを押した場合 ●○○○○○○○○○○○○ ZLボタンを押した場合
0そうだね
プレイ済み
返信[6]
親投稿
98行で定義した定義番号2のスプライトを、ループ外で表示する丈でなく、ループ内でも色や大きさを変えて15個表示すると謂うので有れば、 SPDEF 2,0,168,64,64 SPSET 0,2 SPOFS 0,100,100 FOR B=1 TO 15 SPSET B,2 SPSCALE B,RND(2)+1,RND(2)+1 SPCOLOR B,RGB(RND(256),RND(256),RND(256)) SPOFS B,RND(210),RND(170) NEXT に成りますが、SPSCALEのRNDの引数が1では、乱数は常に0を発生しますので、等倍のスプライトしか表示されません。
1そうだね
プレイ済み
返信[4]
親投稿
98~100行で定義して居るスプライトの管理番号が2で、ループ内で表示して居るスプライトの管理番号も2なので、1個のスプライトしか使用されて居ません。ループ内のスプライトの管理番号をIに変更すれば良いですが、スプライトの管理番号は0~511なので、1000は無理です。猶、ループ内の管理番号に2を使用すると、ループ外のスプライトは消えますので、注意して下さい。
0そうだね
プレイ済み
返信[1]
親投稿
下記のコードでは、如何がですか。乱数の範囲は、適当に変更して下さい。 FOR B=0 TO 15 SPSET B,1 SPSCALE B,RND(3)+1,RND(3)+1 SPCOLOR B,RGB(RND(256),RND(256),RND(256)) SPOFS B,RND(200),RND(200) NEXT 猶、15回なら、FOR I=1 TO 15 に成ります(0 TO 14 でも良い、スプライト番号に合う様に変更して下さい)。 因みに、FOR C=0 TO 1 STEP 0 とステップ(増減値)が 0 なら、無限ループに成りますが…。
0そうだね
プレイ済み
返信[36]
親投稿
私は、何歳に何は無理と謂う様に決め付けない事に仕て居ます。プログラミングは、アルファベットと記号の入力が出来れば、何時でも始められると考えて居ます。其の為に、アルファベットと記号の入力練習ソフトを作り、採点を『太鼓の達人』風に下手から超達人に仕た処、子供達は超達人を目指して、一箇月足らずで、キー入力が出来る様に成りました。現在は、8歳の子供がVisual Basicでプログラミングを愉しんで居ます。
1そうだね
プレイ済み
返信[7]
親投稿
WHILE TRUE TOUCH OUT T,X,Y IF T!=0 THEN IF X>=*** && X<=*** && Y>=*** && Y<=*** THEN @START IF X>=*** && X<=*** && Y>=*** && Y<=*** THEN @SELECT IF X>=*** && X<=*** && Y>=*** && Y<=*** THEN @KYOUSEI ENDIF BU=BUTTON(0) IF BU AND 64 THEN @START IF BU AND 128 THEN @SELECT IF BU AND 64 THEN @KYOUSEI WEND
0そうだね
プレイ済み
返信[6]
親投稿
其れなら、@T ~ GOTO @T を取り除けば、何度も PRINTステートメントが実行される事に成りますね。特別な意図が無ければ、下記の様にすれば如何がですか(*部分は座標を記述して下さい)。(続く)
0そうだね
プレイ済み
返信[1]
親投稿
Lボタンを押して表示されるSAVE(下画面)をタッチすれば、ファイル書き込みのダイアログが表示されます。他にも方法は有りますが、此の方法が簡単だと思います。
3そうだね
プレイ済み
返信[4]
親投稿
@T ~ GOTO @T が無限ループに成って居ます。ボタン状態の取得も此のループの中に入れゝば良いと思います。猶、GOTO @HOME の飛び先は何処に有るのでせう。
0そうだね
プレイ済み
返信[2]
親投稿
ZEXさんの紹介されたサイトに行き、実際にコード(プログラム文)を入力して下さい。其れで、解らない事が有れば、此処で遠慮無く質問して下さい。此のコミュニティでは、『過去ログを調べろ』とか謂わず、皆、親切に教えて下れます。
0そうだね
プレイ済み
返信[4]
親投稿
プログラミングは、プログラマを目指す人達丈で無く、総ての人達に必要だと考えて居り、プログラミング普及の為に、此のコミュニティに遣って来ました。同じ志を抱くsayさんの様な人が居る事を心強く思います。 此のコミュニティには、プログラミングを始めたばかりの人達も多く居ますので、如何にプログラミングが愉しい物で有るかを知ら使め、永く続けて貰い度いと考えて居ます。其の為に、出来れば、此のスレッドで、具体的な方策を色々考えて観ませんか。色々な意見を聴かせて下さい。
2そうだね
プレイ済み
返信[3]
親投稿
ベーマガ時代は、ベーマガに限らず、多くのコンピュータ誌は読者投稿プログラムに依り成り立って居たのでは無いでせうか。少なく共、私は、定期購読誌以外は、面白そうな投稿プログラムが掲載されて居る物を購入して居ました。然して、誌面に掲載されたコードを入力して居ました。遊ぶ為に、自分でコードを入力する…と謂う環境が有り、其れで、知らず知らずの内に、色々なプログラミングテクニックを身に付けさせて貰いました。 人は、厭な事は、『将来必ず必要に成るから』と謂われても、何かと理由を付けて、遣らないで置こうとする物ですが、逆に、愉しい事は、『其処等で止めて置け』と謂われても、人の眼を盗んでゞも、遣り続ける物では無いでせうか。プログラミングは、言語(コンピュータとの会話)なのですから、続けて居れば、必ず出来る様に成ると考えて居ます。(続く)
3そうだね
プレイ済み
返信[1]
親投稿
BGMPLAYステートメントで引数にMML文字列を指定した場合、トラック0で演奏され、他のトラックで演奏させる事は出来ない様です。 併し、BGMSETステートメントで、MML文字列をユーザー定義曲に設定して、其のユーザー定義曲をBGMPLAYステートメントで、任意のトラックで演奏する事は出来ます。 BGMSET 128,"CDEFGAB" BGMPLAY 0,1 BGMPLAY 1,128
0そうだね
プレイ済み
返信[3]
親投稿
MARIKOのWALKを参考に仕て下さい。
1そうだね
プレイ済み