ネタ元:「あたし状態遷移図」、あるいは「あたし約5.2MB」 - とある理系男子の書斎には、どうしても小説が少ない。っていうか無い。 - ファック文芸部
実行の様子
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="complete()"> <mx:Script> <![CDATA[ private var gen:AtakanoGenerator = new AtakanoGenerator(); private function complete():void { gen.setElement("みたいな","彼氏は","付き合って五ヶ月"); gen.setElement("彼氏は","普通"); gen.setElement("普通","てか"); gen.setElement("付き合って五ヶ月","彼氏の名前"); gen.setElement("彼氏の名前","トモ"); gen.setElement("トモ","歳?"); gen.setElement("歳?","23","31歳"); gen.setElement("23","まぁ今年で24"); gen.setElement("まぁ今年で24","彼氏?"); gen.setElement("彼氏?","まぁ"); gen.setElement("まぁ","当たり前に"); gen.setElement("当たり前に","いる"); gen.setElement("いる","てか"); gen.setElement("てか","いない訳ないじゃん","アタシが付き合って"); gen.setElement("アタシが付き合って","あげてる"); gen.setElement("あげてる","みたいな"); gen.setElement("いない訳ないじゃん","みたいな"); gen.setElement("31歳","多分"); gen.setElement("多分","顔?"); gen.setElement("顔?","まぁ普通"); gen.setElement("まぁ普通","アタシが","人より目はデカイかな?"); gen.setElement("人より目はデカイかな?","まぁ普通"); gen.setElement("アタシが","変な男と"); gen.setElement("変な男と","付き合う訳ないし"); gen.setElement("付き合う訳ないし","みたいな"); gen.setElement("アタシ","アキ"); gen.setElement("アキ","歳?"); gen.setRoot("みたいな"); } private function buttonClick(event:MouseEvent):void { t.text = ""; var i:int = 0; for (i = 0; i<20; i++) { t.text = t.text + gen.next() + "\n"; } } ]]> </mx:Script> <mx:TextArea id="t" x="10" y="10" width="374" height="300"/> <mx:Button id="button" x="10" y="318" label="次" click="buttonClick(event)"/> </mx:Application>
package { public class AtakanoGenerator { private var map:Object = new Object(); private var point:String = ""; public function AtakanoGenerator() { } public function setElement(key:String, ... values):void { map[key] = values; } public function setRoot(key:String):void { point = key; } public function next():String { var ret:String = point; var arr:Array = map[point]; var r:int = Math.random() * arr.length % arr.length; point = arr[r]; return ret; } } }
何の意味もないよねーwwwww