Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
113 14 15 16 17 18 19 20 21 22 23 24 25
次のページ(過去)
返信[1]
親投稿
ケイン KEIN.HORGAN
何故か、と言えば、 1.宝箱にぶつかる 2.ループを抜けて宝箱が開く 3.プログラム最後の行を実行したので終わる ですね。 えーと、「作品を見る」から実行すると、不具合で終了するように見えますが、DIRECT モードで実行すればとりあえずどう動いているかは分かると思います。
1そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
DLしましたー 強いてあげれば、説明書を見るときはゲーム画面も一緒にみたいかも。 あ、強盗イベント遭遇しました。 強気な選択をしたらあえなく返り討ちにあったんですが、これって結果はランダムです? 怖い怖い。 イベント募集とのことで考えてみましたけど、面白いのはなかなか思い浮かばないですねー 面白いイベント考えられる人はすごい。
0そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
とりあえずタイトル画面に戻り、「作品を見る」を選択して、そしてファイルを探してみてください。
1そうだね
プレイ済み
返信[7]
親投稿
ケイン KEIN.HORGAN
えーと、[] の中に書いてある数字は"添え字"と呼ぶのですが、この添え字は、変数を使う事も可能、という話でした。 つまり、 I=5 ' 変数I に数値5 を入れている。 HP[I]=10 ' HP[I] というのは、I=5 なので、HP[5] を意味する という事になります。
1そうだね
プレイ済み
返信[5]
親投稿
ケイン KEIN.HORGAN
具体例を出した方が分かりやすいでしょうか? あるゲームを作っているとして、その時に敵のHPを扱う必要があるとします。 例えば敵が5体出てきた場合、そのHPをそれぞれ HP[0]=100,HP[1]=105,HP[2]=95,HP[3]=100,HP[4]=100 と設定したとします。 さて、主人公が全体攻撃を使用して、全員に20点のダメージを与えるケースを考えます。この場合、 HP[0]=HP[0]-20:HP[1]=HP[1]-20,HP[2]=HP[2]-20,HP[3]=HP[3]-20,HP[4]=HP[4]-20 とする代わりに、 FOR I=0 TO 4:HP[I]=HP[I]-20:NEXT とする事が可能になります。
0そうだね
プレイ済み
返信[3]
親投稿
ケイン KEIN.HORGAN
R'R=143°さん、残念ながら間違ってます。 ABC[10] とした場合、要素は[0]から[9]までです。 さて、配列変数とは? 同じデータ型の変数をまとめて扱う為の変数。 DIM HP[10] とした場合、 HP[0],HP[1],HP[2],HP[3],HP[4],HP[5],HP[6],HP[7],HP[8],HP[9] の10個分の変数が用意されます。また、この時、 I=5 HP[I]=10 'HP[5] に10 の値が入る みたいな使い方も出来ます。
2そうだね
プレイ済み
返信[3]
親投稿
ケイン KEIN.HORGAN
DIM もVAR も同じ機能なので、どちらでもいいですし、両方使ってもいいです。
0そうだね
プレイ済み
返信[2]
親投稿
ケイン KEIN.HORGAN
公式サイトに創刊号に載っているユーザー作成ソフトの公開キーがありますので、DLすればそれは可能です。 しかも、プログラムの都合で創刊号では紹介にとどまっていたソフト(プログラムを修正しながら進めるゲーム)もプレイできます。 ……が、ただ1つ、SOLID GUNNER(だっけ?)は創刊号を買うしか今のところプレイの方法がないです。
0そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
えーと、まずVIR っていうのはないのですが、画面みる限り、VAR の事でしょうか? 仮にVAR だとして、DEF とVAR は全然違う機能なので、使いやすいとかにくいとか比べられる物ではないです。 ちなみに、DIM というものがありますが、これはVAR と同じ機能なので、使いやすいもにくいもないはずです。
0そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
ちょっと質問の意味が分からないです。 > 下の、リストにファイルが... とは、どういう意味ですか?
0そうだね
プレイ済み
返信[5]
親投稿
ケイン KEIN.HORGAN
他人の作ったゲームをDLして遊ぶだけならゲーム。 その後で、プログラムを眺めて解析したりするなら「プログラムの」勉強。 もしそのプログラムが、数学関数を多用しているようなら、「数学の」勉強になりえる。 たとえば、シューティングにおける弾の軌跡やら、敵機の移動パターンを方程式で表したり…… また、描画ソフトなんかで楕円や多角形を配置しようと思ったら、角度計算やら点と線、線と線、などの間の距離の算出方法を覚えないといけないし。
0そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
プログラムの組み方、となると、まずは公式サイトの初心者講座などを読んでみるといいと思います。 (あれはMKII 版なので、プチコン3号の場合は若干異なるのですが… わからないところがあれば、答えることは出来ますので)
1そうだね
プレイ済み
返信[15]
親投稿
ケイン KEIN.HORGAN
まあ、あるサブルーチンを複数の箇所から呼び出している、とか普通にあり得るから、『GOTOにするのは無理』、と言うのは分かります。
0そうだね
プレイ済み
返信[14]
親投稿
ケイン KEIN.HORGAN
ランチャーみたいなのを作りたいのかなぁ。 素直に最初の呼び出し元まで遡るしかないとは思いますが……
0そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
42行目が間違っているような気がします。 SKYX が0 のときに、@SKYRIGHT してますが…… この時、@SKYRIGHT では、SKYX の値について何も変更を加えないですよね。 つまり、 42行目:SKYX==0 だから38行目の@SKYRIGHT にジャンプする 38行目:@SKYRIGHT 39行目:SKYX==36 ではないから、何もしない 40行目:BT==8 でない場合、何もしない 41行目:@SKYLEFT 42行目:SKYX==0 だから38行目の@SKYRIGHT にジャンプする 38行目:@SKYRIGHT と延々とループしてしまうように思えますが……
1そうだね
プレイ済み
返信[5]
親投稿
ケイン KEIN.HORGAN
次のフレームで、10,12~20発目が処理され、10発目が削除されるわけですが、ここで 「あ、11発目が処理されない」 となるわけです。 次のフレームからは、第2波目しか表示されなく、配列も削除されないので、問題なく、 「11~20発目が表示」 されるわけですが、直前のフレームで11発目が処理されていないため、11発目だけが1フレーム分遅れて表示されるわけです。
0そうだね
プレイ済み
返信[4]
親投稿
ケイン KEIN.HORGAN
なお、今回実際に発生している問題は、最初の弾が消える前に2波目の弾を撃った場合です。 弾が20発存在している場合、 最初に処理されるのは、1,3,5,7,9,11~20 発目です。 1~5発目が削除されます 次のフレームでは、弾配列に6~20 発目のデータが入っています。 処理されるのは6,8,10,11~20発目。 6,7,8が削除されます 次のフレームで、9,11~20 発目が処理され、9発目が削除されます
0そうだね
プレイ済み
返信[3]
親投稿
ケイン KEIN.HORGAN
2.配列を先頭から削除した場合、処理が飛び飛びになる。 つまり、1発目の弾を削除した場合、元の2発目が1発目の位置に、3発目が2発目の位置にくる。 しかし、次のループでは、I=1、つまり2発目の位置にある弾を処理する事になるので、3発目を処理してしまう。 にも関わらず、弾配列の先頭を削除する = 処理していない2発目の弾を削除してしまう。 多分、弾表示ループの外に弾削除処理をいれれば大丈夫だとは思いますが……
0そうだね
プレイ済み
返信[2]
親投稿
ケイン KEIN.HORGAN
デバッグの為にコードをいじってしまったので、ちょっと行はずれてるかもしれませんが、原因は、 86行目からの星弾描画処理にあります。 FOR 文の終了条件を、配列の要素数 -1 にしているのと、FOR 文の最中で配列を削除してしまっているのが原因です。 1.FOR 文は、毎回終了条件式を計算しなおす。 終了条件に配列の要素数を指定している場合、FOR 文中で配列の要素数を変更すると、ループ数がおかしくなる
0そうだね
プレイ済み
返信[2]
親投稿
ケイン KEIN.HORGAN
sayさんの対応が一番スマートですが... 原因についてはデータ型の問題です。数値を直接引数に指定した場合、整数型になってしまいます。 回避する場合、倍精度実数型を明示する事で可能です。 具体的には、変数に#をつけます。 添付画像を参考にして下さい。
0そうだね
プレイ済み