发新话题
打印

自己做的找单词游戏(附源文件)

自己做的找单词游戏(附源文件)

仅供学习参考之用,虽然尝试次数最大是111,但实际每个单词只尝试了几次,个别的十几次
鼠标控制,单击连出右边单词表的单词即可
部分源代码
复制内容到剪贴板
代码:
//创建新表格
creativeform = function () {
//随机字母
for (i=0, k=0; i<=12; i++) {
  for (j=0; j<=12; j++, k++) {
   _root.grouparray["groupletter"+k].letter = String.fromCharCode(Math.floor(26*Math.random())+65);
  }
}
//摆放单词,lastpoint已使用点
lastpoint = new Array();
wholebk = false;
for (i=0; i<9; i++) {
  //lastpoint.push("("+[i+1]+")");
  bk = false;
  while (bk == false) {
   wordck = false;
   //确定单词方向,起始位置
   fx = random(8);
   ftpoint = random(169);
   m = wordlist[random(wordlist.length)];
   //判定重复单词
   for (j=0; j<tsword.length; j++) {
    if (m == tsword[j]) {
     m = wordlist[random(wordlist.length)];
     j = -1;
    }
   }
   //判定重复起始点
   for (j=0; j<lastpoint.length; j++) {
    if (ftpoint == lastpoint[j]) {
     ftpoint = random(169);
     j = -1;
    }
   }
   //摆放检测
   for (j=0; j<m.length; j++) {
    wordck = true;
    hengx;
    zongx;
    //oblique:4-l-u;5-l-d;6-r-u;7-r-d                                 
    //0-left;1-right;2-up;3-down
    if (fx == 0) {
     hengx = 1;
     zongx = 0;
    } else if (fx == 1) {
     hengx = -1;
     zongx = 0;
    } else if (fx == 2) {
     hengx = 0;
     zongx = 1;
    } else if (fx == 3) {
     hengx = 0;
     zongx = -1;
    } else if (fx == 4) {
     hengx = 1;
     zongx = 1;
    } else if (fx == 5) {
     hengx = 1;
     zongx = -1;
    } else if (fx == 6) {
     hengx = -1;
     zongx = 1;
    } else if (fx == 7) {
     hengx = -1;
     zongx = -1;
    }
    pointck = true;
    k = ftpoint-j*hengx-j*13*zongx;
    kx = ftpoint;
    ky = ftpoint-j*13*zongx;
    while (kx-13>=0) {
     kx -= 13;
    }
    kx = kx-j*hengx;
    //出界检测                                                                                                                                                               
    if (kx>=0 && kx<13 && ky>=0 && ky<=168) {
     //重复点检测
     for (n=0; n<lastpoint.length; n++) {
      if (k == lastpoint[n]) {
       pointck = false;
      }
     }
    } else {
     pointck = false;
    }
    if (pointck) {
     lastpoint.push(k);
     ctrllr(m.charAt(j), k);
    }
    if (pointck == false) {
     //返回所有步骤
     for (l=0; l<j; l++) {
      ctrllr(String.fromCharCode(Math.floor(26*Math.random())+65), lastpoint[-1]);
      lastpoint.pop();
     }
     wordck = false;
     break;
    }
   }
   //单词摆放成功
   if (wordck) {
    tsword[i] = m;
    break;
   }
   //尝试次数超过-即摆放失败                                                                                                                                                                                                                                                              
   mytry++;
   if (mytry>=111) {
    wholebk = true;
    break;
   }
  }
  //重新来过
  if (wholebk) {
   i = -1;
   lastpoint.splice(0, lastpoint.length);
   wholebk = false;
   tsword.splice(0, tsword.length);
  }
  mytry = 0;
}
gameload = false;
};
找单词.rar (217.4 KB)
找单词.swf (146.2 KB)


[ 本帖最后由 flashly77 于 2008-1-19 13:40 编辑 ]

TOP

自己先顶一下

TOP

看着眼花!太费眼

TOP

COPY de...

TOP

帖子老点不假,设计的不错,
既然楼上给顶起来了,我也顶下吧

TOP

引用:
原帖由 wuhanxuxu 于 2008-8-12 22:43 发表
COPY de...
自己写的,我很少去看别人的源码怎么会是COPY的,
COPY的还拿来干什么,就算代码类似毕竟还是自己写的,没根据跑来乱讲

TOP

你先看看那个说copy的那人发帖子数量.

没有技术的人爱乱说的,
为了找心理平衡,
只要见到代码就是copy的,
只要见到图片就是反导的,
这样把别人想得差些,就衬托他自己没那么差了.

[ 本帖最后由 Cl@rke将军 于 2008-8-19 17:21 编辑 ]

TOP

发新话题