プチコン3号 SmileBASIC コミュニティ投稿ネタバレDaisuke 0909daiki092015/05/27 20:53:15質問プチコン初心者です。@MYをGOSUB~RETURNでループさせようと思ってるんですが、何故かループせずに終わってしまいます…親切な方教えてください…1そうだね 29返信プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿コータ[quota] W.D.WE2015/5/27 21:077行目で押したXボタンを放す前に24行目を実行しているためだと思います。0そうだね プレイ済み2017/11/03 20:50:23に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿Daisuke 0909daiki092015/5/27 21:29コータさん»そういうことですか!ありがとうございます!0そうだね プレイ済み2017/11/03 20:50:23に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿コータ[quota] W.D.WE2015/5/27 21:34プチコンは、人間の動きよりずっと速く実行するので、そのことを考える必要があります。あと、ボタン関数の値は、1フレーム(約1/60秒)の間同じ値を返します。0そうだね プレイ済み2017/11/03 20:50:23に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿say sayer.exe2015/5/27 21:477行目ってどこやねん と、思ったけど、前の投稿からの引用とは コータさんよく見てるなぁ 24行目をコメントアウトしたらループが動いて@myが毎回呼び出しされるようになるはずですが、でもこれ動きませんよ? 29行目の yy=0:xx=0 を yy=y:xx=x にすれば一応動きそうですが それより、一度フローチャートを書いたほうがいいですね1そうだね プレイ済み2017/11/03 20:50:23に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿でんぺん DENPEN2015/5/27 21:52こういう場合のボタンは押した瞬間でリピートのないBUTTON(2)を使うといいかもです。 ただその場合もボタンの処理の間にVSYNCやWAITが入らないと正確に動作しないです。ただ上記の場合は、GOSUB @MYの中でVSYNCが入ってるので正常に動作するとは思います。(ちょっとVSYNCの入れる場所としては気になる点もありますが)0そうだね プレイ済み2017/11/03 20:50:23に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿Daisuke 0909daiki092015/5/27 21:56ありがとうございます! sayさん»フローチャートを書いてはみたんですが途中で自分でも意味が分からなくなりました。何かコツとかあるんですか?0そうだね プレイ済み2017/11/03 20:50:23に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿でんぺん DENPEN2015/5/27 22:00sayさんの言うようにフローチャートを書くといいと思いますが、フローチャートを書かないまでもプログラムの流れをちゃんと追いながら動作の確認をしてみると良いかと思います。 そうすると29行目でXXとYYを毎回0にしていて、IFでXやYに入れているのはXXやYYに1を足したり引いたりしているので結果的にXとYは-1,0,1のいずれかにしかならない事になり、想定している動作とは違うことに気づけると思います。0そうだね プレイ済み2017/11/03 20:50:23に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿Daisuke 0909daiki092015/5/27 22:03なるほど…0そうだね プレイ済み2017/11/03 20:50:23に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿Daisuke 0909daiki092015/5/27 22:14でんぺんさん一つ質問です。画像ではいちいちループさせる度にPX=0にしているんですが動きます。何故なんですか?教えてください…0そうだね プレイ済み2017/11/03 20:50:23に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿でんぺん DENPEN2015/5/27 22:17この時のPXは33行目でXに足すための値になってるので、ループの度にXに足される(ここの足されるというのがポイント)ので正常に動きます。 この辺も実際に流れを追ってみて、とくにPXとXがどの段階でいくつになっているかを調べてみるとわかってくるんじゃないかなって思いますよ。0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿Daisuke 0909daiki092015/5/27 22:20ありがとうございます!0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿say sayer.exe2015/5/27 22:22フローチャートを書くコツかぁ… フローチャート自体がプログラムを理解するためのコツみたいなもんだからなぁ コツのコツを聞かれるとちょっと… でんぺんさんの言うように、「流れを追う」事が大事ですね 2つ前ほどの2つ目の質問なんかはいい例で、流れないところに処理を書いてもそりゃ当然処理されませんよ0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿Daisuke 0909daiki092015/5/27 22:35難しい…0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[14]親投稿say sayer.exe2015/5/27 22:43流れの追い方がわかれば初心者卒業ですよ♪0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[15]親投稿マギー M1912462015/5/27 22:47この場合に限ってのことなのですけど 式の前後に同じ変数Xがあることに 着目すると理解しやすいのでは、 ないでしょうか 0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[16]親投稿でんぺん DENPEN2015/5/27 23:27プログラムは上から下に流れます。また:で連結されているものは左から右に流れます。 それを意識して頭からプログラムをきちんと追いかけて、GOTOやGOSUBが出てきたらちゃんとその場所に飛ぶ(移動)して読んでいきましょう。 変数が出てきたら、その内容を紙に書くなどしてみるのもいいかもしれません。(例えばX=0と出てきたら、Xというラベルの紙を用意して、0と書き込む)そして内容の変化があったら都度内容は消して書き換えるようにします。 IFが出てきたら、その時の条件をしっかり確認してTHEN以降が処理されるか考えます。 変数に関しては、その役割を意識して考えるといいと思います。逆に役割のわからない変数やほとんど使われてない変数が出てきた場合は入力ミスの可能性もありますし注意して確認します。 始めは大変だと思いますが頑張ってください!0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[17]親投稿Daisuke 0909daiki092015/5/27 23:29とりあえず動かす事は出来ました。 囲ってある壁には判定をつけたんですが、中の壁にはまだ判定をつけていません。IF文をズラっと書くしか方法はないですかね…?0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[18]親投稿Daisuke 0909daiki092015/5/27 23:30でんぺんさん»応援ありがとうございます!0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[19]親投稿てっく tekpro2015/5/27 23:40移動先に文字があるかどうか、CHKCHRで調べるようにすれば1行で済むと思います。0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[20]親投稿Daisuke 0909daiki092015/5/27 23:54てっくさん»CHKCHRの使い方はよく分かりません…書き方だけ分かります。 M=CHKCHR(X,Y) ここからどう判定を付ければいいですか?教えてください…0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[21]親投稿てっく tekpro2015/5/28 0:08要するに普通なら0、文字かあればそれ以外の値になるということなので、 IF CHKCHR(X,Y) !=0 THEN @GAMEOVER みたいな感じです。最初の写真の35行目と36行目の間に書かないと、自分自身を調べてしまうので注意です。0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[22]親投稿say sayer.exe2015/5/28 0:19mに入るのはx,yの位置のキャラクタコードなので、 if m==asc("■") then @hit または if chr$(m)=="■" then @hit で、いけるんですが、今のコードをけっこう大幅に書き換えなければならないと思います 0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[23]親投稿say sayer.exe2015/5/28 0:35>てっくさん nullと空白文字は違うみたいですよ ☆前にそれでしばらく悩んだ 検証コード cls ? chkchr(5,5)'clsしたてなんで何も書いてない5,5を調べている locate 5,5:? " "'5,5に空白を書く ? chkchr(5,5)'同じところの文字コードの変化は如何に0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[24]親投稿Daisuke 0909daiki092015/5/28 0:40ありがとうございます!0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[25]親投稿say sayer.exe2015/5/28 1:58試しに作ってみたら、何か腹立つゲームができました PKKENVKE0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[26]親投稿てっく tekpro2015/5/28 7:05>sayさん、とりゅふさん これ以前にDATAでMAP生成していたのを忘れていました。すみませんでした。0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[27]親投稿Daisuke 0909daiki092015/5/28 20:07sayさんの作ったゲームが僕の作りたいゲームに似ているのでとても参考になります!所で質問なんですが、FORMAT$とはどういう時に使うんですか?教えてください…0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[28]親投稿say sayer.exe2015/5/29 7:39format$をどういう時にって… 「工夫次第」としか言いようがありません print "score";sc;"hp";hp て書くより楽だから、print命令と併用してるだけです なまじ下手に工夫を薦めると、人のためにはならないと思うので、敢えて他の使い道は提案しないことにします ☆「他に思いつかない」とも言う ちなみに使い方については、ヘルプを見て既存のコードと見比べたり、自分なりに解釈して試したほうがてっとり早いです0そうだね プレイ済み2017/11/03 20:50:22に取得
プチコン3号 SmileBASIC コミュニティ返信[29]親投稿Daisuke 0909daiki092015/5/29 21:02ありがとうございます!0そうだね プレイ済み2017/11/03 20:50:22に取得