ダイスで分岐させましょう

 $ σ_σ$  < コロコロ〜。今回はダイスの振り方よ。いわゆる乱数ね。
 Σc ' _' )  < 沢山ふりたい! ジャラジャラふりたい!!

乱数発生

 インタラクティブフィクションは、入力する単語を発見する時点で結構ハードルが高いゲームです。
 その上に乱数で毎回結果が異なるという事になると、もともと高いハードルが、急激に上がってしまいます。
 基本的には使わない、そしてよほどの場合にだけ使うのが良いかと思います。
 逆に全編に使いまくるのも、工夫次第では面白くできるかもしれません。

<?xml version="1.0" encoding="UTF-8"?>
<textio><act>
<p> じゃんけん!</p>
<var id="hand">d3</var>
<select>
<option verb="グー"><p var="hand=1">
	 こっちもグー、引き分けだ。
<else var="hand=2"/>
	 こっちはチョキ、君の勝ち!
<else/>
	 こっちはパー、僕の勝ち!
</p></option>
<option verb="チョキ"><p var="hand=1">
	 こっちはグー、僕の勝ち!
<else var="hand=2"/>
	 こっちもチョキ、引き分けだ。
<else/>
	 こっちはパー、君の勝ち!
</p></option>
<option verb="パー"><p var="hand=1">
	 こっちはグー、君の勝ち!
<else var="hand=2"/>
	 こっちはチョキ、僕の勝ち!
<else/>
	 こっちはパー、引き分けだ。
</p></option>
</select>
</act></textio>

各要素の説明

var要素

<var id="hand">d3</var>

 var要素の内容には、true/false、0と正の整数、+と-による加減算、の他に乱数を発生させる機能があります。
 乱数はダイスをふるのになぞらえ、英字の「d」の前の数字がダイスの数、あとの数字がダイスの面数という書式を使います。
 ここでは、d3なので3面(1〜3)のダイスを1個という意味になります。

 サイコロと呼ばれる6面ダイスをふる場合はd6、サイコロ2個なら2d6となり、2〜12の数値の正規分布で乱数が発生します。
 他にも、d100だと1〜100の数値で、パーセントで考えられるので、使いやすいかと思います。
 dの前後の数値は任意の正の整数、前の数値が省略された場合は1として計算されます。

 Σc ' _' )  < ふーん、なるほどね。
 $ σ_σ$  < もしかして今回の説明、これで終わってない?

 終わりです。

 Σc;' Д' )  Σ デジャブ!
 $ σ_σ$  < バカなの? 学習しないの?

 ……面目ない。

まとめ

  • var要素の内容には乱数を指定できる。
  • 指定方法はndx方式。nは個数xは面数。

 次回は、pla要素について解説します。