flash on 2010-11-17 tartou2 forked:1favorite:0lines:547license : GPLv3 License modified : 2010-11-17 23:01:08 Embed Tweet package { import flash.display.Sprite; public class FlashTest extends Sprite { public function FlashTest() { // Author: Ruben Montecinos // http://www.viewpoint.cl - Official Website - Drawings - Programming - 3D - and more // http://www.facebook.com/rubenmontecinos - Author's facebook // http://twitter.com/rubenmontecinos - franX Bot news // Free for non massive commercial use. // You can use it in personal o commercial websites. You cant sell this project. // Last Update: August 8, 2009 // Variables var genderUser = "man"; var numberInput:int; var userName:String; var userNameToOutPut:String; var userNameOk:String; var gotOutput = "answX"; var dataBaseArray:Array = new Array(); var inpText:String; var inputText:Array; var botName = "franX"; var botNameSay = "franX: "; var myCheckNumber = 0; var questionsToAnswer:XML; var botQuestionAge:XMLList; var ageAnswerYes:XMLList; var ageAnswerKid:XMLList; var ageAnswerYoung:XMLList; var ageAnswerTeen:XMLList; var ageAnswerAdult:XMLList; var ageAnswerOld:XMLList; var ageAnswerNop:XMLList; var answerGenderWoman:XMLList; var answerGenderMan:XMLList; var userNameId:XML; var userNameGender:XML; var requestAge = false; var questionAge:int; var requestGender = false; var questionGender:String; var requestThree = false; // This var gets a true or false value. // 搜寻第一个词 - true, false - boolean // 最初の単語を捜しなさい - true, false - boolean var foundOne = false; var foundAnswer = false; // Get the position of the found word in the dataBase Array // 查找位置 在数据库中 // 位置を見つけなさい データベース var positionOne:int; var positionTwo:int; var positionThree:int; var positionFour:int; var positionFive:int; var actualPosition:int; var myTimeNow:Date = new Date(); var myDateNew = "(" + myTimeNow.toLocaleTimeString() + ") "; var botQuestionGender:String; var whatIs:String; outputField.text = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; // Listener for buttons // 按钮的听众 // 耳をそば立てることはボタンがかかる sendUsername_btn.addEventListener(MouseEvent.CLICK, clickUserName); function clickUserName(event:MouseEvent):void { searchName(); } send_btn.addEventListener(MouseEvent.CLICK, clickToChat); function clickToChat(event:MouseEvent):void { beginWriting(); } // Listener for input fields (ENTER key) // 听众文本领域 输入文本 (enter键) // 聞くテキスト分野 (入力キーを) usernameField.addEventListener(KeyboardEvent.KEY_DOWN, sendUsername); inputField.addEventListener(KeyboardEvent.KEY_DOWN, enterChat); function sendUsername(event:KeyboardEvent):void { //calls searchName function if (event.keyCode == Keyboard.ENTER) { searchName(); } } function enterChat(event:KeyboardEvent):void { if (event.keyCode == Keyboard.ENTER) { beginWriting(); } } //This function gets the username string and search in the female names database // 功能 : 获得用户名 // 機能: ユーザー名を得なさい function searchName():void { var online:onlineSound = new onlineSound(); var channel:SoundChannel = online.play(); userName = usernameField.text; bgLogin.alpha = 0; usernameField.y = -100; sendUsername_btn.y = -150; userNameToOutPut = usernameField.text; cleanUsername(userName); infoField.appendText(userNameToOutPut + ", hola" + "\n"); this.usernameField.text = ""; loadDatabase(); stage.focus = inputField; this.addChild(mySb); mySb.enabled = true; addChild(send_btn); } //This function begins the process // 开始进程 // プロセスを開始しなさい function beginWriting():void { inpText = inputField.text; var lghUser:int = userNameToOutPut.length; var userNameSay = userNameToOutPut + ": "; outputField.htmlText += <b>{myDateNew + userNameSay}</b> + <font color="#006666">{inpText}</font> + "\n"; inpText = inpText.toLowerCase(); this.inputField.text = ""; mySb.update(); mySb.scrollPosition = 1000; foundOne = false; foundAnswer = false; positionOne = -1; myCheckNumber = (myCheckNumber+1); inputProcessing(inpText); theBotAsk(); } //The bot asks a question when it is invocaated // 有时机器人问问题 // ロボットは質問を時々する function theBotAsk(){ if (myCheckNumber == 3) { soundAnswer(); outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{botQuestionAge}</font> + "\n"; mySb.scrollPosition = 1000; requestAge = true; } if (myCheckNumber == 8){ requestAge = false; } if (myCheckNumber == 7) { soundAnswer(); outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{botQuestionGender}</font> + "\n"; mySb.scrollPosition = 1000; requestGender = true; } if (myCheckNumber == 16){ requestGender = false; } } // Load XML // 得到XML数据库 // XMLのデータベースを得なさい function loadDatabase(){ var xmlLoader:URLLoader = new URLLoader(); var xmlData:XML = new XML(); † xmlLoader.addEventListener(Event.COMPLETE, LoadXML); † xmlLoader.load(new URLRequest("bdenglish.xml")); function LoadXML(e:Event):void { xmlData = new XML(e.target.data); questionsToAnswer = xmlData; // Get data for Bot Questions (the bot can ask questions). Also it gets bot's name an age botQuestionAge = questionsToAnswer.botquestions.age.text(); ageAnswerKid = questionsToAnswer.botquestions.answerAgeKid.text(); ageAnswerYoung = questionsToAnswer.botquestions.answerAgeYoung.text(); ageAnswerTeen = questionsToAnswer.botquestions.answerAgeTeen.text(); ageAnswerAdult = questionsToAnswer.botquestions.answerAgeAdult.text(); ageAnswerOld = questionsToAnswer.botquestions.answerAgeOld.text(); ageAnswerNop = questionsToAnswer.botquestions.answerAgeNop.text(); answerGenderWoman = questionsToAnswer.requestYesWoman.answX.text(); answerGenderMan = questionsToAnswer.requestYesMan.answX.text(); // Add new nodes <learning>. After you can add only data to the multidimensional array. // 您能增加新的XML结 <learning> - 在您以后必须增加数据到多维数组 // 新しいXMLノードを加えなさい <learning> - それの後で、多次元配列にデータを加えなければならない // It adds the username to XML node <learning> userNameId = <username><answX>{userNameToOutPut}</answX></username>; questionsToAnswer.learning.username += userNameId; // It adds a new node with the user genre in <learning> userNameGender = <genderuser><answX>{genderUser}</answX></genderuser>; questionsToAnswer.learning.genderuser += userNameGender; // It will add a new node with the user age in <learning> var userNameAge = <age><answX>{numberInput}</answX></age>; questionsToAnswer.learning.age += userNameAge; // Converts the XML to an multidimensional Array // XML数据库 ----> 多维数组 // XMLのデータベース ----> 多次元アレイ var structureFromNode:XMLList = questionsToAnswer.children(); var i:Number = 0; var childNode:XML; for each (childNode in structureFromNode){ var j:Number = 0; dataBaseArray[i] = new Array(); if(childNode.name() != undefined){ dataBaseArray[i][0] = childNode.name(); j++; } var node:XML; for each (node in childNode.children()){ if(node.name() != undefined){ dataBaseArray[i][j] = node.name(); j++; } if(node.text() != undefined){ dataBaseArray[i][j] = node.text(); j++; } var threeNode:XML; for each(threeNode in node.children()){ if(threeNode.name() != undefined){ dataBaseArray[i][j] = threeNode.name(); j++; } if(threeNode.text() != undefined){ dataBaseArray[i][j] = threeNode.text(); j++; } var fourNode:XML; for each(fourNode in threeNode.children()){ if(fourNode.name() != undefined){ dataBaseArray[i][j] = fourNode.name(); j++; } if(fourNode.text() != undefined){ dataBaseArray[i][j] = fourNode.text(); j++; } var fiveNode:XML; for each(fiveNode in fourNode.children()){ if(fiveNode.name() != undefined){ dataBaseArray[i][j] = fiveNode.name(); j++; } if(fiveNode.text() != undefined){ dataBaseArray[i][j] = fiveNode.text(); j++; } var sixtyNode:XML; for each(sixtyNode in fiveNode.children()){ if(sixtyNode.name() != undefined){ dataBaseArray[i][j] = sixtyNode.name(); j++; } if(sixtyNode.text() != undefined){ dataBaseArray[i][j] = sixtyNode.text(); j++; } } } } } } i++; } } } // This function processes the input string, it deletes characters or transform the input string // 输入串过程 - 改变或删除字符 - 小写字母 // 入力ひもプロセス - 変更または削除の特性 - 小文字 function inputProcessing(inpText){ var charactCleanInput = new Array("ø","?", ",", "°", "!", "'", ".", "(", ")", ";", "&", "*", "$", "#"); for(var charMore in charactCleanInput){ inpText = inpText.split(charactCleanInput[charMore]); inpText = inpText.join(""); } // Example: this replace a word inpText = inpText.split("helo").join("hello"); inpText = inpText.split("are u ").join("are you "); var someBadWords = new Array(" fuck", " sheet ", "porn", " tits", "fuck"); for(var badWord in someBadWords){ inpText = inpText.split(someBadWords[badWord]); inpText = inpText.join(" badWords "); trace(inpText); } var haWordsTwo = new Array("haha", "hehe", "hahaha", "jaja", "xd", "hihi", "hi hi", ":)", "XD"); for(var haSmile in haWordsTwo){ inpText = inpText.split(haWordsTwo[haSmile]); inpText = inpText.join(" actionsmile "); } var someOkThree = new Array("okkk", "okk", " oki ", "esta bien"); for(var okOk in someOkThree){ inpText = inpText.split(someOkThree[okOk]); inpText = inpText.join(" OK "); } var iAmWoman = new Array("I am a girl", "I am a woman", "I am a little girl", "my gender is female"); for(var wGender in iAmWoman){ inpText = inpText.split(iAmWoman[wGender]); inpText = inpText.join(" iamwoman"); } var iamMan = new Array("I am a boy", "I am male", "I am a man"); for(var mGender in iamMan){ inpText = inpText.split(iamMan[mGender]); inpText = inpText.join(" iamman"); } inpText = inpText.split("·").join("a"); inpText = inpText.split("È").join("e"); inpText = inpText.split("Ì").join("i"); inpText = inpText.split("Û").join("o"); inpText = inpText.split("·").join("u"); inpText = inpText.split("Ò").join("n"); inpText = inpText.split("tell me who").join("who"); inpText = inpText.split("do you know who").join("who"); inpText = inpText.split("my name is").join("i am "); inpText = inpText.split("what is my").join("learning "); inpText = inpText.split(" im ").join("i am "); if((inpText.charAt(0)) == " "){ var iTextNumber:Number = inpText.length; inpText = inpText.substr(1, iTextNumber); } inputText = inpText.split(" "); if(requestGender == true){ if(inputText[0] == "yes"){ if(genderUser == "woman"){ inputText[0] = "requestYesWoman"; genderUser = "woman"; requestGender = false; } if(genderUser == "man"){ inputText[0] = "requestYesMan"; genderUser = "man"; requestGender = false; } } } // if(requestGender == true){ if(inputText[0] == "no"){ if(genderUser == "woman"){ inputText[0] = "requestYesMan"; genderUser = "man"; requestGender = false; } } if(inputText[0] == "no"){ if(genderUser == "man"){ inputText[0] = "requestYesWoman"; genderUser = "woman"; requestGender = false; } } } botIsWriting(); } // Timer delays // 定时器延迟 // タイマーは遅れる function botIsWriting(){ var timerBot:Timer = new Timer(100, 7); timerBot.addEventListener(TimerEvent.TIMER, timerWait); timerBot.addEventListener(TimerEvent.TIMER, okToTalk); function timerWait(event:TimerEvent):void { var timerCount = timerBot.currentCount; infoField.text = timerCount; isWriting.text = botName + " is writing an answer"; } timerBot.start(); // count: 1,2,3,4,5,6,7 function okToTalk(event:TimerEvent):void { if (timerBot.currentCount == 7) { infoField.text = "OK"; isWriting.text = ""; talkingMe(inputText, dataBaseArray); } } } // This function gets the first found string position. The bot must find it. // 作用 : 首先找到 -------> 机器人必须发现第一个词 // 機能 : 最初に見つけられる ---------> ロボットはそれを見つけなければならない function talkingMe(inputText, dataBaseArray):void { soundAnswer(); trace(inputText + " THIS IS INPUT"); for (var k:int = 0; k < dataBaseArray.length; k++) { var l:int = 0; if(dataBaseArray[k][l] == inputText[0]){ positionOne = k; foundOne = true; if(dataBaseArray[positionOne][(positionTwo+1)] == "answX"){ //outputField.appendText(botNameSay + dataBaseArray[positionOne][(positionTwo+2)] + "\n"); outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{dataBaseArray[positionOne][(positionTwo+2)]}</font> + "\n"; mySb.scrollPosition = 1000; } else{ NewStringFinding(); } } } if(foundOne == false){ // another possibility activeQuestion(); } } // Waiting an answer // 机器人等待回答 // ロボットは答えを待っている function activeQuestion() { if(requestGender == true){ if(inputText[0] == "iamwoman"){ outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{answerGenderWoman}</font> + "\n"; requestGender = false; genderUser = "woman"; foundOne = true; foundAnswer = false; mySb.scrollPosition = 1000; } } if(requestGender == true){ if(inputText[0] == "iamman"){ outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{answerGenderMan}</font> + "\n"; requestGender = false; genderUser = "man"; foundOne = true; foundAnswer = false; mySb.scrollPosition = 1000; } } if (requestAge == true){ numberInput = (inputText[0] || inputText[1] || inputText[2]); // Add age number to multidimensional array (learning) // 增加多维数组数据 // 多次元アレイデータを追加しなさい dataBaseArray[2][9] = numberInput; // answer to user age if((numberInput > 5) && (numberInput < 10) ){ outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{ageAnswerKid}</font> + "\n"; mySb.scrollPosition = 1000; foundOne = true; foundAnswer = false; requestAge = false; } if((numberInput >= 10) && (numberInput < 15) ){ outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{ageAnswerYoung}</font> + "\n"; mySb.scrollPosition = 1000; foundOne = true; foundAnswer = false; requestAge = false; } if((numberInput >= 15) && (numberInput < 20) ){ outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{ageAnswerTeen}</font> + "\n"; mySb.scrollPosition = 1000; foundOne = true; foundAnswer = false; requestAge = false; } if((numberInput >= 20) && (numberInput < 60) ){ outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{ageAnswerAdult}</font> + "\n"; mySb.scrollPosition = 1000; foundOne = true; foundAnswer = false; requestAge = false; } if((numberInput >= 60) && (numberInput < 99) ){ outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{ageAnswerOld}</font> + "\n"; mySb.scrollPosition = 1000; foundOne = true; foundAnswer = false; requestAge = false; } if(numberInput >= 99){ outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{ageAnswerNop}</font> + "\n"; mySb.scrollPosition = 1000; foundOne = true; foundAnswer = false; requestAge = false; } } if(foundOne == false){ idontKnow(); } } // Search function // 查寻多维数组 // 多次元配列の単語を見つけなさい function NewStringFinding() { var n:int = 1; for (var m:int = 1; m < dataBaseArray[positionOne].length; m++) { if(dataBaseArray[positionOne][m] == inputText[1]){ trace("Element 1 exists on position [" + positionOne + "][" + m + "]" + " findind twoInput"); if(dataBaseArray[positionOne][(m+1)] == "answX"){ foundAnswer = true; outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{dataBaseArray[positionOne][(m+2)]}</font> + "\n"; mySb.scrollPosition = 1000; break; } actualPosition = m; } if(dataBaseArray[positionOne][m] == inputText[2]){ trace("Element 2 exists on position [" + positionOne + "][" + m + "]" + " findind twoInput"); if(dataBaseArray[positionOne][(m+1)] == "answX"){ foundAnswer = true; outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{dataBaseArray[positionOne][(m+2)]}</font> + "\n"; mySb.scrollPosition = 1000; break; } actualPosition = m; } if(dataBaseArray[positionOne][m] == inputText[3]){ trace("Element 3 exists on position [" + positionOne + "][" + m + "]" + " findind twoInput"); if(dataBaseArray[positionOne][(m+1)] == "answX"){ foundAnswer = true; outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{dataBaseArray[positionOne][(m+2)]}</font> + "\n"; mySb.scrollPosition = 1000; break; } actualPosition = m; } if(dataBaseArray[positionOne][m] == inputText[4]){ trace("Element 4 exists on position [" + positionOne + "][" + m + "]" + " findind twoInput"); if(dataBaseArray[positionOne][(m+1)] == "answX"){ foundAnswer = true; outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{dataBaseArray[positionOne][(m+2)]}</font> + "\n"; mySb.scrollPosition = 1000; break; } actualPosition = m; } if(dataBaseArray[positionOne][m] == inputText[5]){ trace("Element 5 exists on position [" + positionOne + "][" + m + "]" + " findind twoInput"); if(dataBaseArray[positionOne][(m+1)] == "answX"){ foundAnswer = true; outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{dataBaseArray[positionOne][(m+2)]}</font> + "\n"; mySb.scrollPosition = 1000; break; } actualPosition = m; } if(dataBaseArray[positionOne][m] == inputText[6]){ trace("Element 6 exists on position [" + positionOne + "][" + m + "]" + " findind twoInput"); if(dataBaseArray[positionOne][(m+1)] == "answX"){ foundAnswer = true; outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{dataBaseArray[positionOne][(m+2)]}</font> + "\n"; mySb.scrollPosition = 1000; break; } actualPosition = m; } if(dataBaseArray[positionOne][m] == inputText[7]){ trace("Element 7 exists on position [" + positionOne + "][" + m + "]" + " findind twoInput"); if(dataBaseArray[positionOne][(m+1)] == "answX"){ foundAnswer = true; outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{dataBaseArray[positionOne][(m+2)]}</font> + "\n"; mySb.scrollPosition = 1000; break; } actualPosition = m; } else{ trace("another"); } } idontKnow(); } function idontKnow(){ whatIs = "Sorry, I don't understand it, " + userNameToOutPut; if(foundOne == false){ trace(" the bot doesnt find an answer"); outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{whatIs}</font> + "\n"; mySb.scrollPosition = 1000; return; } trace("!!!!!!!"); trace(foundAnswer + " foundAnswer"); if(foundAnswer == false){ trace(" the bot doesnt find an answer"); outputField.htmlText += <b>{myDateNew + botNameSay}</b> + <font color="#660033">{whatIs}</font> + "\n"; mySb.scrollPosition = 1000; return; } trace("!!!!!!!"); trace(foundAnswer + " foundAnswer"); } // Get user gendre // 作用: 男性或女性 // 機能 : 男性か女性 function cleanUsername(userName) { var charactClean = new Array("ø","?", ",", "°", "!", "'", ".", "(", ")", ";", "&"); for(var i in charactClean){ userName = userName.split(charactClean[i]); userName = userName.join(""); userNameOk = userName; } loginUser(userNameOk, femaleNames); } // Female names database // 女性命名数据库 // 女性ユーザー名のデータベース var femaleNames:Array = ["lindsay, angelina, heather, alejandra", "adelaida", "aida", "alicia", "amalia", "amelia", "ana", "anastasia", "angela", "angelica", "angelina", "anisia", "antonia", "aquilina", "arabia", "argentea", "ariana", "aria", "artemia", "artemisa", "asela", "augusta", "aurea", "aurelia", "aurora", "berta", "diva", "barbara", "basilia", "beatriz", "benedicta", "benita", "bibiana", "bonita", "brigida", "calixta", "candida", "caridad", "carlota", "casilda", "catalina", "cecilia", "celerina", "cirenia", "clara", "claudia", "clerodiae", "clotilde", "concesa", "condesa", "constancia", "cornelia", "cristina", "cuartila", "cunegunda", "daria", "dartina", "demetria", "deotila", "dominga", "dominica", "dona", "donna", "britney", "britany", "donata", "donatta", "donatella", "dorotea", "edelmira", "evelyn", "eve", "edit", "edith", "elena", "eliana", "elvira", "emilia", "emilie", "emily", "emiliana", "ema", "emma", "escolastica", "esperanza", "eudocia", "eudoxia", "eufemia", "eufrasia", "eufrosina", "eugenia", "eulalia", "eutropia", "eva", "evenilda", "faustina", "felicia", "felicidad", "felipa", "fermina", "filancia", "filomena", "filotea", "flamina", "flavia", "flodoberta", "flora", "florencia", "florentina", "fiorella", "fiorela", "floriana", "gala", "galatea", "gaia", "gaudelia", "gema", "genoveva", "gerburga", "genoveba", "gertrudis", "gisela", "gisella", "gliceria", "gracia", "gundelinda", "heraclea", "heraclia", "hermenegilda", "hilaria", "ifigenia", "iluminada", "ines", "inocencia", "iraides", "irene", "isabel", "isidora", "joaquina", "juana", "juanita", "julia", "juliana", "justa", "lelia", "lesly", "leoncia", "leonila", "leonor", "lidia", "livia", "liliosa", "lili", "liliana", "lioba", "lorenza", "lucia", "lucila", "lucilla", "lucinia", "lucresia", "luisa", "luminosa", "maca", "macarena", "makarena", "marcela", "marcelina", "margarita", "maria", "mariana", "marianella", "marianela", "marina", "marta", "martina", "matilde", "maura", "maxima", "menodora", "modesta", "monica", "natalia", "nataly", "natalie", "naty", "ninfa", "noelia", "obdulia", "ada", "hada", "oda", "odilia", "olga", "oliva", "olivaria", "osia", "osiria", "osiris", "carla", "paladia", "patricia", "paula", "paola", "paulina", "paulette", "perpetua", "petronila", "placida", "polisena", "prisca", "priscilla", "priscila", "pricila", "quinta", "quiona", "radegunda", "raquel", "rebeca", "regina", "reinalda", "reinaldina", "ricarda", "romania", "romanita", "romula", "rosa", "rose", "rosalia", "rosalina", "rosalinda", "rufica", "carola, carolina", "carol", "caro", "sabina", "sara", "sarita", "segunda", "serafina", "severiana", "silvia", "silvie", "sira", "sofia", "sonia", "susana", "susy", "susan", "susanne", "teodora", "teodosia", "teofila", "teresa", "teresina", "tertula", "vale", "valentina", "valeriana", "verona", "veronica", "vicenta", "victoria", "viqui", "vicky", "vileta", "yolanda", "zoe", "miriam", "mirella", "eliza", "elisa", "elizaberth", "elizabeth", "andrea", "angie", "klaudia", "karla", "tania", "tanya", "orieta", "carmen", "guillermina", "pamelita", "pamela", "daniela", "luz", "pia", "paz", "coni", "cony", "constanza", "jenny", "gaby", "gabriela", "gabrielle", "loreto", "alice", "paulita", "irene", "valeria", "valeska", "vania", "vannia", "viviana", "maribel", "pepi", "pepita", "alena", "alana", "sole", "soledad", "ximena", "jimena", "roly", "tatiana", "soraya", "danae", "danette", "lina", "fernanda", "manuela", "triana", "yeisy", "mitsy", "isabel", "camila", "camille", "marie", "kamila", "lia", "mia", "lya", "karina", "kelly", "lynne", "roxanna", "roxana", "clara", "samara", "luzmira", "rina", "simonette", "simona", "simoneta", "liz", "loredana", "luli", "laura", "rosalba", "rocio", "romina", "abril", "avril", "shakira", "abigail", "adela", "adela", "josefa", "adriana", "agnes", "agostina", "agustina", "agripina", "adoracion", "ailin", "ailyn", "aileen", "alba", "alda", "alessandra", "alejandrina", "alexia", "alfonsina", "aline", "alina", "alondra", "paloma", "estrella", "amanda", "amparo", "amy", "anabel", "analia", "antonella", "antonieta", "ofelia", "noelia", "ariela", "astrid", "aurelia", "lisette", "ayelen", "sandra", "beatriz", "nicolette", "nicole", "belinda", "bernarda", "bianca", "brigida", "brisa", "brunilda", "canela", "karen", "carmela", "caterina", "katy", "katherine", "celia", "chloe", "cinthya", "cintia", "cinthia", "clarisa", "clarisse", "concepcion", "corina", "cristal", "dafne", "daira", "dalia", "dalila", "joyce", "dana", "denisse", "denise", "desiree", "devota", "debora", "dina", "dolores", "dulce", "colomba", "ignacia", "filomena", "eduarda", "edna", "elaine", "elba", "elcira", "eleana", "eleonor", "eloisa", "elida", "emilce", "inmaculada", "anais", "lucy", "esmeralda", "erika", "estefania", "stephany", "ester", "evangelina", "fabiana", "fabiola", "fanny", "francisca", "fausta", "felipa", "federica", "flor", "flora", "francesca", "frida", "gala", "georgia", "francia", "ginebra", "gioconda", "giuliana", "gladis", "gladys", "glenda", "gloria", "greta", "guadalupe", "lupe", "hannah", "haydee", "heidi", "hortensia", "hilda", "irma", "ines", "indira", "iris", "ivana", "ivonne", "jaqueline", "jaqui", "javiera", "jazmin", "jennifer", "jeanette", "jessie", "judith", "julieta", "katerina", "katia", "keira", "kiara", "kimberly", "layla", "leslie", "leticia", "libertad", "lilian", "linda", "lola", "lourdes", "luciana", "lucila", "ludmila", "mabel", "magda", "maya", "amaya", "magaly", "magali", "mirna", "yasna", "yamna", "maia", "maite", "malena", "mara", "mariangeles", "marian", "marianne", "maricruz", "marilu", "marite", "marisa", "marlene", "martha", "melanie", "melina", "melinda", "micaela", "mercedes", "milene", "miranda", "mireya", "montserrat", "nadia", "nancy", "naomi", "natacha", "nayla", "nazarena", "belen", "nelida", "nelly", "nilda", "nina", "nora", "odette", "oriana", "olimpia", "olivia", "ornela", "ornella", "penelope", "ursula", "piedad", "pilar", "purificacion", "ramona", "roberta", "rosalia", "rosana", "rosina", "sabrina", "samanta", "samantha", "sally", "selena", "selene", "sebastiana", "selva", "serena", "sigrid", "silvana", "silvina", "sylvia", "tabatha", "tamara", "taty", "telma", "teodora", "bernardita", "teresita", "tiara", "trinidad", "vanessa", "venecia", "vivian", "virginia", "wendy", "xiomara", "yesenia", "jessica", "yamila", "yamile", "yanella", "yadira", "yanet", "yanina", "yaninna", "gianinna", "yasmin", "ivette", "yvette", "yvonne", "zulma", "zelma", "zulema", "zunilda", "grace", "isadora", "oriana", "dina"]; function loginUser(userNameOk, femaleNames):void { userNameOk = userNameOk.toLowerCase(); for(var i:Number = 0; i < femaleNames.length; i++) { if(femaleNames[i] == userNameOk) { infoField.appendText(userNameToOutPut + ", you are a woman" + "\n"); // 用户性别 // ユーザーの性(男性か女性) genderUser = "woman"; trace("she is a " + genderUser); } } botQuestionGender = "øare you a " + genderUser + "?"; } function createOutputBox(userNameToOutput:String):void { trace(userNameToOutPut + " function createOutputBox"); addChild(infoField); infoField.text = userNameToOutPut + ", hi"; } return; // Player sound // 球员声音 // 可聴周波プレーヤー function soundAnswer(){ var typing:typingSound = new typingSound(); var answerSound:SoundChannel = typing.play(); } } } } Code Fullscreen Preview Fullscreen XMLList XML undefined trace join toLocaleTimeString Date toLowerCase children name split substr charAt String alpha addEventListener Array text length addChild sort new page view favorite forked pv0 forked from: flash on 2010-11-.. raa forked:0 favorite:0lines:547 (diff:1)