stop(); /** * 東方茸狩踊メインクラス *
 * 歌って踊って狩るぜ
 * 
* @author Rera Kamuy * @version 1.00.820 * @exception MellPointerException * @return 自己満足 */ //変数定義 //1フレーム前のマウスX座標 var mouseX:Number = 0; //スコア var score:Number = 0; //きのこ育成カウンタ var cntKinoko:Number = 0; //きのこ発生数 var numKinoko:Number = 0; //踊り忘れカウンタ var noDance:Number = 0; //採り忘れカウンタ var noKinoko:Number = 0; //パチェをマウスにセット Mouse.hide(); pache.startDrag(); pache._x = _root._xmouse; pache._y = _root._ymouse - 70; //パチェの深度 //8(ぱ) 2(ちゅ) 0(りー) pache.swapDepths(1000820); //flash cookie var cookie:SharedObject = SharedObject.getLocal("fdd-kinoko"); if(cookie.data.mellpo == undefined){ cookie.data.hiScore = 0; cookie.data.plays = 1; cookie.data.mellpo = "ξ・∀・)"; cookie.flush(); }else{ this.hiScoreTxt.text = cookie.data.hiScore; cookie.data.plays++; cookie.flush(); } //クリック反応(ダンス) //マウス左ボタンを押した時 this.onPress = function(){ pache.dance(); noDance = 0; if(pache.roop != 0){ addScore(1); } } //マウス左ボタンを離した時 this.onRelease = function(){ pache.dance(); noDance = 0; if(pache.roop != 0){ addScore(1); } } //フレーム毎アクション this.onEnterFrame = function(){ //向き変更 //1フレーム前と今のX座標を比較して、向きを変える if(_root._xmouse < mouseX){ pache._xscale = 100; }else if(_root._xmouse > mouseX){ pache._xscale = -100; } mouseX = _root._xmouse; //きのこ菜園の外に出たら休憩する //きのこ菜園に戻ったら、復帰 //むきゅー if(mouseX > 444){ pache.mukyu(); }else if(pache.roop == 0){ pache.restart(); noDance = 0; } //ダンス忘れペナルティ if(pache.roop != 0){ noDance++; } if(noDance > 30){ addScore(-82); noDance = 28; } //採り忘れペナルティ if(pache.roop != 0){ noKinoko++; } if(noKinoko > 90){ addScore(-820); noKinoko = 80; } //きのこをにょきにょき生やす if(cntKinoko++ > 0){ numKinoko++; if(pacheRand(0, 9) >= 8){ //毒きのこ duplicateMovieClip(dokukinoko, "kinoko" + numKinoko, numKinoko); }else{ //ノーマルきのこ duplicateMovieClip(kinoko, "kinoko" + numKinoko, numKinoko); } //座標、深度セット setProperty("kinoko" + numKinoko, _x, pacheRand(-20, 330)); setProperty("kinoko" + numKinoko, _y, pacheRand(0, 330)); cntKinoko = pacheRand(-10, -3); //カンスト対策 if(numKinoko > 1000000){ numKinoko = 0; } } } //きのこゲット function gotKinoko(type:String){ switch(type){ case "normal": addScore(82); noKinoko = 0; break; case "doku": addScore(-999); noKinoko = 0; break; default: throw new MellPointerException(); } } //スコア管理 function addScore(point:Number){ score += point; this.scoreTxt.text = score; //ハイスコア更新 if(Number(this.hiScoreTxt.text) < score){ this.hiScoreTxt.text = score; cookie.data.hiScore = score; cookie.flush(); } } //乱数発生装置 function pacheRand(start:Number, end:Number){ return Math.floor(Math.random()*(end - start)) + start; }