发新话题
打印

[基础] 狼羊白菜

本帖已经被作者加入个人空间

狼羊白菜

今天算是放假了,休息n天;
轻松了,没p事了,好!
刚才看到一个问题,说的是"狼羊白菜"之事,做了一个简单的例子(只是大概意思而已 ),修正了一下,放上它,具体看源文件吧。
复制内容到剪贴板
代码:
//有狼、羊、白菜,狼和羊不能同时到河的一边;羊和白菜不能同时在一起。
var mc_array:Array = [狼, 羊, 白菜];
var obj_array:Array = [];
var xy_array:Array = [];
var long:Number = mc_array.length;
for (var i:Number = 0; i<long; i++) {
xy_array.push([mc_array._x, mc_array._y]);
mc_array.t.text = mc_array._name.toString();
mc_array.onPress = function() {
  t.text = "";
  this.startDrag();
  obj_array.push(this);
  checkPosition();
};
mc_array.onRelease = mc_array.onReleaseOutside=function () {
  stopDrag();
  delete onEnterFrame;
  if (this.hitTest(he)) {
   t.text = "怎能放在河上?";
   backPosition();
  }
  obj_array = [];
};
}
function backPosition() {
for (var j:Number = 0; j<long; j++) {
  mc_array[j]._y = xy_array[j][1];
}
}
function checkPosition() {
onEnterFrame = function () {
     var myName:String = obj_array[0]._name;
   var h:Number = 200;
   switch (myName) {
   case "狼" :
    白菜._y = 狼._y;
    if (obj_array[0]._y<h) {
     羊._y = 260+Math.random()*100;
    } else {
     羊._y = 羊._height/2+Math.random()*100;
    }
    break;
   case "羊" :
    狼._y = 白菜._y;
    if (obj_array[0]._y<h) {
     白菜._y = 260+Math.random()*100;
    } else {
     白菜._y = 白菜._height/2+Math.random()*100;
    }
    break;
   case "白菜" :
    狼._y = obj_array[0]._y;
    if (obj_array[0]._y<h) {
     羊._y = 260+Math.random()*100;
    } else {
     羊._y = 羊._height/2+Math.random()*100;
    }
    break;
   }
  }
}
[ 本帖最后由 sxl001 于 2008-7-3 15:44 编辑 ]

附件

狼羊白菜.swf (2.44 KB)

2008-7-3 21:23, 下载次数: 120

狼羊白菜.fla (35.5 KB)

2008-7-3 21:23, 下载次数: 28

TOP

没看懂什么意思!

TOP

你就是告诉大家你的算法吧?

TOP

谢谢~

是我在求救,是一道奥数题
我的想法是,当狼和羊同时留在河的一边时,提示错误。应该怎么做?当然,他们可以在同一边,但是这时候提示出现错误。
楼主太了不起了!几分钟搞出这个一个东东。
佩服佩服!

[ 本帖最后由 远心 于 2008-7-1 15:25 编辑 ]

TOP

好久才抓了一个在一起的

[ 本帖最后由 8765004 于 2008-7-1 16:25 编辑 ]

附件

未标题-1 拷贝.jpg (114.48 KB)

2008-7-1 16:25

未标题-1 拷贝.jpg

TOP

晕晕的

TOP

TOP

好玩!

TOP

怎么下载不下来呀,说是“附件文件不存在或无法读入”

TOP

TOP

发新话题