投稿
ゆうご 1028taichi
プチコン超初心者ですが………      Aボタンを連打して棒を折る………みたいな物出来ますか?
6そうだね
プレイ済み
返信[1]
親投稿
作れますよー。 そうですね・・・一番簡単な方法ですと、 BUTTONっていう命令とPRINTという命令を使えば作れるかな。
1そうだね
プレイ済み
返信[2]
親投稿
ゆうご 1028taichi
????
0そうだね
プレイ済み
返信[3]
親投稿
けんさん amazake
「棒のHP」変数を作り減らしていき 0になったら折れば良いと思います。 ボタンが押されているかどうかは BUTTON命令で確認できるみたいです
0そうだね
プレイ済み
返信[4]
親投稿
ゆうご 1028taichi
……………?
1そうだね
プレイ済み
返信[5]
親投稿
かぬつう 2003kanutuu
棒を書いておく→ボタン押す→変数Aに1+される→Aが30になる→棒を1回消す→ おれた棒を書く 的な?
1そうだね
プレイ済み
返信[6]
親投稿
ボタンは難しいですよね。 ' ボタンの状態を取得 B = BUTTON(2) ' もし Aボタンが押されたら IF B AND 16 THEN ' HPを減らす HP=HP-1 ENDIF みたいな感じです。
1そうだね
プレイ済み
返信[7]
親投稿
ゆうご 1028taichi
ぼ…棒はどうやったら書くことが………?
0そうだね
プレイ済み
返信[8]
親投稿
' 折れてない棒 LOCATE 0, 0 ' 左上に書く PRINT " | " PRINT " | " PRINT " | " PRINT " | " ' 折れてる棒 LOCATE 0, 0 ' 左上に書く PRINT " " PRINT " __" PRINT " | " PRINT " | " こんなかんじで、PRINT文を並べて書いてみましょう。
0そうだね
プレイ済み
返信[9]
親投稿
りゅう uramino
くっ、先を越された!
0そうだね
プレイ済み
返信[10]
親投稿
りゅう uramino
確認。黒画面ではなくこの画面にはしてますか?
0そうだね
プレイ済み
返信[11]
親投稿
ゆうご 1028taichi
え?その画面は?
0そうだね
プレイ済み
返信[12]
親投稿
りゅう uramino
黒画面は実のところ「実行画面」(プログラムが実際に動く場所)であって、プログラムを書く場所じゃなかったりします。 まずは、下画面一番下、左側の、水色ボタンの「EDIT」を押してみてください
1そうだね
プレイ済み
返信[13]
親投稿
ゆうご 1028taichi
こ、こうかな?
3そうだね
プレイ済み
返信[14]
親投稿
りゅう uramino
そうです! 分かりづらいかもしれませんが、「EDITでプログラムを書いて」→「黒画面で実行(やセーブ)」をする、って事を覚えていきましょう 試しに、そこにPRINT "(何か言葉)"を入力して、今度は黒画面に戻ってみてくださいな 黒画面に戻るときは、EDITの隣の「DIRECT」を押します
1そうだね
プレイ済み
返信[15]
親投稿
ゆうご 1028taichi
るるるきゅ~sのを参考にしましたが………
0そうだね
プレイ済み
返信[16]
親投稿
あ、そっか、もしかすると実行方法がわからないですよね。 プログラムを書いたら、キーボードの左下からダイレクトモードにもどって RUN でプログラムが実行されます。
0そうだね
プレイ済み
返信[17]
親投稿
りゅう uramino
このままエンターを押して、次の行に進んでみてください。 さっきの黒画面は「実行画面」だったので、エンターを押すと「よっしゃ任せろ」と実行しちゃうんですが こっちの画面は次の命令を一緒に書いちゃえるんですね。 というわけで、同じように「PRINT"(棒の形)"」を入力して、棒を作っちゃいましょう
0そうだね
プレイ済み
返信[18]
親投稿
ゆうご 1028taichi
こうですか………?
1そうだね
プレイ済み
返信[19]
親投稿
りゅう uramino
あっ…一番最初に「LOCATE 0,0」か「CLS」入れたほうがいいかも… まぁとりあえず、もうこの時点で、黒画面に戻って「RUN」と入力すれば 画面に棒の形が表示されます。 …でも、これじゃ味気ないですよね?…Aボタンでこの棒を折りたいですよね? この「PRINT」をいっぱい書き並べた画面をさらに改行して、 @LOOP GOTO @LOOP と書いてみてください。
1そうだね
プレイ済み
返信[20]
親投稿
ゆうご 1028taichi
RUN(?)しましたが……ここからどうしたら?
0そうだね
プレイ済み
返信[21]
親投稿
ゆうご 1028taichi
あ、今日の返信ができるのはここまでです。ありがとうございました! 明日またお願い出来るでしょうか?
2そうだね
プレイ済み
返信[22]
親投稿
それで折れてない棒は完成ですね! 写すだけっていうのも物足りないかもしれませんが、折れてない棒の下にスクショのコードを書いてみてください。アレンジを加えてもいいですよ。
2そうだね
プレイ済み
返信[23]
親投稿
明日は平日になるので返信が遅くなってしまいますが、可能な限り応援します!
0そうだね
プレイ済み
返信[24]
親投稿
りゅう uramino
お疲れ!こんな感じでガッツリアドバイスはできないけど、ふらっと助言しにくるよ
0そうだね
プレイ済み
返信[25]
親投稿
では今のうちに上のコードの説明を残しておきますね。 HP=30 棒のHPが30ということです。 @LOOP @から始まるオレンジ色の文字はラベルと呼ばれるものです。 B=BUTTON(2) ボタンが押された瞬間の状態を取ります。 IF B AND 16 THEN もしも Bに16が含まれていたら(Aボタンが押されていたら) ここがボタンの難しいところで、今はこういうものだとまる覚えで構いません。
0そうだね
プレイ済み
返信[26]
親投稿
HP=HP-1 HPから1引きます。棒にダメージ! BEEP ビッって音を鳴らします。 IF HP==0 THEN GOTO @END もしも HPが0(HP==0) なら@ENDラベルまでジャンプします。 HPが0ってことは折れたってことですね。 ENDIF 「もしもAが押されたら」のIF文のおわりです。
0そうだね
プレイ済み
返信[27]
親投稿
VSYNC いまはループの前に書かないといけないおまじないとだけ覚えておいてください。 GOTO @LOOP @LOOPラベルまで戻ります。折れるまではぐるぐるループしつづけるわけですね。 @END @ENDラベルです。棒が折れたらここにジャンプしてきます。 LOCATE 0,0 これから書く文字を左上から書き始めます。 PRINT " ┌ " ... 折れた棒を表示します。
0そうだね
プレイ済み
返信[28]
親投稿
あ、最初の折れてない棒を書く前にも LOCATE 0,0 を書いたほうが良いです。
0そうだね
プレイ済み
返信[29]
親投稿
ゆうご 1028taichi
あのゲーム……完成です!……まだ折ってからの設定は出来てませんが。   
2そうだね
プレイ済み
返信[30]
親投稿
ゆうご 1028taichi
あ、あり?この英語の羅列は?
0そうだね
プレイ済み
返信[31]
親投稿
りゅう uramino
実は、最初に「プログラムを作る」を押して黒画面に来たときの、あのよく分からない言葉が残ってて、 それのうえから「おれてない」や、棒の形を書き込んだ漢字になっちゃってます。 EDIT画面の一番上っかわに、一行だけ「CLS」と書き込んで、エンターを押してひとつの文を作る。 そして実行することで、最初に黒画面にあった文を消すことが出来ます。 ちなみに、途中に書いたりしたら、せっかく書いた棒や文字がきえちゃいます。 CLS、って言うのはそういう命令なんですね
0そうだね
プレイ済み
返信[32]
親投稿
おおー、おめでとうございます! あとはそれに自分なりのアレンジを加えたりするのもいいですよ! HPを増やす? 折るまでの時間をはかる? 棒がつぎつぎと出てくる?
0そうだね
プレイ済み
返信[33]
親投稿
ゆうご 1028taichi
あ、時間制限とか出来ます?
0そうだね
プレイ済み
返信[34]
親投稿
MAINCNTという物があります。これはプチコン起動時からのフレーム(1/60秒)をはかってくれているのです。カウントをスタートさせたいタイミングで変数にMAINCNTを入れます。そのあとはMAINCNTからさっきの変数を引いて60で割れば秒数がでます。 サンプルコード CNT=MAINCNT @LOOP PRINT (MAINCNT-CNT)/60 GOTO @LOOP 多分これを応用すればいけます。頑張ってください!
1そうだね
プレイ済み