ZRF言語

  • ZRF言語とは?
 「Zillions of Games」において利用できる、ゲームルールを記したテキストファイルであり、ゲームファイルそのものとなります。
 拡張子は「.zrf」で、デフォルトでは「Zillions of Games(ZoG)」に関連付けられています。

  • ZRF言語の仕様
 基本的に最低1つ以上のゲーム(game)からなります。
 各ゲーム(game)は、複数のバリアント(variant)を持てます。
 なお、バリアント(variant)は必ずしも持たなくても良いです。
 バリアント(variant)は、ゲーム(game)の設定を継承するため、変更点や追加点だけを記載します。
 (同じ項目は変更点として上書き使用され、異なる項目は追加点として追加使用されます)

 ZRF言語の仕様の詳細は、別ページで解説していきます。

  • ゲーム(game)やバリアント(variant)の構造

(title "----"):必須です。
 ゲームやバリアントのタイトルです。
 文字列("")で入力します。
 メニュー「Variant」にタイトル名がリスト表示されます。

(description "----")
 ゲームやバリアントのコメント(全般的な記述)です。
 文字列("")で入力します。
 メニュー「Help」で「Game Description」に文章が表示されます。

(history "----")
 ゲームやバリアントのコメント(歴史)です。
 文字列("")で入力します。
 メニュー「Help」で「Game History」に文章が表示されます。

(strategy "----")
 ゲームやバリアントのコメント(戦略)です。
 文字列("")で入力します。
 メニュー「Help」で「Game Strategy」に文章が表示されます。

(players XXX YYY ・・・)
 参加するプレイヤー名です。
 シンボルとして入力します。

(turn-order XXX YYY ・・・)
 プレイヤーの手番を設定します。
 プレイヤー名を並べます。
 1名のみ、2名、3名・・・、複数名でも設定できます。

(board XXXX)
 ボード(盤)を設定します。

(board-setup XXXX)
 ボード(盤)上のピース(駒)の初期配置を設定します。
 なお、ボード外の手駒のピースも初期設定できます。

(piece XXXX)
 ピース(駒)を設定します。

(win/loss/draw-condition XXXX)
 勝利/引き分け/敗北の条件を設定します。

 (count-condition XXXX)
 ボード上の駒が最も多い者を勝ちにします。

(option XXXX)
 各種オプション設定を設定します。
 各項目は文字列("")で入力し、trueまたはfalse(場合によってはdefault)で設定します。

(XXX-sound "Audio\\YYY.wav")
 各種効果音に音声ファイル(.wav)を設定します。

(music "Audio\\YYY.mid")
 BGMに音声ファイル(.mid)を設定します。

(default)
 ZRFを開くと、この設定があるバリアントが最初に読み込まれます。

(define XX) ・・・マクロを定義します。
 定義されたマクロは、(XX)で呼び出してコード内で使用することができます。

(include XX) ・・・コードを挿入します。
 別のテキストファイル内のコードを、現在のコード位置に挿入できます。
 マクロのように、(XX)でファイルを呼び出し、そのファイル内のコードを使用できます。

(engine XX) ・・・外部エンジンを使用します。

「;(セミコロン)」で開始する文は「コメント文」となり、ゲーム動作に影響しないため、自由に記述できます。

※注意点
  • 基本的に日本語はZoGで認識できないため、テキストファイルは英語(半角アルファベット・半角数字・半角記号)のみで記載して下さい。
(文字コードの違いで、文字化けが生じます)
  • Lisp言語に準じて、必ず命令ブロックごとに「(」「)」で囲う必要があり、開始「(」と終了「)」の数が一致しないとエラーが出ます。
  • 文字列("----")は、必ず文頭と文末を「"」で囲う必要があり、片方の「"」が不足するとエラーが出ます。
  • マクロに複数の引数($1,$2,・・・)がある場合、マクロを呼び出す際に入力した引数の型と数が定義内と一致しないとエラーが出ます。
  • 定義していない位置<position>や駒<piece>などがあったり、定義していない属性<attribute>などを使用するとエラーが出ます。
  • (board-setup)で、同じ位置<psoition>に複数の駒<piece>を重複配置するとエラーが出ます。






タグ:

ZRF言語
最終更新:2020年09月04日 16:32