GE 強化模擬器

by andrewexex886
♥0 | Line 49 | Modified 2011-07-26 12:09:16 | MIT License
play

ActionScript3 source code

/**
 * Copyright andrewexex886 ( http://wonderfl.net/user/andrewexex886 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/i8TN
 */

package {
    import flash.text.TextField;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        private var displayString:String;
        private var mainOutPutTF:TextField;
        private var weaponTotal:int=100;
        private var StrengthenLv:int=7;
        private var nowWeaponTotal:int;
        private var pWeaponTotal:int;
        public function FlashTest() {
            init();
            for(var si:int=5;si<=StrengthenLv;si++){
                AllStrengthen(String(si),Math.pow(2,si-4));
            }
            Summary();
           mainOutPutTF.text=displayString;
        }
        private function init():void{
            nowWeaponTotal=weaponTotal;
            mainOutPutTF=new TextField();
            mainOutPutTF.width=mainOutPutTF.height=450;
            displayString="開始強化: "+weaponTotal+"把:\n";
            addChild(mainOutPutTF);
        }
        private function AllStrengthen(StrLv:String,Probability:int):void{
            var breakWeapon:int=0;
            displayString+="+"+StrLv+":("+Number(100/Probability)+"%)\n";
            pWeaponTotal=nowWeaponTotal;
            for (var i:int=1;i<=nowWeaponTotal;i++){
               var RDNUM:int=Math.random()*Probability;
                if(RDNUM==0){
                    displayString+="●";
                }else{
                   displayString+="○";
                    breakWeapon++;
                }
                if(i%25==0 && i<100)displayString+="\n";
            }
            nowWeaponTotal-=breakWeapon;
            displayString+="\n成功率:"+nowWeaponTotal+"/"+pWeaponTotal+"  ("+Math.round(nowWeaponTotal/pWeaponTotal*1000)/10+"%)\n";
        }
        private function Summary():void{
            var pPow:int=StrengthenLv-3;
            displayString+="理論成功率:"+weaponTotal*Math.pow(0.5,(pPow*(pPow-1)*0.5))+"/"+weaponTotal+"\n";
            displayString+="實際成功率:"+nowWeaponTotal+"/"+weaponTotal;
        }
    }
}