一定期間更新がないため広告を表示しています
スペードの10のユーザーとメッセージストーンの各内容を、ガストで夜業してました。都会ではないので、早朝5時にて閉店。閉店まではいませんでしたけど。書き始める前にふと思い立って、ユーザーとメッセージストーンをデータから拾って一覧に整形したりなぞしてみたんですが、何というか、無駄に多いですな。これを自力で収集されてる方がいらっしゃいますが、いやもう本当に凄すぎです。
ところで色々な方からご報告をいただいていた件に「シーン回想のact6の99が埋まらない」というのがあるんですが、これは力いっぱいバグです。すみません。ここだけが埋まっていない場合は、実質シーンコンプと見なしていただいて結構です。パッチでは何らかの救済策を取りたいと思います(シーン100を回想したらシーン99が開くとか。もちろん普通にシナリオを通過しても開くようにしますけど)。
他にもいくつかアレなエラーを報告としていただいてまして、追加データでまとめて修正というようにしようかと思ってたんですが、修正パッチだけでも先に出した方がいいんじゃなかろうかと考え始めてます。ほづみさんには内緒ですが。実際、どうなんでしょう。何かご意見がありましたら、適当に表明してくださると助かります。
追加データといえば、シェラタンのジュークボックスのリストが増えます。章ごとに一新されるのは変わりませんが、現在かなりテキトーなことになっているのを直しました。それに関連して、少し曲名の変わってるものがありますので、ご注意ください(何をだ)。
少し寝て、仕事します。起きられるかな。無理だろうな。
前回(だいぶ前回ですが)は吉里吉里にデータを覚えさせておく「変数」について述べました。変数を使いこなせるようになると、例えばゲームにキャラクター好感度を導入できたりして、なかなか面白いことになります。
ところで、変数を使っていると、ときどき同じようなデータを扱う必要が出てくることがあります。例えばシューティングゲームなんかだとハイスコア一覧画面があったりしますが、「1回目の点数」「2回目の点数」「3回目の点数」などの区別はあるにせよ、点数であるという点では同じ種類のデータであるといえます。
このようなデータを、まったく別の変数に代入してはいけないのかというと、別にそんなこともありません。しかしそのようにしていると、変数を使った何かの操作──例えば点数を高い順に並べ替えるとか──をする場合には、とんでもなく手間をかけなければならなくなってしまいます。そこで、このようなデータを扱うときは「配列」という「変数の入れ物」を使います。
実際の書き方を紹介する前に、配列というものを軽くイメージしてみることにします。
普通の変数は、コップに似ています。ただしどのコップも外見が同じなので、使うときにはいちいちラベルを付けないといけません(変数の宣言とは、このラベルを貼る作業に似ています)。
それに対して配列は、ひとつの大きな細長いケースです。ケースの中を見てみると、四角く仕切られた部屋が一列に並んでいて、そこにひとつずつコップが紐付きで収められています。この中に入っているコップは、ケースから切り離して使うことができないかわりに、いちいちラベルを貼らなくても使えます。なぜなら、「このケースの何番目に収められているコップである」と考えるようにすれば、他のコップと区別することができるからです。ただし、ケースにはラベルを貼らないといけません(配列を宣言する、といいます)。
なんとなく配列なるものがイメージできたでしょうか。それではプログラムの例を示します。まずは「scores」という名前の配列の宣言は:
var scores = [];
と書きます。配列の宣言の仕方は二種類ほどあって、こちらではない方が正式なんですけど、藤川は面倒なので大抵こっちで書いてしまいます(正式の方はオブジェクトの話が出てきてからあらためて紹介します)。
宣言が終わったらいよいよ値を格納していくわけですが、これは次のように書きます:
scores[0] = 10000;
scores[1] = 15000;
scores[2] = 5000;
普通の変数と少し書き方がことなりますが、それにさえ気を付ければ普通の変数と同じように代入することができます。また、最初から入る値が決まっている場合は、配列を宣言するときに:
var scores = [10000, 15000, 5000];
というように書くこともできます。
ここで配列関連の用語を紹介しておきましょう。配列に格納されている変数のことは「要素」といい、配列に入っている要素の個数を「要素数」といいます。要素の番号のことは「添字」といいます(上の例でいうとscores[0]やscores[1]の0とか1とか)。
配列を使う上で注意しなければならないことがひとつだけあります。それが添字の開始番号です。TJSを含むほとんどのプログラミング言語では、添字は0から始まります(1から始まる言語も稀にあります)。最初の要素を「0番目」とするのは、日常感覚からするとちょっと把握しづらいので、注意したいところです。これについては、添字の意味を「最初の要素から○個目」と覚えるようにしておくと、少しはマシかもしれません。
今回はここまでにして、次回は配列を使う醍醐味を見ていきたいと思います(いつになるやら)。