手動で10進数→2進数のクイズ的なアレ

by honekingu
新しい問題を解くときはReloadをお願いします
基礎の学びがてらやってみました
まだ初めて1週間くらいなんで無駄が多いかもです
♥0 | Line 63 | Modified 2012-09-14 02:31:06 | MIT License
play

ActionScript3 source code

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

//基礎の学びがてら10進数を関数なしで2進数に変換
//そしてクイズ形式にしてみた
//色々無駄が多いかもしれんですが勘弁してください
package {
    import com.actionscriptbible.Example;
    import flash.text.TextField;
    import flash.events.MouseEvent;
    import flash.display.Sprite;
    public class FlashTest extends Example {
        private var score:TextField;
        private var nex_btnlabel:TextField;
        private var nex_btn:Sprite;
        public function FlashTest() {
            // write as3 code here..
            var ques:int;//問題の10進数
            var mozi:String;//答え
            var kairan:String;//解答
            var ama:int;//余り
            ques = Math.floor(Math.random() * 99 + 1);//2~100の間で問題が決まる、99をいじれば範囲も変わる
            trace("問題:「"+ques+"」を2進数に直せ");
            trace("");
            trace("");
            //ボタンの作成
            score=new TextField();
            score.type = flash.text.TextFieldType.INPUT;
            score.border = true;
            score.width  = 200;
            score.height = 15;
            score.text = "";
            score.x = 0;
            score.y = 16;
            addChild(score);
            nex_btn=new Sprite();
            nex_btnlabel=new TextField();
            nex_btnlabel.type = flash.text.TextFieldType.INPUT;
            nex_btnlabel.autoSize = flash.text.TextFieldAutoSize.LEFT;
            nex_btnlabel.text="答え合わせ";
            nex_btnlabel.mouseEnabled=false;
            nex_btnlabel.selectable=false;
            nex_btn.y=32;
            nex_btnlabel.y=31;
            nex_btn.graphics.beginFill(0xa0a0a0);
            nex_btn.graphics.drawRect(0,0,60,16);
            nex_btn.graphics.endFill();
            nex_btn.addEventListener(MouseEvent.CLICK,onClick);
            addChild(nex_btn);
            addChild(nex_btnlabel);
            //ボタンクリック後
            function onClick(event:MouseEvent):void{
                removeChild(nex_btn);
                removeChild(nex_btnlabel);
                while(ques!=1) {
                    ama = ques%2;
                    ques = ques/2;
                    mozi = ama + mozi;
                }
                mozi = "1" + mozi;
              kairan = String(score.text)
              //不正解なら答えの表示
              if(mozi==kairan){
                  trace("正解です♪");
              }
               else{
                   trace("不正解orz")
                   trace ("答えは「" + mozi + "」です") ;
               }
            }
        }
    }
}