旅人への電文・旅人からの電文 掲示板

▼過去ログ13
2014/10/9 12:12

○ごっち
Re:あけぼのさん
Re:SB3の「戦闘開始」画面
そうでしたか残っていないんですね。
Ver. 1.1xや1.2xの頃では三点セットになっていないだろうし、あそこの三点セットは永久に不明なんですね。残念です。
私がほぼ同じような部分で少しずつことなる部分を書くときは、本編のテキストと一時的なテキストとを、必要なところを置換して書き換えてから全てコピーして切り替えて貼り付けてを満ち足りるまで繰り返すことをする際、
コピーしてからファイルを切り替えて貼り付けるはずが、切り替えてからコピーして貼り付けてしまい、今回 書き加えたところを検査しておかしくなっていることに気がついて、
行数が異常に多くなっていたこともあり、重複しているところを削除するか、それとも一つ前のファイルからやり直すか判断しようとしたら、
一つ前のファイルは大きく2つ程度(細かいところを含めると4つ5つ)書き換えているためひとつ前からのやり直しは断念し、重複している部分の削除を試みることになった。
2万数千行程度重複している部分がありそこを削除するのに、重複している部分より下をまず切り取り別なファイルへ書き出して、重複部分を削除し、、
さらに、一箇所だけ少しだけ書き換えてコピーできていなかったところを作成し追加し、最後に別ファイルへ書き出した必要な部分を下から合体させて、無事にリフォーム完了。
どこからどこまでが重複しているのかを特定するのが非常に苦労した。
こんな苦労するなら、ごくごく細かくバージョンを分けて、そのバージョンごとに別なファイルで作成していくんだったなと、改めて思い直した出来事がありました。
もしよければ、重大な間違いがおこってもダメージをできるだけ少なくするためにも、その都度別なファイルにしてから、作成を始めるといいかも。
私なりには、バージョンの小数点第一位は大幅な作成があるとき、また区切りがついたなと思うとき、
小数点第二位は、その下の普通の作成があるとき、または小数点第三位から繰り上がったとき、
小数点第三位はその下の細かい作成があるとき
のようになんとなくだけどバージョンのルールをつけています。
と書いたけどバージョンのつけ方はどうでもいい、
少ないダメージにするため、書き換えた差が少ないうちに次のファイルで作業を進めるといいかも。
全部削除してしまうこともあるかもしれないし。
2014/10/9 12:12

○あけぼの
Re:ごっちさん
Re:SB3の「戦闘開始」画面
 こんばんは。
 前の「SB3 1.30」のテキストは、どこかにバックアップしてあると思ったのですが、実は、ごっちさんから連絡があった後、すぐに修正作業にかかってしまい、今は新しいファイルしか残っていません。
 だいたいはバックアップをとっておくのですが、今回はたまたまというか、バックアップまで頭が回っていませんでした(苦笑)。
 choi命令は確かに、そういう「落とし穴」ありますよね。
 私も今回、sel文からchoi文に書き換えていて、ごっちさんの実験結果を基に、「あ、こりゃへたするとゲームがここで止まってしまうな」と思った箇所がいくつかありました。
 それで、今回は主要な選択肢の一番最後に「プロローグからゲームをやりなおす」という選択肢を各所に加えました。
 もし間違えてここに入ってしまっても、「ゲームを最初からやりなおしますか?」と聞かれるので、そこで「このまま続行」を選べば、一応そこで「崖から落ちる」ことは防げるというわけです。
 でも、今回のごっちさんの実験や連絡のおかげで、かなりゲーム内の書式をすっきりさせることができました。また、こちらも途中で幾度もセーブしながらテストしていて、「ほう、この書き方だとこうなるんだ」とか、前以上におもしろいことにいろいろとあたりましたね。
 「ダメージコントロール」イベントも、書式を見直すことで、いろいろとバージョンを作っているうちに、気づいてない間に同じシリーズでも命令文に統一性がなかったり、古い命令がそのまま消し忘れていたりと、いい整理整頓の時間になりました。
 そのおかげで、新しいイベントのアイデアも浮かび、前よりも複雑なイベントが組めるようにもなりました。やはりこういうプログラムは、とにかくいじってなんぼですね。習うより慣れろですね。
 BASIC、なつかしいです。高校の数学の教科書に少し載っていました。ほんと、こういうのは、書いて実行させて、ほかの人にもそれをやってもらい、情報や知識を交換してこそ、発見が生まれますね。
[もう一声]
ま、なんでも頭でただ考えるより、まずは動いてみる。考えて動いて、また考えて動く。青色LEDも、機器の不具合で偶然できたんだとか。ペニシリンも偶然発見された結果の産物。ゲーム作りも同じですね。
2014/10/8 21:38
[HP]

○ごっち
Re:あけぼのさん
その部分のテキストをください
SB3 version 1.30 の
「sel,ラベル1,戦闘開始,ラベル2,パラメータを見る,ラベル3,プロローグからやり直す」
の部分のコピーがまだ残っていると思うんだけど、
残ってたらそこの
go命令からsel命令までの私が命名した三点セットの部分である複数行を
まるごと範囲コピーしてメールでくださいませんか?
3行分、間に空行が挟まっているならば4行か5行か6行か…、三点セットの部分が欲しいです。
三点セットに不備はあるか?、なっていたら、そこの部分だけのテキストを書いて実行してエスケープを押してみて、それでもプログラムが応答しなくなるのか試してみたいのです。
2014/10/8 15:30

○ごっち
Re:あけぼのさん
Re:SB3の「戦闘開始」画面
まとめレスです。
まず一つ。
if文の条件部分は、ピンポイントならば=にするけど、そうでなければできるだけ、< <= >= > のどれかにするというのは「基本」御幣をおそれずに言えばそういえるかもしれないです。
ホビーパソコンのMSXの中にBASICというオトノベよりも多くの命令が用意してあるプログラム言語が標準で入っていて、本屋でBASIC入門書を一冊買って来て短いプログラムを打ち込んでは、ほほー、と納得し、本に載っているプログラムをあらかた打ち込みつくしてしまうと、また別なのを一冊買ってきてというのを繰り返していました。
で、一冊目の最初の方に

10 a=0
20 a=a+0.1
30 if a=1 then goto 100
40 goto 20
100 print "a is 1."

のようなプログラムが書いてあり、これを実行してもいつまでたっても「a is 1.」の文章が表示されません。これはエラーだから、などという説明が書いてあったのを記憶しています。
エラーというのはこの本の著者の知識不足であり、エラーではなく、整数と少数まで含める数とが違うからこうなるだけであり、エラーではないんだけどね。(たぶん)
その隣に、if文の=の部分を>=へ変えて実行するとうまく文章が表示されますとも書いてありました。
そうなのか?と思い実際に>=へ変えて実行したらその通り文章が表示されました。
入門書の最初にこういう実験的なミニプログラムがあったのは非常に基礎を鍛えるのに有用でした。
なのであの本の著者同様私も実験してこの命令はこうするとこうなるのかと探検するのは好きです。
値を変えたり、ここでエスケープを押すとどうなるんだ?というのもその一つ。
2014/10/8 15:08

○ごっち
Re:あけぼのさん
Re:SB3の「戦闘開始」画面
まとめレスの続きです。
二つ目。
choi命令は値の条件によって表示させたりさせなかったりができるのはいいんだけど、エスケープをおした際、choiのまとまりの中の一番下のchoiだけが表示するかしないかの対象になってしまうのは、明らかなバグだと思う。
MMさんにこれバグでしょう?とはまだメールで伝えていない。伝えなきゃなんだけどなあ。
もしかしたら私は、このバグが修正されない限り、choiはできるだけ使わないかもしれない。
それぞれの選択肢の表示するしないごとに適正なsel命令を用意し、if文でどのsel命令へ振り分けるかを細かく指定してやる方法を書くのが確実だなあ。
バグが修正されれば便利にchoiを使うだろうけど。
以前メールで書いた、choi命令だと、あと一歩で崖というところで、エスケープを押してしまったばっかりに、一歩前へ歩み出るという選択肢しか表示されなくなってしまっては、もうゲームオーバー同然。
プレイしてこんなことにはなりたくないからなあ。
2014/10/8 15:06

○あけぼの
SB3の「戦闘開始」画面
 明日に回してもよかったのですが、忘れないうちにやってしまおうと思い、「戦闘開始」画面の点検と修正をしていました。
 まず、「SB3 姿なき敵」のみ、なぜ「戦闘開始」画面でエスケープキーを押したとき、プログラムが反応しなくなるかですが、おそらく、ゲームの特性によるものと考えられます。
 go命令とlab命令の間に特に抜けているところはありませんでした。ただし、このバージョンのみ、敵はステルス機能を有しており、さらに、ねたばれになりますが、作戦のとりかたによっては、敵がいつまでも減らないという設定になっています。
 要するに、こちらの戦い方一つで、減ったはずの敵がまた増えるというイベントが起きるのです。これ以上はおもしろくなくなるので言えません。
 この計算プログラムが介在している関係で、「戦闘開始」画面では、ほかのバージョンと違い、エスケープキーを押しても、前のメッセージに戻ることができないものと予測されます。
 今、「戦闘開始」画面はすべてのバージョンでchoi命令の書式に統一しました。
 というのがこちらで調べたおおよその結果です。
[もう一声]
「パラメータ」という見出しもなくなり、耐久力、残り弾数、座標という項目を直接配置しました。choi文なので、エスケープを押すと、一番下の「プロローグからはじめる」という選択肢に飛ぶようにしてあります。
2014/10/7 23:10
[HP]

[14][12]
[掲示板に戻る]