Flex:猜数字小游戏

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
        <![CDATA[
            var answerArray:Array=new Array();
            
            private function init_q():void
            {
                btnStart.enabled=false;
                btnSubmit.enabled=true;
                textInput.text="";
                textOutput.text="";
                for(var i:int=0;i<4;i++)
                {
                    var temp:int=Math.floor(Math.random()*10);
                    answerArray[i]=temp;
                    for(var j:int=0;j<i;j++)
                    {
                        if(temp==answerArray[j])
                        {
                            i--;
                            break;
                        }
                    }
                }
                //lbl0.text=answerArray[0].toString();
                //lbl1.text=answerArray[1].toString();
                //lbl2.text=answerArray[2].toString();
                //lbl3.text=answerArray[3].toString();
            }
            
            private function calculate():void
            {
                var guessstr:String=textInput.text;
                var guessnum:int=int(guessstr);
                
                var temparr:Array=new Array();
                
                var a:int=0,b:int=0;
                for(var i:int=3;i>=0;i--)
                {
                    temparr[i]=guessnum-Math.floor(guessnum/10)*10;
                    guessnum=Math.floor(guessnum/10);
                }
                
                for(var j:int=0;j<4;j++)
                {
                    for(var k:int=0;k<4;k++)
                    {
                        if(temparr[j]==answerArray[k]&&j==k)
                        {
                            a++;
                        }
                        else if(temparr[j]==answerArray[k])
                        {
                            b++;
                        }
                    }
                }
                textOutput.text+=guessstr+"→"+a+"A"+b+"B"+"\n";
                if(a==4)
                {
                    btnSubmit.enabled=false;
                    btnStart.enabled=true;
                    lblResult.text="猜对了";
                }
            }
        ]]>
    </mx:Script>
    <mx:Panel x="28" y="24" width="340" height="389" layout="absolute" title="猜数字" horizontalAlign="center" fontSize="15" fontFamily="Times New Roman">
        <mx:Text x="20" y="10" text="说明:猜数字游戏,请输入4个0-9的各不相同的数字,xAyB表示有x个数字与答案中同样位置的数字相同,有y个数字在答案中但是与答案中同样的数字不在同一位置"
             height="70" width="290" enabled="false" fontWeight="normal" fontFamily="Times New Roman" color="#CBE2D6" fontSize="13"/>
        <mx:TextInput x="60" y="88" width="112" id="textInput"/>
        <mx:TextArea x="60" y="153" height="188" width="112" id="textOutput"/>
        <mx:Button x="52" y="123" label="开始" click="init_q();" id="btnStart"/>
        <mx:Button x="121" y="123" label="提交" click="calculate();" enabled="false" id="btnSubmit"/>
        <mx:Label x="211" y="82" id="lbl0"/>
        <mx:Label x="211" y="113" id="lbl1"/>
        <mx:Label x="211" y="144" id="lbl2"/>
        <mx:Label x="211" y="175" id="lbl3"/>
        <mx:Label x="211" y="224" id="lblResult"/>
    </mx:Panel>
</mx:Application>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值