") finished = true } function msg(s) { document.msgbox.src = s } function help() { window.open("ewlhelp.htm", "Instructions") } function musicon() { if (wantsmus) { musicwnd = window.open("ewlmusic.htm", "Music", "location=no,top=5000,left=0,resizable=no,width=10,height=10,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no") musicbox.src="musicoff.gif" } } function musicoff() { if (musicwnd != 0) { musicwnd.close() musicwnd = 0 musicbox.src="musicon.gif" } } function toggle() { if (wantsmus = (musicwnd == 0)) musicon() else musicoff() } function stay() { moveeggs() } function turn(d) { if (nextok) return dir = (dir+d) % 4 eggimg.src = "run" + dir + ".gif" crimgs[0].src = "0c" + (face[0] == 0 ? "x" : "r") + dir + ".gif" crimgs[1].src = "1cr" + dir + ".gif" crimgs[3].src = "3cr" + dir + ".gif" moveeggs() } function moveegg(e, nx, ny, nd) { map[xy(eggs[e], eggs[e+1])] = -1 map[xy(nx, ny)] = e/3 sq(eggs[e], eggs[e+1]).src = "blank.gif" if (nx == px && ny == py) hit(e/3, (dir+nd+(dir % 2 == 0 ? 2 : 0)) % 4) else { sq(eggs[e] = nx, eggs[e+1] = ny).src = "run.gif" eggs[e+2] = nd } return true } function moveeggs() { var l = eggs.length var won = true for (var i=0; i < l; i += 3) if (finished) return else if (eggs[i] > 0) { var cx = eggs[i] var cy = eggs[i+1] var cd = eggs[i+2] var od = 2-cd + 2*(cd % 2) var moved = false shuffle(n4) for (var j=0; j < 4; ++j) if (moved) break else switch (n4[j]) { case 0: if (od != 0 || mapxy(cx, cy+1) != -1) if (mapxy(cx, cy-1) == -1 && mapxy(cx, cy-2) == -1) moved = moveegg(i, cx, cy-2, 0) break case 1: if (od != 1 || mapxy(cx-1, cy) != -1) if (mapxy(cx+1, cy) == -1 && mapxy(cx+2, cy) == -1) moved = moveegg(i, cx+2, cy, 1) break case 2: if (od != 2 || mapxy(cx, cy-1) != -1) if (mapxy(cx, cy+1) == -1 && mapxy(cx, cy+2) == -1) moved = moveegg(i, cx, cy+2, 2) break case 3: if (od != 3 || mapxy(cx+1, cy) != -1) if (mapxy(cx-1, cy) == -1 && mapxy(cx-2, cy) == -1) moved = moveegg(i, cx-2, cy, 3) break } if (!moved) eggs[i+2] = rnd(4) } if (finished) return for (var i=0; i < yc; i += 3) if (--yolks[i] == 0) { map[xy(yolks[i+1], yolks[i+2])] = -1 sq(yolks[i+1], yolks[i+2]).src = "blank.gif" } for (var i=0; i < l; i += 3) if (eggs[i] > 0) { won = false break } if (won || (px == 19 && py == 5)) endlev() } function hit(e, f) { if (e >= 0) if (--face[f] < 0) gameover("lose0.gif", "lose1.gif", "lose2.gif") else { if (f == 0) crimgs[0].src = "0c" + (face[f] == 0 ? "x" : "r") + dir + ".gif" else crimgs[f].src = f + "cr" + dir + ".gif" if (face[f] >= 0) crs[f].style.visibility = "visible" eggs[3*e] = 0 map[xy(px, py)] = -3 sq(px, py).src = "yolk.gif" yolks[yc++] = 20 yolks[yc++] = px yolks[yc++] = py } } function move(x, y, d) { msg("blank.gif") eggdiv.style.left = crwdiv.style.left = crndiv.style.left = crediv.style.left = 10+60*(((px=x)-1)/2) eggdiv.style.top = crwdiv.style.top = crndiv.style.top = crediv.style.top = 10+60*(((py=y)-1)/2) eggimg.src = "run" + dir + ".gif" hit(mapxy(x, y), (d+4-dir) % 4) if (!finished) if (px == 19 && py == 5) endlev() else moveeggs() } function pick(x, y) { if (nextok) return if (x == px-2 && y == py) if (mapxy(px-1, py) == -2) msg("errwall.gif") else move(x, y, 3) else if (x == px+2 && y == py) if (mapxy(px+1, py) == -2) msg("errwall.gif") else move(x, y, 1) else if (x == px && y == py-2) if (mapxy(px, py-1) == -2) msg("errwall.gif") else move(x, y, 0) else if (x == px && y == py+2) if (mapxy(px, py+1) == -2) msg("errwall.gif") else move(x, y, 2) else if (x == px && y == py) stay() else msg("errnadj.gif") } function endlev() { msg("msglev.gif") if (level == 20) gameover("win0.gif", "win1.gif", "win2.gif") else nextok = true } function nextlev() { var l = sqs.length nextok = false if (++level < 10) lnum.src = level + ".gif" else { lnum.src = div(level, 10) + ".gif" rnum.src = (level % 10) + ".gif" } yc = 0 for (var j=1; j < 10; j += 2) for (var i=1; i < 20; i += 2) map[xy(i, j)] = -1 for (var i=0; i < l; ++i) sqs[i].src = "blank.gif" shuffle(n25) l = level+1 for (var i=0; i < l; ++i) { var i3 = 3*i var sp = n25[i] var x = (sp % 5)*2 + 11 var y = div(sp, 5)*2 + 1 sq(eggs[i3] = x, eggs[i3+1] = y).src = "run.gif" eggs[i3+2] = rnd(4) map[xy(x, y)] = i } dir = 0 px = 1 py = 5 eggdiv.style.left = crwdiv.style.left = crndiv.style.left = crediv.style.left = 10 eggdiv.style.top = crwdiv.style.top = crndiv.style.top = crediv.style.top = 130 crwimg.src = crnimg.src = creimg.src = "blank.gif" crwdiv.style.visibility = crndiv.style.visibility = crediv.style.visibility = "hidden" eggimg.src = "run" + dir + ".gif" face[0] = 2 face[1] = face[3] = 1 face[2] = 0 msg("move.gif") } // -->
![]() |
![]() |
![]() |
![]() |
![]() |
![]() ![]() ![]() ![]()
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Copyright ©
28th October 2001: eggswl.htm |