« CG閲覧モードの作成方法 | メイン | 効果音を作りたい、手に入れたい »
言語記憶・会話ソフトは作れますか?
出来ないと考えられています
しかし、
文字列入力の文字列変数に対して、
あらゆる単語や文に対する対応を設定しておくことで
簡易人工無能ぐらいのソフトは作れると思います
文字列の変数の比較は「⊆」を使い、
単語や文は、あらゆる形に対応出来るようにしましょう
例:「こんにちは」だったら「こんにちわ」の入力に対応すべく、
「こんにち」にする
また、ユーザーサイドでの単語・文登録機能なども
良いかもしれません
(会話の場面での利用ではなく、単語・文の登録用のシーンを設けた方が良いでしょう)
文字列入力・比較ページは以下のように設定します
文字列の入力 「入力」
ページの移動 「こんにちわ」
オプション:文字列変数「入力」⊆「こんにち」
(以下、同じようなパターンで記入)
ページの移動 「登録1」
オプション:数値変数「登録」= 1
文字列変数「入力」⊆「登録単語1」
(以下、同じパターンで)
↑こちらは、登録機能用のコマンドです
登録を行うたびに、数値変数「登録」に1を加算、
その時の登録単語とナンバーを併せるようにします
「登録」=1なら「登録単語1」
「登録」=34なら「登録単語34」
オプションで数値変数と文字列変数の比較を行うことにより、
登録されていない場合はそのコマンドをスキップすることが出来ます
一番最後の行に
メッセージの表示「え?よくわからないなぁ」
などのメッセージをランダムで表示すると、
指定外単語や文への対応が出来ます
応用編
ページの移動コマンドではなく、
サブルーチンコマンドにし、
移動先のページで、数値変数操作を行い、
サブルーチンを復帰、という形にすれば、
複数単語・文が入っている場合の処理を行うことが出来ます
一番最初の文字列比較が「こんにち」でその結果として、
「こんにちは」のページに来た場合
「対応用1」= 1 +0
サブルーチンの復帰
次の比較が「さようなら」で、その結果として
「さようなら」のページに来た場合
「対応用1」=「対応用1」 + 0
オプション「対応用1」 > 0
「対応用2」= 1 + 0
オプション「対応用1」 > 0
サブルーチンの復帰
オプション「対応用1」 > 0
「対応用1」= 2 + 0
サブルーチンの復帰
このようなパターンで、続けていきます
正確に行うには、単語ごとに
「対応用*」の*が最大として設定されますので、
(例:25回目の比較であれば、*の最大は25です)
「対応用*ー1」の数値が記入されているか?
記入されているなら「対応用*」へ「*」記入
記入したらサブルーチンの復帰
「対応用*ー2」の数値が記入されているか?
記入されているのなら「対応用*ー1」へ「*」記入
記入したらサブルーチンの復帰
(以降、同じパターンで進めます)
「対応用1」の数値が記入されているか?
記入されているのなら「対応用2」へ「*」記入
記入したらサブルーチンの復帰
「対応用1」へ「*」記入
サブルーチンの復帰
尚、変数に代入する「*」は、
「比較*番目の単語があった」という意味です
複数の表示があるかどうかは、
「複数該当」=「複数該当」 + 1
オプション:「対応用1」>0
「複数該当」=「複数該当」 + 1
オプション:「対応用2」>0
(以下、*まで)
と行います
これにより、
いくつ該当しているか?というのは
「複数該当」の値として出てきます
このあと、組み合わせたい単語や文によって
メッセージの表示コマンドを表示します
(組み合わせがどうでも良い場合は、「対応用1」を優先する、等の設定も必要です)
関連記事
- 動画を再生させたい
- ウィンドウサイズを変更したい
- 選択肢の代わりに画像をボタンにしてページ移動する
- 最初からフルスクリーンにしたい
- メッセージを一行ずつ表示する
- メッセージを縦書き表示したい
- メッセージ表示用背景レイヤーの作成
- メッセージ表示部分を隠すボタンを作りたい(CGだけを表示する機能の搭載)
- GIMP2での画像の透過方法
- ランダムに処理を行わせたい・一定確率で処理を行わせたい
Copyright ©2005-2009 近藤 All Rights Reserved.| 2005年11月23日
トラックバック
このエントリーのトラックバックURL:
http://faq.comicmaker.info/system/mt-tb.cgi/62
質問と回答
この記事についての質問・意見はこちらからどうぞ
質問した直後にはこのページには質問は掲載されません。
近藤(管理人)による回答が完了した時点(1日~3日ほど)で質問と回答が同時掲載されます。
尚、メールアドレスを記入していただいた質問につきましては、
メールアドレス宛に回答させていただき、このページには質問も回答も掲載致しません
(ただし、データ本文を修正するべきと判断した場合は質問の回答に基づき修正いたします)
ので、個人の開発環境に深く関係するような質問はなるべくメールアドレスをご記入下さい。
<<SPAM対策のため、以下の英字は使用しないでください>>
good,great,nice,homepage,find



