<?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>
<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>