CALENDAR
Sun Mon Tue Wed Thu Fri Sat
    123
45678910
11121314151617
18192021222324
25262728293031
<< March 2018 >>
本家STORY FACTサイト
NEW ENTRIES
CATEGORIES
RECENT COMMENTS
  • GB解析 -NG- ウィザードリィ3 ダイヤモンドの騎士 橋爪さんですね・・・
    hikali (03/29)
  • GB解析 -NG- ウィザードリィ3 ダイヤモンドの騎士 橋爪さんですね・・・
    マイケル村田 (03/25)
  • GB解析 -NG- ルパン三世/暁の第三帝国 良作なエンターテイメント
    hikali (01/09)
  • GB解析 -NG- ルパン三世/暁の第三帝国 良作なエンターテイメント
    マイケル村田 (01/06)
  • GB解析 -NG- 邪聖剣ネクロマンサー イシュメリアの悪夢 やったことあるんだよね・・・
    hikali (11/24)
  • GB解析 -NG- 邪聖剣ネクロマンサー イシュメリアの悪夢 やったことあるんだよね・・・
    マイケル村田 (11/21)
  • GB解析 -NG- 新・鬼ヶ島 暗黒の化身を討て! 成功した理由が良く分かりました。
    hikali (06/27)
  • GB解析 -NG- 新・鬼ヶ島 暗黒の化身を討て! 成功した理由が良く分かりました。
    マイケル村田 (06/24)
  • GB解析 -NG- ルパン三世/灼熱の監獄島 なかなかドラマチックなはなしなのだが・・・。
    hikali (06/23)
  • GB解析 -NG- ルパン三世/灼熱の監獄島 なかなかドラマチックなはなしなのだが・・・。
    マイケル村田 (06/20)
RECENT TRACKBACK
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS
無料ブログ作成サービス JUGEM
 
管理人hikaliの開発の日々の備忘録です。
本家はこちら。
http://plaza.rakuten.co.jp/hikali/
<<  OCR中・・・。 | main |  物語のおもしろさに様々な角度から光を当てている!−[書評]「読まず嫌い」 >>
単語ジェネレータのコードを公開します。
 えーと、みなさまお元気でしょうか、管理人のhikaliです。
 本日は、単語ジェネレータのActionScriptのコードを公開したいと思います。

 実のところ先日、コードを公開して下さいとの依頼を頂きまして、わかりにくいコードなのですが、まあ、こんなのでもお役にたつのであればと思い、公開します。


 ■単語ジェネレータについてはこちら
 ・わたし以外にはほんとにどうでもいいアプリケーションを思いついた…。
 http://blog.story-fact.com/?eid=1025733

 ・gogle app engine版の単語ジェネレータ
 http://story-fact.appspot.com/randstr/

 ・単語ジェネレータのFLASH版できたよ〜!
 http://blog.story-fact.com/?eid=1077361


 ↓猛威をふるっているようす。
 ・起承転結問題集 -初級編- 見せてもらおうか、単語ジェネレータの実力とやらを!
 http://blog.story-fact.com/?eid=1029836




 まずアプリケーションの構成から。

 1.構成
  ・randstr.swf これが本体
  ・randstr.txt これが単語リストです。カンマ区切りになっています。

 2.アプリケーション内での動作
  立ち上げると同時に、ローダーがrandstr.txtを読み込む。
  読み込みが完了したら、split(",")でカンマを区切り文字にして配列に格納。
    → この状態で、全単語が配列として、メモリー内に保持されている。
  単語の発生。strNum.text(単語数の入っているテキストフィールド)を読み、
    その回数分、単語を連結して、最終結果を、randstr_txt.text(単語が表示
    されている部分)に表示。
  以後、ボタンを押されるたびに、鵝砲鮗孫圓垢襦

  こんな手順になっています。
  ちょっと癖があって、わかりにくいのは、一番始めにすべての単語を配列に格納
 してしまって、それをメモリー上に保持しているという部分でしょうか。ミリーの天
 気予報を始めとする、FLASHゲームブックのシステムも、これと同様に一番始めの
 時点で、全テキストをメモリー上に読み込んでしまって、それを疑似データベースの
 ように使用する仕様になっています。

  ミリーの天気予報はぶっちゃけテキストファイル自体で、800KB以上あるのですが、
 これをずっと常にメモリー上に持ち続ける仕様になっているのですね(^_^; この辺
 全く省力しないぶんまわすような豪快な仕様ですので、ちょっとわかりにくいかもと
 思いました。


 3.実際のコード


//配列を準備
var strArray:Array = ["",""];
var arrayLength:Number = 0;

//ローダーを設定。randstr.txtを読み込む。
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,completeHandler);
loader.load(new URLRequest("randstr.txt"));

//読み込みが完了したら、カンマ区切りで配列に格納。
function completeHandler(event:Event):void {
var vars:String = event.target.data;
strArray = vars.split(",");
arrayLength = strArray.length;
makeStr();
}

//ボタンを押したときに、makeStr()を実行する。
bt_make.addEventListener(MouseEvent.CLICK,btCL);
function btCL(event:MouseEvent):void{
makeStr();
}

//ここで単語を発生させている。
function makeStr():void {
var randomI:Number = 0;
var strText:String = "";
for(var i:int=0;i < int(strNum.text);i++){
randomI = Math.floor(Math.random() * arrayLength);
strText += strArray[randomI] + "  ";
}
randstr_txt.text = strText;
}



 4.謝辞

 えーと、おかげさまをもちまして、拙作ミリーの天気予報では、たくさんの嬉しいご感想を頂いております。実際アンケート形式で頂いているものですので、表に出すことが出来ない、そしてそれに対してお返事する方法がないのがとても残念なのですが、管理人はとても嬉しく読ませていただいております。

 お礼をいう場がなかなかないので、この場を借りまして、感謝いたします。
 本当に嬉しいです!
 もうみなさんの励ましだけが原動力です(^_^;


 ■関連エントリー
 ・ 膠着状態(デッドロック)解消型ゲーム
 http://blog.story-fact.com/?eid=1177436

 ・ミリーの天気予報にみるゲームブックの作り方。「サイボーグを倒せ」をヒントに。[前編]
 http://blog.story-fact.com/?eid=1179473

 ・ミリーの天気予報にみるゲームブックの作り方。「サイボーグを倒せ」をヒントに。[後編]
 http://blog.story-fact.com/?eid=1180167

 ・ 【ミリーの天気予報】セーブ機能搭載版投入しました!&作品の概要
 http://blog.story-fact.com/?eid=1177436






| 開発日誌 | 17:25 | comments(2) | trackbacks(0) | 昨年の記事
hikali さん
コードの公開ありがとうございます! T2です。
早速自分でも、
本物の『単語ジェネレータ』作ってみました!!
わかりやすい解説もありがとうございます!!!

インターフェースはhikaliさんの
『単語ジェネレータ』には、はるかにおよびませんが、
機能自体は問題ない状態になりました。

さっそく色々遊んでみようと思います。

(あと、今日hikaliさんお勧めの「ミノス王の宮廷」「ニフルハイムのユリ」をおくればせながら注文しました。届くのが楽しみです。)
| T2 | 2010/02/14 10:09 PM |

 こんばんわ。コメントありがとうございます。
 お役に立ててなによりです。

 すこしでも研究仲間の役に立つよういろいろ充実していきたいのですが、なかなかに、どの辺が必要とされてるのかが分からない所もあります。正直、マッドサイエンスト気味な人間だけに、分かりやすいとは言い難い人だったりします。
 ですので、こう言うのが欲しいと、シンプルに言っていただけるのはとても嬉しいのです。本当にありがとうございます。

>(あと、今日hikaliさんお勧めの「ミノス王の宮廷」「ニフルハイムのユリ」をおくればせながら注文しました。届くのが楽しみです。)

 はい。この辺はちょっとレベルが違いすぎる感がありますので、ぜひとも楽しんで下さいませ。ミノス王の宮廷は、「オプリスに王璽を渡して、オプリスがクレタ王になるというルート」がベストエンディングですよ! この辺明示されていないので、詳細解析をしたわたししか知らないと思われるのですが、ぜひここを目指して下さい!

 コメント、本当にありがとうございました。
 とても嬉しかったです。
| hikali | 2010/02/14 10:45 PM |









http://blog.story-fact.com/trackback/1195673