StoryGraphEditor 10「点数計算をする」

この記事では、「Bot3D StoryGraphEditor」のテンプレート【クイズテンプレ】点数計算をするを使います。
このテンプレートで紹介している方法を使うと、変数を使った数値の計算ができるので、クイズやテストなどの得点計算が簡単にできます!

この記事のサンプル

「Bot3D StoryGraphEditor」ではいろいろな便利な機能をシンプルに使えるように、様々なテンプレートが用意してあります。
画面左上の「テンプレートから作成」を押します。 テンプレートが表示されるので、【クイズテンプレ】点数計算をするをクリックして開きます。 ことばの説明:このテンプレートの説明では以下のことばを使います。
  1. 会話ボックス:
    このグレー地の箱は、アクションをひとまとめにするものです。アクションとは、「Botにさせること」です。いろいろなことをさせることができます。
  2. "変数操作"アクション:
    "変数操作"と書いてある、この青色の箱(アクション)は、変数を定義したり、文字や数値を覚えさせたり計算させたりといった変数操作ができます。
  3. "Botのセリフ"アクション:
    "Botのセリフ"と書いてある、このオレンジ色の箱(アクション)は、この中にセリフや絵文字を書くことでBotをしゃべらせることができます
  4. 変数を入力:
    "Botのセリフ"アクションに変数を入力をすることで、変数の値をセリフとして読み上げることができます。

基本操作のおさらい

簡単に基本操作のおさらいをしましょう。
テンプレートをカスタマイズするときに一番重要なのは、9番の、ストーリーのいちばん最後の会話ボックス「終了ボックス」につなげることです!

変数って何?

(文字タイプの変数についての記事StoryGraphEditor 9「通過ルートで自動的にセリフをつくる」をすでに読まれた方は再掲になりますのでとばしてください)
"変数操作"アクションで使う変数とは何でしょう?
変数とは文字や数値を覚えておくための入れ物です。
変数には「文字」タイプ「数値」タイプがあります。
「文字」タイプの変数には、名前などを覚えさせておくことができます。また、あとから入れた文字をくっつけることもできます。 「数値」タイプの変数には、数値を覚えさせておくことができます。また、変数に入っている数値に対して、あとから入れる数値で計算を行うことができます。 この記事では「数値」タイプの変数の活用方法を具体的に見ていきます。
「文字」タイプの変数の活用方法についての記事はこちら

変数を使う大まかな流れ

それではテンプレート【クイズテンプレ】点数計算をするを開いて一度保存し、どんなふうに「Bot3D Player」で再生されるか見てみましょう。
再生の仕方はStoryGraphEditor クイックヘルプ:Bot3DPlayerで見る方法をご覧ください。
1問50点の問題が2問だされます。問題が終わったら、総合得点の結果発表をして、100点か50点か0点かで最後のメッセージが変わります。 これは、「数値」タイプの変数に、得点をプラスして計算しています。
ストーリーは次のように作られています。テンプレート【複雑なストーリーテンプレ】通過ルートで自動的にセリフをつくるの画面を見てみましょう。 問題に正解したあとの"変数操作"アクションの中で、変数 "score" に50を足しているのがわかります。
不正解ルートではなにも足していません。
変数が点数を覚えていてくれるので、変数 "score"を使って最終的な点数をセリフにしています。
また、緑色の"条件一致でふりわけ"アクションで変数"score"を使った条件分岐を作っているので、点数に応じたセリフを読み上げています。

変数を作る

このストーリーでは、変数"score"に対して値を足していますが、そもそもどうやって変数を作るのか見ていきます。
「定義とリセット」と書いてある会話ボックス"変数操作"アクションをクリックすると、画面下部にエディタが表示されます。 エディタ上の、変数定義の追加ボタンを押すと、変数を追加できる画面が表示されます。
変数"score"が「数値」タイプの変数として登録されているのがわかりますね。 自分で変数を追加したいときは、変数追加画面上部のフォームより追加できます。
デフォルト値を設定したり、「文字」タイプの変数に変更したりできます。 なお、定義した変数は、どこの"変数操作"アクションで定義したかに関わらず、ストーリー内のどこからでも使うことができます。
次は登録した変数を操作してみましょう。

変数を操作する

ひきつづき"変数操作"アクションのエディタを見てみると、変数"score"「代入」で0を入れています。
(このストーリーはクイズに再挑戦してループできる構造なので0を入れてリセットしています) 「正解」と書いてある会話ボックス"変数操作"アクションを見ると、足し算を行なっているのがわかります。
このように、変数に加算したいタイミングで"変数操作"アクションを作って変数操作を行います。 "変数操作"アクションではいくつでも操作を追加することができます。
  1. 操作を追加から、対象になる変数を選んで追加ボタンを押すと、操作タブが追加されます。
  2. 操作内容(足し算や割り算)を選んで、値をフォームに記入することで変数に計算が行われます。
  3. 「保存」ボタンを押して反映します。

変数をセリフの中で使う

このようにして点数を加算していった変数の値を、セリフの中で使いましょう。
「結果」と書いてある会話ボックスの中の"Botのセリフ"アクションをクリックします。
そうすると、エディタのテキスト部分に、変数"score"が入力されているのが確認できますね。
この変数が、「100」や「50」などの変数の値に、都度おきかえられることで、得点をしゃべらせることができるんです! 変数を入力するには、テキストエリアで入力したい場所にカーソルを置いてから、「変数を入力」ボタンを押します。
変数のリストが表示されるので、クリックすると、変数が追加されます。 最後に、点数に応じたセリフをしゃべらせる仕組みを見てみましょう。
"条件一致でふりわけ"アクションをクリックすると画面下にエディタが表示されます。
("条件一致でふりわけ"アクションの詳細な使い方についての記事はこちら

"条件一致でふりわけ"アクションは、変数の値でストーリーを分岐することができます。
種別で「変数」を選んで、条件分岐に使いたい変数名を選び、「追加」ボタンを選ぶと条件タブが追加されます。
変数の値との一致以外にも以上、以下、超過、未満などこまかい条件をつけることができます。
条件を増やしたり変更したら、「保存」ボタンを押して確定します。
"条件一致でふりわけ"アクションの各条件のコネクタから、"Botのセリフ"アクションの入った会話ボックスにつなげて分岐が完成です。 このように「数値」タイプの変数を使うと、得点計算が簡単にできます。
「変数」という言葉は聞きなれないかもしれませんが、活用するととても盛り上がるストーリーが作れるので、"変数操作"アクションを使ってみてくださいね!