作者wss50427 (米拉)
看板Flash
標題[問題] 有關於猜數字的程式碼
時間Sun Dec 5 23:10:22 2010
經過好幾天的摧殘...
腦細胞不知道死了N個
程式碼設定是隨機產生一個數字 然後不斷輸入去猜那個數
不知道是不是函數部分有問題 不過ctrl enter後編譯器也沒說有問題
但是swf檔執行到一半就會當掉...
函數是要去測試我所輸入的數字是否符合
小於的話就把它放到左框中 大於就放右框
等於就跳到場景三
以下是小弟的程式碼 不好意思麻煩大大幫忙解惑了! 感恩
stop();
stage.focus=in_txt;
var l:Number=1;
var l2:Number=99;
leftout_txt.text=String(l);
rightout_txt.text=String(l2);
ok_btn.addEventListener(MouseEvent.CLICK, findabs);
var high:int=99;
var low:int=1;
var r:Number=Math.floor(Math.random()*(1+high-low)+low);
var num:Number;
num = Number(in_txt.text);
function findabs(evt:MouseEvent):void{
do{
if (num==r){
r=Number(time.text);
gotoAndStop(3);}
if(num<r)
num=Number(leftout_txt.text);
if (num>r)
num=Number(rightout_txt.text);
}while(num!=r);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.43.33.38
推 sextitanic:其實可以不用 do while,因為if就把所有事情都判斷完 12/06 00:28
→ sextitanic:而且你這個寫法,如果你輸入的數字不等於隨機數字 12/06 00:29
→ sextitanic:那迴圈就會不斷執行,不斷執行,不斷執行..... 12/06 00:29
→ sextitanic:還有那個 var 1:Number = 1; 不建議使用 12/06 00:33
→ sextitanic:可以直接 leftout_txt.text = "1"; 就好 12/06 00:34
→ sextitanic:那個變數 r 跟 num 其實變數型態指定 int 即可 12/06 00:35
→ sextitanic:因為這樣子隨機取完數目後它會自動把小數點忽略掉 12/06 00:36
→ sextitanic:就可以少用 Math.floor,省一次功 12/06 00:36
→ sextitanic:可能你之前有看過書上是用 Number 12/06 00:37
→ sextitanic:但是那本書可能是用 as 2.0,沒有 int 這個變數型態 12/06 00:37
→ dsmwang:num不改變然後一直執行無窮迴圈,也只能當掉了。 12/06 00:44