Winged-White 当て道/問題セット管理データ(q_set.txt)の仕様 ソフト
問題セット管理ファイル
(q_set.txt)仕様

問題セット管理データ(q_set.txt)の仕様

 問題データにゲーム性を与え、「当て道」で活用するための各データを記述します。
 各行は、「,(半角コンマ)」でいくつかのデータに分かれています。
 (なお、以下の文章ではプレイヤーレベル(「当て大将」などの肩書き)を「LV」と略記します。)
<q_set.txt>
1行目バージョン
2行目問題セット名
3行目CSVファイル名
4行目問題セット作者名
5行目問題セット作成日
6行目リミット方式
7行目リミット算定方法(レベルの乗数)
8行目初期LVリミット
9行目最終LVリミット
10行目最終LV(1〜25)
11行目最終ステージ強制移動LV
12行目バトル問題数変化LV
13行目バトル問題数最大
14行目バトル問題数最小
15行目初期バトル問題数
16行目最大問題ジャンル数
17行目ステージ数(最終ステージは含まない)
18行目全エリア数(ステージは含まない)
19行目助数詞の数(1-10程度)
20行目助数詞(上の行で宣言した数だけ記述)
21行目(ステージ・エリア記述用説明1)
22行目(ステージ・エリア記述用説明2)
23行目
〜32行目
a.
エリア種別ID
b.
ステージ名
c.
開始行
d.
要素数
e.
エリア
開始行
f.
エリア数
33行目
以降〜
エリア種別IDエリア名開始行要素数  

※ いずれの行も、最初の半角コンマまでが説明になっています(例:「問題セット名-------,」)。  この説明も「当て道」は1つのデータとして数を数えています。  誤ってコンマや行を削除したりしないようにしてください。  正確な起動ができなくなります。


1行目: 【バージョン】
 「当て道」q_setのバージョンです(ver0.22より設置)。
 現在の最新は22(=0.22)です。
 この数値は「当て道」本体が読み取る数値ですので、変更しないでください。
 q_setの仕様が変更されたバージョンアップの場合に限り、この数字を本体と同じ数値に上げることとします。



2行目: 【問題セット名】
 全角で15文字まで書けますが、8文字程度までを推奨します。
 「(問題セット名)」と記述してあると、「当て道」本体は問題表(CSVデータ)のA(1)列1行目からセット名を取得します。
 混乱しないように、問題表のセット名と同じ名前をつけておくとよいでしょう。

3行目: 【CSVファイル名】
 問題表(CSVデータ)のファイル名と必ず同じにしてください。
 拡張子(.csv)も必須です。
 ここに記述されたファイルが問題セットフォルダ内(同ディレクトリ)に見当たらない場合、「当て道」はCSVを認識できずエラー終了します。


<問題セット作者名・作成日>

4行目: 【問題セット作者名】
 問題セットの作者名を記入します。
 作者名は、「最終の戦歴.txt」の末尾にクレジット記載されます。
 どんな書き方でも大体大丈夫だと思いますが、「 ' 」(半角アポストロフィ)や「 , 」(半角コンマ)は、避けてください。

5行目: 【問題セット作成日】
 問題セットの作成日・更新日を記入します。
 問題セット作成日は、「最終の戦歴.txt」の末尾にクレジット記載されます。
 どんな書き方でも大体大丈夫だと思いますが、「 ' 」(半角アポストロフィ)や「 , 」(半角コンマ)は、避けてください。
 (「Nov. 25, 2002」 などと書きたいところですが、半角コンマが入るのはダメです。)



 <リミットとは>
 二つの問題の比較で、差が開きすぎることを予防する設定です。
 また、LV上昇に応じリミットを下げる(きつくする)ことで、上級者には難問を出題し、ゲームの緊迫感を出すこともできます。
 問題セット一括でこのリミットの制限下におかれますので、注意してください。
 例えば、「国の面積」と「国の独立年」は%比較と単純差リミットの2種を別々に用いる方がふさわしく、この場合は(現行バージョンでは)問題セットそのものを分けざるを得ません。

6行目: 【リミット方式】(0〜2)
 リミットの方法を、以下の数値で決定します。

0=≪リミットなし≫
  リミットが全くない状態です。 以降のリミット関係の数値を吟味する必要はありません。
  (問題の値がゼロでなければ、)全てのデータから出題されます。

1=≪パーセント比較≫
  「大きな値が、小さい値の何%か」を、問題のリミットにします。
  国の面積など、大きさを比べる問題データに効果的です。
  これを選ぶ場合、以下の定義に適った数値にしてください。
     初期LVリミット > 最終LVリミット
     最終LVリミット > 100(%)

2=≪単純差のリミット≫
  単純に「大小の値の差」を問題のリミットにします。
  歴史の年代など、数え順(序数)的な問題データなどに効果的です。
  これを選ぶ場合、以下の定義に適った数値にしてください。
     初期LVリミット > 最終LVリミット
     最終LVリミット > 0

7行目: 【リミット算定乗数】(0〜4)
 リミットを、この数値で乗算した値でLVに応じて範囲を狭めます。
 この値でn次方程式(ax^n)を計算し、中間レベルを対称軸として裏返した値(+最終LVリミット)が各々のLVリミットになります。 2以上であれば最初のうちはぐーんと狭くなって、最後の方はじわじわ範囲が狭まる感じになります。
 1であれば1次方程式、つまり直線的に範囲が狭まります。
 0であればLV変化は無く、最終LVまで初期LVリミットが続きます。

8行目:
9行目:
【初期LVリミット】
【最終LVリミット】
 リミットの開始点と終了点を定めます。
 (この2つをn次方程式の定点として、傾き方を決定します。)
 【%リミットの場合】……初期LVリミット>最終LVリミット、最終LVリミット>100(%)
 【単純差リミットの場合】……初期LVリミット>最終LVリミット、最終LVリミット>0

※ 「問題無限サーチ現象」に注意
 リミットを厳しく設定し、それを通過できるデータ組み合わせが全く無い、という場合でも、「当て道」は問題を永遠に探し続けます。
 この場合(応答なし)になり、ゲーム続行は不可能となります。
 あらかじめデータの最小差を考慮しながら、リミットを設定してください。
 また、適切な【最終ステージ強制移動LV】を設定し、問題サーチの範囲を最大限に広げることで、厳しいリミット設定を可能にする方法もあります。



10行目: 【最終LV】(1〜25)
 どのLVでエンディングに到達するかを設定します。
 0が初期レベルですので、必ず1以上にしてください。
 小さくすれば、ゲーム規模も非常に小さなものとなり、最大では世界編のような長期戦になります。
 各レベルに応じて肩書き・語尾・ポイント倍数が決まっています。  (これらを変更することはできません。)

<参考:LV 0〜9>
LV肩書き語尾×倍
0
当て浪人かなぁ。
1
1
当て見習いでしょか。
2
2
当てチーフだろ。
3
3
当て屋でおます。
5
4
当て侍でござるヨ。
7
5
当て師か。
10
6
当て師範代だろう。
15
7
当て師範だ。
20
8
当て親分じゃあ。
30
9
当て代官ぞや。
40
…………
……

11行目: 【最終ステージ強制移動LV】
 最終ステージに強制移動させるLVです。
 最終LVより高くすると、強制移動は生じません。
 1以下にすると1バトル終了後に強制移動が発生します。

 リミット設定を厳しくしたい場合は、適切な【最終ステージ強制移動LV】を設定して問題サーチの範囲を最大限に広げておく方が、「問題無限サーチ現象」回避に効果的です。



12行目: 【バトル問題数変化LV】
 1バトルごとの問題数がランダム変化しはじめるLVです。
 最終LVより高い場合は、問題数は【初期バトル問題数】で設定したまま一定になります。
 0以下の場合は、ゲームスタート時から問題数は変化します。

13行目: 【バトル問題数最大】(2〜15)
 ランダム問題数の最大値です。

14行目: 【バトル問題数最小】(1〜15)
 ランダム問題数の最小値です。
 【バトル問題数最大】と同じか大きい数値が記述されている場合は、【バトル問題数最大】の問題数が固定値として選ばれ、ランダム変化は生じません。

15行目: 【初期バトル問題数】(1〜15)
 初めに固定化されているバトル問題数です。

 問題数変化では、【初期バトル問題数】〜【バトル問題数最大】(=y)を【バトル問題数変化LV】〜【最終LV】(=x)と照合して定数(=a)を求めた1次方程式の結果が、各LVランダム問題数の最大値となります。




16行目: 【最大問題ジャンル数】(1〜40)
この問題セットでの最大ジャンル数を設定します。 必ず問題表CSVで記述した問題数(問題表CSVに記述した最終列-2)以下にしてください。 

17行目: 【ステージ数】(0〜10)
この問題セットでのステージ数を設定します。
最終ステージ(全問題ステージ)はこの数に含みません。
ステージ数を0に設定した場合、「当て道」は最終ステージからスタートします。

18行目: 【全エリア数】(0〜)
この問題セットでのエリア数を設定します。
ステージ・最終ステージ(全問題ステージ)はこの数に含みません。




――各エリアの問題要素がどのような数え方をするか(1「県」、2「県」……など)を決定します。
 「当て道」バトル時に<第1戦・北海道・東北(7)>のように反映されます。

19行目: 【助数詞の数】(【エリア種別ID】の最大番号+1〜)
各エリアで使う助数詞の数を宣言します。 必ず「【エリア種別ID】の最大番号+1」以上を設定してください。
この行で宣言した分だけ、下の行に助数詞として記述します。
この数が下の行の助数詞の個数と合っていない場合、「当て道」は以降のステージ、エリア読み取りができなくなります。

20行目: 【助数詞】(【助数詞の数】で宣言した個数分記述)
助数詞を記述します。
左から、0,1,2,3……という番号が振られていて、エリア種別IDに対応します。
0は特別なもので、最終ステージに必ず使う助数詞です。
この助数詞は他のエリアにも使えます。

例:(問題セット名=「ファンタジー登場人物」で、
  <神・人・牛馬・犬猫>などのエリアがある場合)
  助数詞の数***********,5
  助数詞---------------,体,柱,人,頭,匹

 ――とくに数え方にはこだわらない場合、
  助数詞の数***********,1
  助数詞---------------,体
 として【エリア種別ID】を全て0にすれば、全てのエリアで「〜体」という数え方になります。

 また、同じ助数詞を記述しておけば、違うIDで同じ数え方を使うことになります。


<ステージ・エリア>

――ステージ・エリアの種別区分・問題要素の領域を決定します。
  • 1行ずつが各ステージ・エリアの設定内容です。
  • ステージ行は、10行分に固定してあるので、使わないステージの行も削除せずに残しておいてください。 エリア設定が読み取れなくなります。
  • エリア行は不要部分を削除しても残しておいても構いません。
  • ステージは10コまで設定できます。
    (最終ステージ(全問題ステージ)は「当て道」本体が自動的に設定します。 管理データファイルには記述しません。)
  • エリアは各ステージあたり10コまで設定できます。
    (「当て道」は、ステージ・最終ステージを含めて最大111バトル分のエリアが設定できます。)
  • 問題表CSV内で連続している行領域のみ指定できます。 ばらばらに散らばった行の問題要素を1つのエリア・ステージとして扱うことはできません。
  • 各ステージ・エリアの【エリア種別ID】を記述し、属性を区分します。
  • 各ステージ・エリアのCSVデータの領域を決定する開始行・要素数を設定します。 (ステージそのものも「ステージ最終バトル」で出題するため、各エリアと同様の設定が必要です。)
  • ステージは、エリア管理のためのエリア開始行・エリア数を設定します。
21行目・22行目:ステージ・エリア設定の説明
23行目〜32行目:ステージ設定
33行目〜    :エリア設定

a. 【エリア種別ID】(0〜)
エリアの区分・属性を決めます。 何種類かエリアの属性を決めて、【問題ジャンル】の適合、【助数詞】の適合を決定します。
ここで使う最大数を【助数詞の数】に記述し、【助数詞】は最大数+1個の助数詞を書いてください。
「99」と記述すると、そのステージ・エリアは無視されます。

ア. このエリアが、他のどこかのエリアで使えない問題ジャンルを持っているか。
イ. このエリアが、他のどこかのエリアで使えない助数詞で問題要素を数えるか。
の2点で決定します。

例えば世界編では、
ア. 「ネギ」という問題ジャンルは、日本国内のデータしかない。
   「輸出・輸入」という問題ジャンルは、国同士のデータしかない。
イ. 「県」という数え方は、日本国内でしか使えない。

このため、国内エリア=1、海外エリア=2というエリア種別IDを振り、区分してあります。

b. 【ステージ(エリア)名】
 ステージ(エリア)名を記述します。
 全角で15文字まで書けますが、全角で8文字程度までを推奨します。

c. 【開始行】(17〜(問題表CSVの最終行-1))
 ステージ(エリア)の問題要素が問題表CSVのどの行から始まっているかを設定します。
 問題要素が2つ以上なければ問題として成立しないので、最終行-1より大きな【開始行】は「当て道」内部で17に修正されます。

d. 【要素数】(2〜(問題表CSVの最終行-1-【開始行】))
 ステージ(エリア)の問題要素の数を設定します。
 終了行ではなく実際の個数ですので、問題表CSVから割り出してください。
 問題要素が2つ以上なければ問題として成立しないので、1以下の【問題要素数】は「当て道」内部で(データ最終行-1-【開始行】)に修正されます。

e. 【エリア開始行】(1〜最終エリア番号)
※ ステージのみ設定可能
 各ステージが、何番目からのエリアを持つかを設定します。
 この管理データ(q_set.txt)内での番号です。  管理データの説明(例:「エリア 2:,」)にある番号をそのまま写すと分かりやすいです。

f. 【エリア数】(1〜10または最終エリア番号)
※ ステージのみ設定可能
 ステージのエリアの数を設定します。
 終了番号ではなく実際の個数ですので、この管理データ内から割り出してください。



ここまでご覧くださったアナタは、立派な「当て魂」……
ぜひともすんばらしい問題セットをお作りになることを、期待します――!!

問題セット管理ファイル (q_set.txt)仕様

戻る 進む
© A.Matsu! 2002-2004 Winged-White