发新话题
打印

[求救] 我做的《猜数字》有问题!高手帮忙啊~~

我做的《猜数字》有问题!高手帮忙啊~~

就是做的时候在第二个输入框中怀疑是undefined,因为其他三个框输对后,无论你输入哪个数字,就是不能显示全部正确!代码如下:
stop();
function checkme() {
var a = 0;
var b = 0;
for (var i = 1; i<5; i++) {
  if (_root["input"+i+"_txt"].text == num[i-1]) {
   a++;
  } else {
   for (j=1; j<5; j++) {
    if (_root["input"+i+"_txt"].text == num[j-1]) {
     b++;
    }
   }
  }
}
show_txt.text = a+"A"+b+"B";
}
var num:Array = new Array(4);
num[0] = Math.floor(Math.random()*10);
while (num[1] == num[0]) {
num[1] = Math.floor(Math.random()*10);
}
while (num[2] == num[0] or num[2] == num[1]) {
num[2] = Math.floor(Math.random()*10);
}
while (num[3] == num[0] or num[3] == num[1] or num[3] == num[2]) {
num[3] = Math.floor(Math.random()*10);
}
submit_btn.onRelease = function() {
checkme();
};

源文件在附件内!谢谢啦!

附件

猜数字.fla (52.5 KB)

2008-4-8 23:35, 下载次数: 26

猜数字.swf (5.85 KB)

2008-4-8 23:35, 下载次数: 34

TOP

来人啊!

怎么没人回答呢?

TOP

不知道你这个游戏是什么意思,没看懂

TOP

生成随机数字的部份改成这个
var num:Array = new Array(4);
num[0] = Math.floor(Math.random()*10);
while (!num[1] || num[1] == num[0]) {
        num[1] = Math.floor(Math.random()*10);
}
while (!num[2] || (num[2] == num[0] or num[2] == num[1])) {
        num[2] = Math.floor(Math.random()*10);
}
while (!num[3] || (num[3] == num[0] or num[3] == num[1] or num[3] == num[2])) {
        num[3] = Math.floor(Math.random()*10);
}


另外你的判断也有问题...
假设第一个数字为1
那我第一跟第二个框都输1的话
就是1A1B
其实应该只是1A0B

另外..这应该是我在初中时代里..文曲星之类的东西里边一个的猜数字..
当然玩的人很少..

TOP

回复 4# 的帖子

非常感谢您的帮助,不过能告诉我为什么必须要加上判断数组内容为空呢?
PS:俺是新手,做这个游戏只是练练手,因为之前从来没有做过游戏,(*^__^*) 嘻嘻……
您说的判断正误的问题已经想到了,我写成这样只是方便我自己猜数字证实!:-)
再次感谢您的帮助!

TOP

发新话题