プチコン3号 SmileBASIC コミュニティ返信[8]親投稿でんぺん DENPEN2016/5/3 23:48役割的にFORの箇所をREPEATとかにするのはよほど処理速度をが欲しい場合でなければそこまでする必要はないかもとも思いますがTIPS的な感じで覚えておくのはいいかもしれませんね。 MIKIさんのやり方の場合はカラーも含めちゃうといいかもとも思いますが上記の例だと変わらない事もあるんで迷うところですね。0そうだね プレイ済み2017/11/03 18:10:45に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿でんぺん DENPEN2016/5/3 18:59RNDを使えばランダムな数字を得られることはわかってるみたいですね。 なので、後はその数字を文字に変えればいいんですよ。 文字に変える方法は色々ありますが、全てIFで判断するやりかただとしたら、 R=RND(3) IF R==0 THEN PRINT "もじ1" IF R==1 THEN PRINT "もじ2" IF R==2 THEN PRINT "もじ3" みたいな方法があります。文字配列を使えばIFを使わずに文字列に変換する方法もありますんで、色々と試してみましょう。3そうだね プレイ済み2017/11/03 18:10:48に取得
プチコン3号 SmileBASIC コミュニティ返信[32]親投稿でんぺん DENPEN2016/5/3 15:24ありゃりゃ。イージーミスしちゃってましたね(^^; ラベル名は始めDEMO_MSGみたいにしてて後からSTORY_TEXTに変えた(つもり)だったんですが、そこで間違っちゃったみたいですね〜…。 DATAはいろんな使い道があるんで、一例として使ってみました。慣れてきたら自分なりに使いこなせるようになると思いますよ〜。 インデント(空白)はWHILEなどの範囲(ブロック)に対して入れる感じですね。なのでIFとかでもENDIFを使って複数行にする場合は、その間はスペース入れます。ブロックなので入れ子になればスペースの数は2,3と増えていきますがブロック毎に上げ下げするのがポイントです。 プログラムを見た感じだとまだIFのブロックは活用してない感じもあったので、その辺をうまく使えば似たような判定はまとめられるし効率的にしていけると思いますよ〜。0そうだね プレイ済み2017/11/03 14:53:20に取得
プチコン3号 SmileBASIC コミュニティ返信[29]親投稿でんぺん DENPEN2016/5/3 14:31少し遊んでみましたよ〜。スプライトにしたことで動きが滑らかになりゲーム性が上がりましたね! まだ23ポイントAランクぐらいだったのでSランク目指してみます、笑 プログラム的には気になる点は多いですがゲーム的には良く出来ていると思うのでセンスがあると思いますよ〜。 ちょっとだけプログラムいじってみました。といってもゲームの部分じゃなくてSTORYの部分です。こういうパターンだとDATAを使う方法もあるんで参考までに。タイトルの部分も工夫すればDATA化できるとも思います。キー:D3SKYXRY あとは全体にインデント(字下げ)を一般的に正しい数に変えてみました。本当は命令の区切りはスペースじゃなくて:(コロン)方が望ましいので、それも変えた方がいいかなぁ、とも思います。 とはいえまずは色々作って楽しむのが先決ですし頑張ってください! 0そうだね プレイ済み2017/11/03 14:53:22に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿でんぺん DENPEN2016/5/3 1:32とりあえず3行目と4行目は2行目の前に移動する事をお勧めしつつ、お疲れ様でした〜。0そうだね プレイ済み2017/11/03 13:24:46に取得
プチコン3号 SmileBASIC コミュニティ返信[26]親投稿でんぺん DENPEN2016/5/2 21:15出来るようになったようで良かったです。 ちなみに3行目と4行目は入れ替えた方がいいですよ。 これからも頑張ってください。0そうだね プレイ済み2017/11/03 13:26:05に取得
プチコン3号 SmileBASIC コミュニティ返信[15]親投稿でんぺん DENPEN2016/5/2 16:19出来れば日本語で解説して欲しい感じなんですけどねー…。 あまさとさんのアドバイスを参考に改善してみるか、もしくは僕のアドバイス(?)を参考に自分のプログラムを説明してみるかをしてもらえればって感じです。 もし僕のアドバイスを参考に説明してくれる場合は、その回答に関しては責任を持って答えるつもりではいます。1そうだね プレイ済み2017/11/03 13:26:05に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿でんぺん DENPEN2016/5/2 15:34向き不向きもあるしプログラムは応用でもあるから必須にしなくてもいいと思うのは僕だけ? やる人は自主的にやるし、それよりは基礎を固めた方がいいような…。 ただ学習にパソコンを利用して効率化を図るというのはもっと積極的にやってもいいと思う。とくに物理や空間図形みたいなのはパソコンに向いてるし。 ……てかもう導入されてる? 正直、今の学校の感じはわらないので…(^^; 5そうだね プレイ済み2017/11/03 18:10:52に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿でんぺん DENPEN2016/5/1 22:552列も1列も考え方は同じですよ。なので、とりあえず1列を完全に出来るようにしてからの方がいいと思います。 あと説明するのは、人に説明することによって自分の頭の中が整理されるというメリットがあるので、わからなくなったときは、とりあえず自分で解説してみるのも一つの手です。0そうだね プレイ済み2017/11/03 13:26:05に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿でんぺん DENPEN2016/5/1 22:13残念ながら間違えですねー…。 とりあえず間違っていても良いので今のコードを1行ずつ、日本語にして説明してもらえますか? そしたらその解釈に対してのコメントをしたいと思います。 自分で説明が出来ないのだとしたら、説明できる範囲までシンプルに削って少しずつわかるようにした方がいいですし、説明が出来るならその解釈に間違え(や勘違い)があるはずなので、その辺を見てみたいような気がします。 ちなみに日本語の説明は上記のコード(スクリーンショット)に対して、 1行目 画面を全てクリアする。 みたいな感じで良いです。0そうだね プレイ済み2017/11/03 13:26:05に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿でんぺん DENPEN2016/5/1 20:21もう一つだけ。以下のプログラムで文字列を1文字ずつ表示する事が出来ます。ということでこれを応用すればマップにも変換できるはず。 頑張ってください! M$="■■■■■■■■■■" FOR I=0 TO LEN(M$)-1 PRINT (I+1);"もじめ、";MID$(M$, I, 1) NEXT 0そうだね プレイ済み2017/11/03 13:26:05に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿でんぺん DENPEN2016/5/1 19:29READで文字列(2文字以上)を読み込んだ場合、当然ですがIFで判定できるのはその文字列(固まり)になっちゃうのはプログラムを見た感じわかったのかなと思います。 ということは、あとはこの文字列を1文字ずつ分解して、その文字に対して数値に変換してあげれば望みの動作になると思いますよ。 文字列を分解するにはMID$命令を使います。また1文字ずつ処理する都合上、文字列の長さがわからないと困りますが、それはLEN命令で調べられます。 また1文字だけ抜き出すならMID$じゃなくて文字列を配列的に処理する事でも可能ですし、その方が記述がシンプルですが、まずはMID$でやってみるのがいいじゃないかなと思います。MID$の方が様々な用途に使えますしね。0そうだね プレイ済み2017/11/03 13:26:05に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿でんぺん DENPEN2016/5/1 12:35まずはDATAを1つにしてREADで読み込んだ文字列をBGにするところからやってみるといいんじゃないかな? その場合、READするためのループは無くても大丈夫ですが、読み込んだ文字列は1文字じゃない(1文字にする方法もあるけど)ので、その文字列を1文字ずつに分解して(そこでFORはつかえる)、その1文字に対してIFやその他の命令でBG番号に変換してやって、その番号のBGを配置(BGPUT)してあげればいいという感じです。 一つ一つ理解を深めて自分のプログラムが組めるように頑張ってください。1そうだね プレイ済み2017/11/03 13:26:05に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿でんぺん DENPEN2016/5/1 12:31僕もZEXさんのプログラムの2行目はボタンウエイトの基本パターン(定石)に近いものじゃないかなって思っています。理由はリピート後に必ずWAITが1回入るのでキーの状態が正確(その時の状態)になるのが大きく感じてます。 あと僕も:とかは初心者ほど正しく使うべきじゃないかなって思います。スペースや省略はZEXさんの言うように使えなくなる可能性もありますし、理解して使っているのならば問題ないですがそうじゃない場合、場合によって動かない時に問題になりますし:で区切る箇所がわからないって事があるとしたら、それこそ理解が不十分だと思いますしね。 まあでも1画面プログラムや上級者が意図的に削る分には問題ないと思ってもいますが、そうじゃない場合はまずは正しい理解が大事じゃないかなーって思います。0そうだね プレイ済み2017/11/03 13:26:03に取得
プチコン3号 SmileBASIC コミュニティ返信[26]親投稿でんぺん DENPEN2016/5/1 0:49始めはそれでも問題ないですけどね〜。 ただプログラムの綺麗さとか無駄のなさとかは実は自分の為で、後々自分が楽になるんですよ〜。別に人に見せるからとか、そういうのは関係ないですしね。てか僕もあまり人にソースは見せたくない方ですし、笑 とはいえそれが負担になると本末転倒でもあるんで出来るところから手をつけてみるのがいいと思います〜0そうだね プレイ済み2017/11/03 14:53:22に取得
プチコン3号 SmileBASIC コミュニティ返信[24]親投稿でんぺん DENPEN2016/4/30 17:19もひとつ、これは全般に言えることでただ好みのあるので必須ではないけど、個人的な意見として、命令の区切りである:(コロン)はなるべく正しく入れた方がいいです。(スペースで代用出来たり省略できる箇所があるけど) あとインデント(行の前のスペース)を使う場合、出来るだけ正しく使った方がいいんじゃないかなーって思いました。 まあそんなところです〜0そうだね プレイ済み2017/11/03 14:53:22に取得
プチコン3号 SmileBASIC コミュニティ返信[23]親投稿でんぺん DENPEN2016/4/30 16:53スプライトマスターに対するちょっとだけアドバイス(^^; MR.FISHのコードを見てみてみました。色々とこうしたら良いというのがありますが、スプライトの使い方についてちょっと間違ってる感じがあったところを指摘しておきますね。 スプライトはSPSETで登場させますが一度表示すれば消さない限り消えないのでメインループの中で何度もSPSETする必要はないですし、何度もすると都度スプライトが初期化されることになるので色々と無駄が多くなってしまいます。なのでSPSET系は出来るだけメインループの外に出した方がいいです。あとは位置を変えたいときはSPOFSで変わりますし、SPCHRなどでキャラを変えることも可能です。 他にもありますが、とりあえずスプライトの使い方の基本として書いてみました!0そうだね プレイ済み2017/11/03 14:53:22に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿でんぺん DENPEN2016/4/30 0:07コンソール(文字)画面の座標のキャラを調べる命令はあるので、それを使えば指定位置の文字を判定する事が出来るけどそういうことなのかな? 判定である以上は、IF自体は使うことが多いと思いますよ。 ただ文字の場合は他の文字の場所と同じ場所に表示すると上書きされて前の文字は消えてしまうので、その辺は工夫する必要があります。例えば移動判定なら移動してから判定しても自分のキャラになっちゃうんで、移動前に判定するなどやり方を考えないといけなくなると思いますよ。0そうだね プレイ済み2017/11/03 18:11:17に取得
プチコン3号 SmileBASIC コミュニティ返信[21]親投稿でんぺん DENPEN2016/4/29 22:47ランダム要素もあるので人が出てくる場所の運が良かったのも大きいと思います(^^; ただ思わず出てきた方向に動き出そうとしてしまっていたので、そうじゃなくて積極的に上下左右ワープを使って最短距離を移動する事を心がけてみました。そして上記の運も含めていい感じにギリギリ9人いけた感じでした〜。 シンプルで楽しいですよね。 例えば同時に二人以上出てきたり、偽物?(捕まえてはいけない)も混ざってるようにしたら、このゲームもまだ発展させられそうな感じがありますよね。 GW中にスプライトマスターできるように頑張ってください〜!0そうだね プレイ済み2017/11/03 14:53:22に取得
プチコン3号 SmileBASIC コミュニティ返信[18]親投稿でんぺん DENPEN2016/4/29 22:37なんとなく今プレイしたら9人いけました!0そうだね プレイ済み2017/11/03 14:53:22に取得