Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ii.src = "https://i.imgur.com/4N2EqTp.jpg";
- asmc.style.opacity = 0.8;
- redraw = function() {
- fps++;
- omfps++;
- var b = mc.getContext("2d");
- if (animating) {
- if (snake) {
- gsc = 0.3;
- }
- e = view_xx;
- var c = view_yy;
- null != snake && (0 < fvtg && (fvtg--,
- fvx = fvxs[fvpos],
- fvy = fvys[fvpos],
- fvxs[fvpos] = 0,
- fvys[fvpos] = 0,
- fvpos++,
- fvpos >= vfc && (fvpos = 0)),
- view_xx = snake.xx + snake.fx + fvx,
- view_yy = snake.yy + snake.fy + fvy,
- choosing_skin && (view_xx -= 5 * snake.pts.length,
- view_yy -= bskoy,
- gsc = 1),
- view_ang = Math.atan2(view_yy - grd, view_xx - grd),
- view_dist = Math.sqrt((view_xx - grd) * (view_xx - grd) + (view_yy - grd) * (view_yy - grd)),
- bpx1 = view_xx - (mww2 / gsc + 84),
- bpy1 = view_yy - (mhh2 / gsc + 84),
- bpx2 = view_xx + (mww2 / gsc + 84),
- bpy2 = view_yy + (mhh2 / gsc + 84),
- fpx1 = view_xx - (mww2 / gsc + 24),
- fpy1 = view_yy - (mhh2 / gsc + 24),
- fpx2 = view_xx + (mww2 / gsc + 24),
- fpy2 = view_yy + (mhh2 / gsc + 24),
- apx1 = view_xx - (mww2 / gsc + 210),
- apy1 = view_yy - (mhh2 / gsc + 210),
- apx2 = view_xx + (mww2 / gsc + 210),
- apy2 = view_yy + (mhh2 / gsc + 210));
- bgx2 -= (view_xx - e) / bgw2;
- bgy2 -= (view_yy - c) / bgh2;
- bgx2 %= 1;
- 0 > bgx2 && (bgx2 += 1);
- bgy2 %= 1;
- 0 > bgy2 && (bgy2 += 1);
- ggbg && (high_quality || 0 < gla) ? (b.save(),
- b.fillStyle = "#000000",
- b.fillRect(0, 0, mww, mhh),
- b.globalAlpha = .3 * gla,
- b.drawImage(gbgmc, 0, 0),
- b.restore()) : (b.fillStyle = "#000000",
- b.fillRect(0, 0, mww, mhh));
- if (bgp2) {
- b.save();
- b.fillStyle = bgp2;
- b.translate(mww2, mhh2);
- b.scale(gsc, gsc);
- b.translate(bgx2 * bgw2, bgy2 * bgh2);
- b.globalAlpha = .4 + .6 * (1 - gla);
- b.fillRect(3 * -mww / gsc, 3 * -mhh / gsc, 5 * mww / gsc, 5 * mhh / gsc);
- if (high_quality || 0 < gla)
- b.globalCompositeOperation = "lighter",
- b.globalAlpha = .4 * gla,
- b.fillRect(3 * -mww / gsc, 3 * -mhh / gsc, 5 * mww / gsc, 5 * mhh / gsc);
- b.restore()
- }
- if (testing)
- for (e = sectors.length - 1; 0 <= e; e--)
- c = sectors[e],
- b.fillStyle = "rgba(0, 255, 0, .1)",
- b.fillRect(mww2 + (c.xx * sector_size - view_xx) * gsc, mhh2 + (c.yy * sector_size - view_yy) * gsc, sector_size * gsc - 4, sector_size * gsc - 4);
- if (high_quality || 0 < gla) {
- var h = 1.75;
- 1 != gla && (h = 1.75 * gla);
- b.save();
- for (e = foods_c - 1; 0 <= e; e--)
- c = foods[e],
- c.rx >= fpx1 && c.ry >= fpy1 && c.rx <= fpx2 && c.ry <= fpy2 && (1 == c.rad ? (y = mww2 + gsc * (c.rx - view_xx) - c.ofw2,
- A = mhh2 + gsc * (c.ry - view_yy) - c.ofh2,
- b.globalAlpha = h * c.fr,
- b.drawImage(c.ofi, y, A)) : (y = mww2 + gsc * (c.rx - view_xx) - c.ofw2 * c.rad,
- A = mhh2 + gsc * (c.ry - view_yy) - c.ofh2 * c.rad,
- b.globalAlpha = h * c.fr,
- b.drawImage(c.ofi, 0, 0, c.ofw, c.ofh, y, A, c.ofw * c.rad, c.ofh * c.rad)));
- b.restore()
- }
- b.save();
- b.globalCompositeOperation = "lighter";
- if (high_quality || 0 < gla) {
- h = .75;
- 1 != gla && (h = .75 * gla);
- var u = .75;
- 1 != gla && (u = 1 - .25 * gla);
- for (e = foods_c - 1; 0 <= e; e--)
- c = foods[e],
- c.rx >= fpx1 && c.ry >= fpy1 && c.rx <= fpx2 && c.ry <= fpy2 && (1 == c.rad ? (y = mww2 + gsc * (c.rx - view_xx) - c.fw2,
- A = mhh2 + gsc * (c.ry - view_yy) - c.fh2,
- b.globalAlpha = u * c.fr,
- b.drawImage(c.fi, y, A),
- b.globalAlpha = h * (.5 + .5 * Math.cos(c.gfr / 13)) * c.fr,
- b.drawImage(c.fi, y, A)) : (y = mww2 + gsc * (c.rx - view_xx) - c.fw2 * c.rad,
- A = mhh2 + gsc * (c.ry - view_yy) - c.fh2 * c.rad,
- b.globalAlpha = u * c.fr,
- b.drawImage(c.fi, 0, 0, c.fw, c.fh, y, A, c.fw * c.rad, c.fh * c.rad),
- b.globalAlpha = h * (.5 + .5 * Math.cos(c.gfr / 13)) * c.fr,
- b.drawImage(c.fi, 0, 0, c.fw, c.fh, y, A, c.fw * c.rad, c.fh * c.rad)))
- } else
- for (e = foods_c - 1; 0 <= e; e--)
- c = foods[e],
- c.rx >= fpx1 && c.ry >= fpy1 && c.rx <= fpx2 && c.ry <= fpy2 && (1 == c.rad ? (y = mww2 + gsc * (c.rx - view_xx) - c.fw2,
- A = mhh2 + gsc * (c.ry - view_yy) - c.fh2,
- b.globalAlpha = c.fr,
- b.drawImage(c.fi, y, A)) : (y = mww2 + gsc * (c.rx - view_xx) - c.fw2 * c.rad,
- A = mhh2 + gsc * (c.ry - view_yy) - c.fh2 * c.rad,
- b.globalAlpha = c.fr,
- b.drawImage(c.fi, 0, 0, c.fw, c.fh, y, A, c.fw * c.rad, c.fh * c.rad)));
- b.restore();
- b.save();
- b.globalCompositeOperation = "lighter";
- for (e = preys.length - 1; 0 <= e; e--) {
- h = preys[e];
- var f = h.xx + h.fx;
- var q = h.yy + h.fy;
- px = mww2 + gsc * (f - view_xx);
- py = mhh2 + gsc * (q - view_yy);
- if (-50 <= px && -50 <= py && px <= mwwp50 && py <= mhhp50) {
- if (h.eaten) {
- c = h.eaten_by;
- var t = Math.pow(h.eaten_fr, 2);
- f += (c.xx + c.fx + Math.cos(c.ang + c.fa) * (43 - 24 * t) * (1 - t) - f) * t;
- q += (c.yy + c.fy + Math.sin(c.ang + c.fa) * (43 - 24 * t) * (1 - t) - q) * t;
- px = mww2 + gsc * (f - view_xx);
- py = mhh2 + gsc * (q - view_yy)
- }
- 1 == h.rad ? (y = px - h.fw2,
- A = py - h.fh2,
- b.globalAlpha = .75 * h.fr,
- b.drawImage(h.fi, y, A),
- b.globalAlpha = .75 * (.5 + .5 * Math.cos(h.gfr / 13)) * h.fr,
- b.drawImage(h.fi, y, A)) : (y = px - h.fw2 * h.rad,
- A = py - h.fh2 * h.rad,
- b.globalAlpha = .75 * h.fr,
- b.drawImage(h.fi, 0, 0, h.fw, h.fh, y, A, h.fw * h.rad, h.fh * h.rad),
- b.globalAlpha = .75 * (.5 + .5 * Math.cos(h.gfr / 13)) * h.fr,
- b.drawImage(h.fi, 0, 0, h.fw, h.fh, y, A, h.fw * h.rad, h.fh * h.rad))
- }
- }
- b.restore();
- b.save();
- b.strokeStyle = "#90C098";
- for (e = snakes.length - 1; 0 <= e; e--)
- c = snakes[e],
- f = c.xx + c.fx,
- q = c.yy + c.fy + 40,
- 0 < c.na && f >= bpx1 - 100 && q >= bpy1 && f <= bpx2 + 100 && q <= bpy2 && (c == snake && (c.fnfr++,
- 200 < c.fnfr && (c.na -= .004,
- 0 > c.na && (c.na = 0))),
- b.save(),
- b.globalAlpha = .5 * c.na * c.alive_amt * (1 - c.dead_amt),
- b.font = "12px Arial, Helvetica Neue, Helvetica, sans-serif",
- b.fillStyle = c.csw,
- b.textBaseline = "middle",
- b.textAlign = "center",
- h = c.xx + c.fx,
- u = c.yy + c.fy,
- h = mww2 + (h - view_xx) * gsc,
- u = mhh2 + (u - view_yy) * gsc,
- b.fillText(c.nk, h, u + 32 + 11 * c.sc * gsc),
- b.restore());
- for (e = snakes.length - 1; 0 <= e; e--)
- for (c = snakes[e],
- c.iiv = !1,
- w = c.pts.length - 1; 0 <= w; w--)
- if (B = c.pts[w],
- px = B.xx + B.fx,
- py = B.yy + B.fy,
- px >= bpx1 && py >= bpy1 && px <= bpx2 && py <= bpy2) {
- c.iiv = !0;
- break
- }
- for (e = snakes.length - 1; 0 <= e; e--)
- if (c = snakes[e], c.iiv) {
- h = c.xx + c.fx;
- u = c.yy + c.fy;
- px = h;
- py = u;
- var C = c.ehang;
- var x = c.sc
- , D = 29 * x
- , H = c.cfl
- , B = c.pts[c.pts.length - 1];
- if (1 == render_mode) {
- b.save();
- b.beginPath();
- b.moveTo(mww2 + (px - view_xx) * gsc, mhh2 + (py - view_yy) * gsc);
- for (var M = !1, w = c.pts.length - 1; 0 <= w; w--) {
- B = c.pts[w];
- lpx = px;
- lpy = py;
- px = B.xx;
- py = B.yy;
- var y = B.fx
- , A = B.fy;
- 0 < H && (px += y,
- py += A,
- lax = ax,
- lay = ay,
- ax = (px + lpx) / 2,
- ay = (py + lpy) / 2,
- M || (lax = ax,
- lay = ay),
- 1 > H && (t = 1 - H,
- lpx += (lax - lpx) * t,
- lpy += (lay - lpy) * t,
- ax += (lax - ax) * t,
- ay += (lay - ay) * t),
- M ? H-- : H -= c.chl + c.fchl,
- M ? b.quadraticCurveTo(mww2 + (lpx - view_xx) * gsc, mhh2 + (lpy - view_yy) * gsc, mww2 + (ax - view_xx) * gsc, mhh2 + (ay - view_yy) * gsc) : (b.lineTo(mww2 + (ax - view_xx) * gsc, mhh2 + (ay - view_yy) * gsc),
- M = !0))
- }
- b.save();
- b.lineJoin = "round";
- b.lineCap = "round";
- doiosh ? (c.sp > c.fsp && (w = c.alive_amt * (1 - c.dead_amt) * Math.max(0, Math.min(1, (c.sp - c.ssp) / (c.msp - c.ssp))),
- b.save(),
- b.strokeStyle = c.cs,
- b.globalAlpha = .3 * w,
- b.lineWidth = (D + 6) * gsc,
- b.stroke(),
- b.lineWidth = (D + 9) * gsc,
- b.stroke(),
- b.lineWidth = (D + 12) * gsc,
- b.stroke(),
- b.restore()),
- b.globalAlpha = 1 * c.alive_amt * (1 - c.dead_amt),
- b.strokeStyle = "#000000",
- b.lineWidth = (D + 5) * gsc) : (c.sp > c.fsp && (w = c.alive_amt * (1 - c.dead_amt) * Math.max(0, Math.min(1, (c.sp - c.ssp) / (c.msp - c.ssp))),
- b.save(),
- b.lineWidth = (D - 2) * gsc,
- b.shadowBlur = 30 * gsc,
- b.shadowColor = "rgba(" + c.rr + "," + c.gg + "," + c.bb + ", " + Math.round(1E4 * w) / 1E4 + ")",
- b.stroke(),
- b.stroke(),
- b.restore()),
- b.globalAlpha = .4 * c.alive_amt * (1 - c.dead_amt),
- b.strokeStyle = "#000000",
- b.lineWidth = (D + 5) * gsc,
- b.stroke(),
- b.strokeStyle = c.cs,
- b.lineWidth = D * gsc,
- b.strokeStyle = "#000000",
- b.globalAlpha = 1 * c.alive_amt * (1 - c.dead_amt));
- b.stroke();
- b.strokeStyle = c.cs;
- b.globalAlpha = .8 * c.alive_amt * (1 - c.dead_amt);
- b.lineWidth = D * gsc;
- b.stroke();
- b.restore();
- b.strokeStyle = c.cs;
- c.dead && (A = (.5 + .5 * Math.abs(Math.sin(5 * Math.PI * c.dead_amt))) * Math.sin(Math.PI * c.dead_amt),
- b.save(),
- b.lineJoin = "round",
- b.lineCap = "round",
- b.globalCompositeOperation = "lighter",
- b.lineWidth = (D - 3) * gsc,
- b.globalAlpha = A,
- b.strokeStyle = "#FFCC99",
- b.stroke(),
- b.restore());
- b.restore()
- }
- if (2 == render_mode) {
- D *= .5;
- px = h;
- py = u;
- var G = px;
- var z = py;
- G >= bpx1 && z >= bpy1 && G <= bpx2 && z <= bpy2 ? (pbx[0] = G,
- pby[0] = z,
- pba[0] = Math.atan2(u - (B.yy + B.fy), h - (B.xx + B.fx)) + Math.PI,
- pbu[0] = 2) : pbu[0] = 0;
- y = 1;
- A = c.drez;
- var F = 0
- , L = .25;
- A && (L = .125);
- n = (c.chl + c.fchl) % L;
- 0 > n && (n += L);
- n = L - n;
- H += 1 - L * Math.ceil((c.chl + c.fchl) / L);
- ax = px;
- ay = py;
- c.sep != c.wsep && (c.sep < c.wsep ? (c.sep += .01,
- c.sep >= c.wsep && (c.sep = c.wsep)) : c.sep > c.wsep && (c.sep -= .01,
- c.sep <= c.wsep && (c.sep = c.wsep)));
- var I = c.sep * qsm;
- A && (I *= .333);
- var J = 0
- , E = per_color_imgs[c.cv]
- , N = E.kmcs;
- M = N.length;
- var O = 2 * M
- , R = E.klp;
- for (w = c.pts.length - 1; 0 <= w; w--)
- if (B = c.pts[w],
- lpx = px,
- lpy = py,
- px = B.xx + B.fx,
- py = B.yy + B.fy,
- H > -L) {
- var S = G;
- var P = z;
- G = (px + lpx) / 2;
- z = (py + lpy) / 2;
- var T = lpx;
- var U = lpy;
- for (t = 0; 1 > t; t += L) {
- B = n + t;
- f = S + (T - S) * B;
- q = P + (U - P) * B;
- var Q = T + (G - T) * B;
- var V = U + (z - U) * B;
- lax = ax;
- lay = ay;
- ax = f + (Q - f) * B;
- ay = q + (V - q) * B;
- 0 > H && (ax += -(lax - ax) * H / L,
- ay += -(lay - ay) * H / L);
- Q = Math.sqrt(Math.pow(ax - lax, 2) + Math.pow(ay - lay, 2));
- if (J + Q < I)
- J += Q;
- else {
- J = -J;
- for (B = (Q - J) / I; 1 <= B; B--)
- J += I,
- pax = lax + (ax - lax) * J / Q,
- pay = lay + (ay - lay) * J / Q,
- pax >= bpx1 && pay >= bpy1 && pax <= bpx2 && pay <= bpy2 ? (pbx[y] = pax,
- pby[y] = pay,
- pbu[y] = 2,
- A && (F--,
- 0 >= F ? F = 3 : pbu[y] = 1),
- f = ax - lax,
- q = ay - lay,
- pba[y] = -4 <= f && -4 <= q && 4 > f && 4 > q ? at2lt[32 * q + 128 << 8 | 32 * f + 128] : -8 <= f && -8 <= q && 8 > f && 8 > q ? at2lt[16 * q + 128 << 8 | 16 * f + 128] : -16 <= f && -16 <= q && 16 > f && 16 > q ? at2lt[8 * q + 128 << 8 | 8 * f + 128] : -127 <= f && -127 <= q && 127 > f && 127 > q ? at2lt[q + 128 << 8 | f + 128] : Math.atan2(q, f)) : pbu[y] = 0,
- y++;
- J = Q - J
- }
- if (1 > H && (H -= L,
- H <= -L))
- break
- }
- 1 <= H && H--
- }
- ax >= bpx1 && ay >= bpy1 && ax <= bpx2 && ay <= bpy2 ? (pbu[y] = 2,
- A && (F--,
- 0 >= F || (pbu[y] = 1)),
- pbx[y] = ax,
- pby[y] = ay,
- pba[y] = Math.atan2(ay - lay, ax - lax)) : pbu[y] = 0;
- y++;
- b.save();
- b.translate(mww2, mhh2);
- t = gsc * D * 52 / 32;
- G = gsc * D * 62 / 32;
- H = c.alive_amt * (1 - c.dead_amt);
- H *= H;
- B = 1;
- if (c.tsp > c.fsp) {
- B = c.alive_amt * (1 - c.dead_amt) * Math.max(0, Math.min(1, (c.tsp - c.ssp) / (c.msp - c.ssp)));
- var K = .37 * B;
- L = Math.pow(B, .5);
- I = 1.5 * gsc * D * (1 + .9375 * L);
- q = E.kfmc;
- b.save();
- b.globalCompositeOperation = "lighter";
- J = 4;
- A && (J = 12);
- if (c.rbcs)
- for (z = c.rbcs,
- F = z.length,
- w = y - 1; 0 <= w; w--)
- 2 == pbu[w] && (px = pbx[w],
- py = pby[w],
- q = per_color_imgs[z[w % F]],
- q = q.kfmc,
- b.save(),
- b.globalAlpha = H * L * .38 * (.6 + .4 * Math.cos(w / J - 1.15 * c.sfr)),
- b.translate((px - view_xx) * gsc, (py - view_yy) * gsc),
- 4 > w ? (f = I * (1 + (4 - w) * c.swell),
- b.drawImage(q, -f, -f, 2 * f, 2 * f)) : b.drawImage(q, -I, -I, 2 * I, 2 * I),
- b.restore());
- else
- for (w = y - 1; 0 <= w; w--)
- 2 == pbu[w] && (px = pbx[w],
- py = pby[w],
- b.save(),
- b.globalAlpha = H * L * .38 * (.6 + .4 * Math.cos(w / J - 1.15 * c.sfr)),
- b.translate((px - view_xx) * gsc, (py - view_yy) * gsc),
- 4 > w ? (f = I * (1 + (4 - w) * c.swell),
- b.drawImage(q, -f, -f, 2 * f, 2 * f)) : b.drawImage(q, -I, -I, 2 * I, 2 * I),
- b.restore());
- b.restore();
- B = 1 - B
- }
- B *= H;
- if (high_quality || 0 < gla)
- for (w = B,
- 1 != gla && (w = B * gla),
- b.globalAlpha = w,
- w = y - 1; 0 <= w; w--)
- 2 == pbu[w] && (px = pbx[w],
- py = pby[w],
- b.save(),
- b.translate((px - view_xx) * gsc, (py - view_yy) * gsc),
- b.drawImage(komc, -t, -t, 2 * t, 2 * t),
- 9 > w && (b.globalAlpha = H * (1 - w / 9),
- 4 > w ? (f = G * (1 + (4 - w) * c.swell),
- b.drawImage(ksmc, -f, -f, 2 * f, 2 * f)) : b.drawImage(ksmc, -G, -G, 2 * G, 2 * G),
- b.globalAlpha = H),
- b.restore());
- b.globalAlpha = B;
- if (c.rbcs) {
- z = c.rbcs;
- B = c.fdhc;
- E = c.fdtc;
- N = c.fdl;
- F = z.length;
- for (w = y - 1; 0 <= w; w--)
- 1 <= pbu[w] && (px = pbx[w],
- py = pby[w],
- 4 <= w && (t = w - 4,
- 2 == pbu[t] && (f = pbx[t],
- q = pby[t],
- b.save(),
- b.translate((f - view_xx) * gsc, (q - view_yy) * gsc),
- 9 > t ? (b.globalAlpha = t / 9 * H,
- 4 > t ? (f = G * (1 + (4 - t) * c.swell),
- b.drawImage(ksmc, -f, -f, 2 * f, 2 * f)) : b.drawImage(ksmc, -G, -G, 2 * G, 2 * G)) : (b.globalAlpha = H,
- b.drawImage(ksmc, -G, -G, 2 * G, 2 * G)),
- b.restore())),
- b.save(),
- b.globalAlpha = H,
- b.translate((px - view_xx) * gsc, (py - view_yy) * gsc),
- b.rotate(pba[w]),
- t = 0,
- c.cusk || (R ? (t = w % O,
- t >= M && (t = O - (t + 1))) : t = w % M),
- q = per_color_imgs[z[w % F]],
- 4 > w ? (f = D * (1 + (4 - w) * c.swell),
- b.drawImage(q.kmcs[t], -gsc * f, -gsc * f, 2 * gsc * f, 2 * gsc * f)) : b.drawImage(q.kmcs[t], -gsc * D, -gsc * D, 2 * gsc * D, 2 * gsc * D),
- B && w < N && (t = 1 - w / N,
- q = per_color_imgs[B],
- b.globalAlpha = H * t,
- f = (1 + .05 * t) * D * (1 + (4 - w) * c.swell),
- b.drawImage(q.kmcs[0], -gsc * f, -gsc * f, 2 * gsc * f, 2 * gsc * f)),
- E && w > y - N && (t = 1 - (y - w) / N,
- q = per_color_imgs[E],
- b.globalAlpha = H * t,
- f = (1 + .05 * t) * D * (1 + (4 - w) * c.swell),
- b.drawImage(q.kmcs[0], -gsc * f, -gsc * f, 2 * gsc * f, 2 * gsc * f)),
- b.restore());
- if (c.tsp > c.fsp && (high_quality || 0 < gla)) {
- b.save();
- b.globalCompositeOperation = "lighter";
- J = 4;
- A && (J = 12);
- I = 2 * D;
- for (w = y - 1; 0 <= w; w--)
- 2 == pbu[w] && (px = pbx[w],
- py = pby[w],
- b.save(),
- b.translate((px - view_xx) * gsc, (py - view_yy) * gsc),
- b.rotate(pba[w]),
- b.globalAlpha = H * K * gla * (.5 + .5 * Math.cos(w / J - c.sfr)),
- 4 > w ? (f = I * (1 + (4 - w) * c.swell),
- b.drawImage(per_color_imgs[z[w % F]].kfmc, -gsc * f, -gsc * f, 2 * gsc * f, 2 * gsc * f)) : b.drawImage(per_color_imgs[z[w % F]].kfmc, -gsc * I, -gsc * I, 2 * gsc * I, 2 * gsc * I),
- b.restore());
- b.restore()
- }
- } else {
- for (w = y - 1; 0 <= w; w--)
- 1 <= pbu[w] && (px = pbx[w],
- py = pby[w],
- 4 <= w && (t = w - 4,
- 2 == pbu[t] && (f = pbx[t],
- q = pby[t],
- b.save(),
- b.translate((f - view_xx) * gsc, (q - view_yy) * gsc),
- 9 > t ? (b.globalAlpha = t / 9 * H,
- 4 > t ? (f = G * (1 + (4 - t) * c.swell),
- b.drawImage(ksmc, -f, -f, 2 * f, 2 * f)) : b.drawImage(ksmc, -G, -G, 2 * G, 2 * G)) : (b.globalAlpha = H,
- b.drawImage(ksmc, -G, -G, 2 * G, 2 * G)),
- b.restore())),
- b.save(),
- b.globalAlpha = H,
- b.translate((px - view_xx) * gsc, (py - view_yy) * gsc),
- b.rotate(pba[w]),
- t = 0,
- c.cusk || (R ? (t = w % O,
- t >= M && (t = O - (t + 1))) : t = w % M),
- 4 > w ? (f = D * (1 + (4 - w) * c.swell),
- b.drawImage(N[t], -gsc * f, -gsc * f, 2 * gsc * f, 2 * gsc * f)) : b.drawImage(N[t], -gsc * D, -gsc * D, 2 * gsc * D, 2 * gsc * D),
- b.restore());
- if (c.tsp > c.fsp && (high_quality || 0 < gla)) {
- b.save();
- b.globalCompositeOperation = "lighter";
- J = 4;
- A && (J = 12);
- I = 2 * D;
- for (w = y - 1; 0 <= w; w--)
- 1 <= pbu[w] && (px = pbx[w],
- py = pby[w],
- b.save(),
- b.translate((px - view_xx) * gsc, (py - view_yy) * gsc),
- b.rotate(pba[w]),
- b.globalAlpha = H * K * gla * (.5 + .5 * Math.cos(w / J - c.sfr)),
- 4 > w ? (f = I * (1 + (4 - w) * c.swell),
- b.drawImage(E.kfmc, -gsc * f, -gsc * f, 2 * gsc * f, 2 * gsc * f)) : b.drawImage(E.kfmc, -gsc * I, -gsc * I, 2 * gsc * I, 2 * gsc * I),
- b.restore());
- b.restore()
- }
- }
- if (c.antenna)
- if (f = Math.cos(c.ang),
- q = Math.sin(c.ang),
- ax = h - 8 * f * c.sc,
- ay = u - 8 * q * c.sc,
- 2 <= y && ax >= apx1 && ay >= apy1 && ax <= apx2 && ay <= apy2) {
- c.atx[0] = ax;
- c.aty[0] = ay;
- B = c.sc * gsc;
- fj = c.atx.length - 1;
- if (choosing_skin)
- for (w = 1; w <= fj; w++)
- c.atvx[w] -= .3,
- c.atvy[w] += .14 * Math.cos(fr / 23 - 7 * w / fj);
- else if (!c.antenna_shown)
- for (c.antenna_shown = !0,
- w = 1; w <= fj; w++)
- c.atx[w] = ax - f * w * 4 * c.sc,
- c.aty[w] = ay - q * w * 4 * c.sc;
- for (w = 1; w <= fj; w++)
- xx = c.atx[w - 1],
- yy = c.aty[w - 1],
- xx += 2 * Math.random() - 1,
- yy += 2 * Math.random() - 1,
- f = c.atx[w] - xx,
- q = c.aty[w] - yy,
- ang = -4 <= f && -4 <= q && 4 > f && 4 > q ? at2lt[32 * q + 128 << 8 | 32 * f + 128] : -8 <= f && -8 <= q && 8 > f && 8 > q ? at2lt[16 * q + 128 << 8 | 16 * f + 128] : -16 <= f && -16 <= q && 16 > f && 16 > q ? at2lt[8 * q + 128 << 8 | 8 * f + 128] : -127 <= f && -127 <= q && 127 > f && 127 > q ? at2lt[q + 128 << 8 | f + 128] : Math.atan2(q, f),
- xx += 4 * Math.cos(ang) * c.sc,
- yy += 4 * Math.sin(ang) * c.sc,
- c.atvx[w] += .1 * (xx - c.atx[w]),
- c.atvy[w] += .1 * (yy - c.aty[w]),
- c.atx[w] += c.atvx[w],
- c.aty[w] += c.atvy[w],
- c.atvx[w] *= .88,
- c.atvy[w] *= .88,
- f = c.atx[w] - c.atx[w - 1],
- q = c.aty[w] - c.aty[w - 1],
- Q = Math.sqrt(f * f + q * q),
- Q > 4 * c.sc && (ang = -4 <= f && -4 <= q && 4 > f && 4 > q ? at2lt[32 * q + 128 << 8 | 32 * f + 128] : -8 <= f && -8 <= q && 8 > f && 8 > q ? at2lt[16 * q + 128 << 8 | 16 * f + 128] : -16 <= f && -16 <= q && 16 > f && 16 > q ? at2lt[8 * q + 128 << 8 | 8 * f + 128] : -127 <= f && -127 <= q && 127 > f && 127 > q ? at2lt[q + 128 << 8 | f + 128] : Math.atan2(q, f),
- c.atx[w] = c.atx[w - 1] + 4 * Math.cos(ang) * c.sc,
- c.aty[w] = c.aty[w - 1] + 4 * Math.sin(ang) * c.sc);
- b.globalAlpha = H;
- b.strokeStyle = c.atc1;
- b.lineWidth = 5 * B;
- b.lineCap = "round";
- b.lineJoin = "round";
- b.beginPath();
- fj = c.atx.length - 1;
- f = (c.atx[fj] - view_xx) * gsc;
- q = (c.aty[fj] - view_yy) * gsc;
- b.moveTo(f, q);
- for (w = fj - 1; 1 <= w; w--)
- xx = (c.atx[w] - view_xx) * gsc,
- yy = (c.aty[w] - view_yy) * gsc,
- 1 <= Math.abs(xx - f) + Math.abs(yy - q) && (f = xx,
- q = yy,
- b.lineTo(f, q));
- xx = (.5 * (c.atx[1] + c.atx[0]) - view_xx) * gsc;
- yy = (.5 * (c.aty[1] + c.aty[0]) - view_yy) * gsc;
- 1 <= Math.abs(xx - f) + Math.abs(yy - q) && (f = xx,
- q = yy,
- b.lineTo(f, q));
- b.stroke();
- b.globalAlpha = c.atia * H;
- b.strokeStyle = c.atc2;
- b.lineWidth = 4 * B;
- b.beginPath();
- fj = c.atx.length - 1;
- f = (c.atx[fj] - view_xx) * gsc;
- q = (c.aty[fj] - view_yy) * gsc;
- b.moveTo(f, q);
- for (w = fj - 1; 0 <= w; w--)
- xx = (c.atx[w] - view_xx) * gsc,
- yy = (c.aty[w] - view_yy) * gsc,
- 1 <= Math.abs(xx - f) + Math.abs(yy - q) && (f = xx,
- q = yy,
- b.lineTo(f, q));
- b.stroke();
- c.atwg && (b.lineWidth = 3 * B,
- b.stroke(),
- b.lineWidth = 2 * B,
- b.stroke());
- b.globalAlpha = H * c.blba;
- if (c.abrot) {
- b.save();
- b.translate((c.atx[fj] - view_xx) * gsc, (c.aty[fj] - view_yy) * gsc);
- vang = Math.atan2(c.aty[fj] - c.aty[fj - 1], c.atx[fj] - c.atx[fj - 1]) - c.atba;
- if (0 > vang || vang >= pi2)
- vang %= pi2;
- vang < -Math.PI ? vang += pi2 : vang > Math.PI && (vang -= pi2);
- c.atba = (c.atba + .15 * vang) % pi2;
- b.rotate(c.atba);
- b.drawImage(c.bulb, c.blbx * c.bsc * B, c.blby * c.bsc * B, c.blbw * c.bsc * B, c.blbh * c.bsc * B);
- b.restore()
- } else
- b.drawImage(c.bulb, (c.atx[fj] - view_xx + c.blbx * c.bsc * c.sc) * gsc, (c.aty[fj] - view_yy + c.blby * c.bsc * c.sc) * gsc, c.blbw * c.bsc * B, c.blbh * c.bsc * B);
- c.apbs && (b.globalAlpha = .5 * H,
- b.lineWidth = 3 * B,
- b.stroke(),
- b.lineWidth = 2 * B,
- b.stroke())
- } else
- c.antenna_shown && (c.antenna_shown = !1);
- if (c.dead) {
- b.save();
- b.globalCompositeOperation = "lighter";
- A = (.15 + .15 * Math.abs(Math.sin(5 * Math.PI * c.dead_amt))) * Math.sin(Math.PI * c.dead_amt);
- D *= gsc;
- for (w = y - 1; 0 <= w; w--)
- 2 == pbu[w] && (px = pbx[w],
- py = pby[w],
- b.save(),
- b.globalAlpha = A * (.6 + .4 * Math.cos(w / 4 - 15 * c.dead_amt)),
- b.translate((px - view_xx) * gsc, (py - view_yy) * gsc),
- 4 > w ? (f = D * (1 + (4 - w) * c.swell),
- b.drawImage(kdmc, -f, -f, 2 * f, 2 * f)) : b.drawImage(kdmc, -D, -D, 2 * D, 2 * D),
- b.restore());
- b.restore()
- }
- b.restore()
- }
- c.one_eye ? (D = 3 * x,
- w = Math.cos(C) * D,
- y = Math.sin(C) * D,
- A = x * c.ebisz,
- b.drawImage(c.ebi, 0, 0, c.ebiw, c.ebih, mww2 + (w + h - A / 2 - view_xx) * gsc, mhh2 + (y + u - A / 2 - view_yy) * gsc, A * gsc, A * gsc),
- w = Math.cos(C) * (D + .15) + c.rex * x,
- y = Math.sin(C) * (D + .15) + c.rey * x,
- A = x * c.episz,
- b.drawImage(c.epi, 0, 0, c.epiw, c.epih, mww2 + (w + h - A / 2 - view_xx) * gsc, mhh2 + (y + u - A / 2 - view_yy) * gsc, A * gsc, A * gsc)) : (D = c.ed * x,
- A = c.esp * x,
- c.eac || (w = Math.cos(C) * D + Math.cos(C - Math.PI / 2) * (A + .5),
- y = Math.sin(C) * D + Math.sin(C - Math.PI / 2) * (A + .5),
- b.fillStyle = c.ec,
- 0 < c.eo && (b.lineWidth = c.eo * gsc,
- b.strokeStyle = "#000000"),
- b.globalAlpha = c.eca * c.alive_amt,
- b.beginPath(),
- b.arc(mww2 + (w + h - view_xx) * gsc, mhh2 + (y + u - view_yy) * gsc, c.er * x * gsc, 0, pi2),
- b.closePath(),
- 0 < c.eo && b.stroke(),
- b.fill(),
- b.globalAlpha = c.ppa,
- w = Math.cos(C) * (D + .5) + c.rex * x + Math.cos(C - Math.PI / 2) * A,
- y = Math.sin(C) * (D + .5) + c.rey * x + Math.sin(C - Math.PI / 2) * A,
- b.fillStyle = c.ppc,
- b.beginPath(),
- b.arc(mww2 + (w + h - view_xx) * gsc, mhh2 + (y + u - view_yy) * gsc, c.pr * x * gsc, 0, pi2),
- b.closePath(),
- b.fill()),
- c.eac || (w = Math.cos(C) * D + Math.cos(C + Math.PI / 2) * (A + .5),
- y = Math.sin(C) * D + Math.sin(C + Math.PI / 2) * (A + .5),
- b.fillStyle = c.ec,
- 0 < c.eo && (b.lineWidth = c.eo * gsc,
- b.strokeStyle = "#000000"),
- b.globalAlpha = c.eca * c.alive_amt,
- b.beginPath(),
- b.arc(mww2 + (w + h - view_xx) * gsc, mhh2 + (y + u - view_yy) * gsc, c.er * x * gsc, 0, pi2),
- b.closePath(),
- 0 < c.eo && b.stroke(),
- b.fill(),
- b.globalAlpha = c.ppa,
- w = Math.cos(C) * (D + .5) + c.rex * x + Math.cos(C + Math.PI / 2) * A,
- y = Math.sin(C) * (D + .5) + c.rey * x + Math.sin(C + Math.PI / 2) * A,
- b.fillStyle = c.ppc,
- b.beginPath(),
- b.arc(mww2 + (w + h - view_xx) * gsc, mhh2 + (y + u - view_yy) * gsc, c.pr * x * gsc, 0, pi2),
- b.closePath(),
- b.fill()),
- c.jyt && (B = c.sc * gsc * .25,
- D = -3 * x,
- A = 7 * x,
- w = Math.cos(C) * (D + .5) + c.rex * x + Math.cos(C - Math.PI / 2) * A,
- y = Math.sin(C) * (D + .5) + c.rey * x + Math.sin(C - Math.PI / 2) * A,
- b.save(),
- b.translate(mww2 + (w + h - view_xx) * gsc, mhh2 + (y + u - view_yy) * gsc),
- b.rotate(C),
- b.drawImage(ecmc, -24 * B, -24 * B, 48 * B, 48 * B),
- b.restore(),
- w = Math.cos(C) * (D + .5) + c.rex * x + Math.cos(C + Math.PI / 2) * A,
- y = Math.sin(C) * (D + .5) + c.rey * x + Math.sin(C + Math.PI / 2) * A,
- b.save(),
- b.translate(mww2 + (w + h - view_xx) * gsc, mhh2 + (y + u - view_yy) * gsc),
- b.rotate(C),
- b.drawImage(ecmc, -24 * B, -24 * B, 48 * B, 48 * B),
- b.restore(),
- D = 5 * x,
- w = Math.cos(C) * (D + .5) + c.rex * x,
- y = Math.sin(C) * (D + .5) + c.rey * x,
- B = c.sc * gsc * .16,
- b.save(),
- b.translate(mww2 + (w + h - view_xx) * gsc, mhh2 + (y + u - view_yy) * gsc),
- b.rotate(C),
- b.drawImage(jmou, -40 * B, -65 * B, 79 * B, 130 * B),
- b.restore()));
- b.globalAlpha = 1;
- c.slg && (B = c.sc * gsc * .25,
- b.save(),
- f = 13 * Math.cos(C) * x + Math.cos(C - Math.PI / 2) * (6 * x + .5),
- q = 13 * Math.sin(C) * x + Math.sin(C - Math.PI / 2) * (6 * x + .5),
- b.translate(mww2 + (f + h - view_xx) * gsc, mhh2 + (q + u - view_yy) * gsc),
- b.rotate(C - .4),
- b.drawImage(sest, -28 * B, -44 * B, 105 * B, 88 * B),
- b.restore(),
- b.save(),
- f = 13 * Math.cos(C) * x + Math.cos(C + Math.PI / 2) * (6 * x + .5),
- q = 13 * Math.sin(C) * x + Math.sin(C + Math.PI / 2) * (6 * x + .5),
- b.translate(mww2 + (f + h - view_xx) * gsc, mhh2 + (q + u - view_yy) * gsc),
- b.rotate(C + .4),
- b.drawImage(sest, -28 * B, -44 * B, 105 * B, 88 * B),
- b.restore())
- } else {
- b.fillStyle = c.csw;
- b.fillRect(xx - 20, yy - 20, 40, 40);
- b.fillStyle = "#ffffff";
- b.textBaseline = "middle",
- b.textAlign = "center",
- b.fillText("Snek here (" + c.nk + ")", xx, yy);
- }
- if (high_quality || 0 < gla) {
- b.save();
- b.globalCompositeOperation = "lighter";
- for (e = foods_c - 1; 0 <= e; e--)
- c = foods[e],
- c.rx >= fpx1 && c.ry >= fpy1 && c.rx <= fpx2 && c.ry <= fpy2 && (f = c.rx - view_xx,
- q = c.ry - view_yy,
- h = f * f + q * q,
- fs = 1 + .06 * c.rad,
- y = f * fs,
- A = q * fs,
- K = .005 + .09 * (1 - h / (86E3 + h)),
- 1 != c.rad && (K *= Math.pow(c.rad, .25)),
- 1 != gla && (K *= gla),
- y = y * gsc + mww2,
- A = A * gsc + mhh2,
- 1 == c.rad ? (y -= c.gfw2,
- A -= c.gfh2,
- b.globalAlpha = K * c.fr,
- b.drawImage(c.gfi, y, A),
- b.globalAlpha = K * (.5 + .5 * Math.cos(c.gfr / 13)) * c.fr,
- b.drawImage(c.gfi, y, A)) : (y -= c.gfw2 * c.rad,
- A -= c.gfh2 * c.rad,
- b.globalAlpha = K * c.fr,
- b.drawImage(c.gfi, 0, 0, c.gfw, c.gfh, y, A, c.gfw * c.rad, c.gfh * c.rad),
- b.globalAlpha = K * (.5 + .5 * Math.cos(c.gfr / 13)) * c.fr,
- b.drawImage(c.gfi, 0, 0, c.gfw, c.gfh, y, A, c.gfw * c.rad, c.gfh * c.rad)),
- fs = 1 + .32 * c.rad,
- y = f * fs,
- A = q * fs,
- K = .085 * (1 - h / (16500 + h)),
- 1 != c.rad && (K *= Math.pow(c.rad, .25)),
- 1 != gla && (K *= gla),
- y = y * gsc + mww2,
- A = A * gsc + mhh2,
- 1 == c.rad ? (y -= c.g2fw2,
- A -= c.g2fh2,
- b.globalAlpha = K * c.fr,
- b.drawImage(c.g2fi, y, A),
- b.globalAlpha = K * (.5 + .5 * Math.cos(c.gfr / 13)) * c.fr,
- b.drawImage(c.g2fi, y, A)) : (y -= c.g2fw2 * c.rad,
- A -= c.g2fh2 * c.rad,
- b.globalAlpha = K * c.fr,
- b.drawImage(c.g2fi, 0, 0, c.g2fw, c.g2fh, y, A, c.g2fw * c.rad, c.g2fh * c.rad),
- b.globalAlpha = K * (.5 + .5 * Math.cos(c.gfr / 13)) * c.fr,
- b.drawImage(c.g2fi, 0, 0, c.g2fw, c.g2fh, y, A, c.g2fw * c.rad, c.g2fh * c.rad)));
- b.restore()
- }
- b.save();
- b.globalCompositeOperation = "lighter";
- for (e = preys.length - 1; 0 <= e; e--)
- h = preys[e],
- f = h.xx + h.fx,
- q = h.yy + h.fy,
- h.eaten && (c = h.eaten_by,
- t = Math.pow(h.eaten_fr, 2),
- f += (c.xx + c.fx + Math.cos(c.ang + c.fa) * (43 - 24 * t) * (1 - t) - f) * t,
- q += (c.yy + c.fy + Math.sin(c.ang + c.fa) * (43 - 24 * t) * (1 - t) - q) * t),
- f -= view_xx,
- q -= view_yy,
- c = f * f + q * q,
- fs = 1 + .08 * h.rad,
- px = f * fs,
- py = q * fs,
- K = .4 * (1 - c / (176E3 + c)),
- 1 != h.rad && (K *= Math.pow(h.rad, .25)),
- px = px * gsc + mww2,
- py = py * gsc + mhh2,
- 1 == h.rad ? -150 <= px && -150 <= py && px <= mwwp150 && py <= mhhp150 && (px -= h.gfw2,
- py -= h.gfh2,
- b.globalAlpha = K * h.fr,
- b.drawImage(h.gfi, px, py),
- b.globalAlpha = K * (.5 + .5 * Math.cos(h.gfr / 13)) * h.fr,
- b.drawImage(h.gfi, px, py)) : -150 <= px && -150 <= py && px <= mwwp150 && py <= mhhp150 && (px -= h.gfw2 * h.rad,
- py -= h.gfh2 * h.rad,
- b.globalAlpha = K * h.fr,
- b.drawImage(h.gfi, 0, 0, h.gfw, h.gfh, px, py, h.gfw * h.rad, h.gfh * h.rad),
- b.globalAlpha = K * (.5 + .5 * Math.cos(h.gfr / 13)) * h.fr,
- b.drawImage(h.gfi, 0, 0, h.gfw, h.gfh, px, py, h.gfw * h.rad, h.gfh * h.rad)),
- fs = 1 + .32 * h.rad,
- px = f * fs,
- py = q * fs,
- K = .35 * (1 - c / (46500 + c)),
- 1 != h.rad && (K *= Math.pow(h.rad, .25)),
- c = 2 * h.rad,
- px = px * gsc + mww2,
- py = py * gsc + mhh2,
- -150 <= px && -150 <= py && px <= mwwp150 && py <= mhhp150 && (px -= h.gfw2 * c,
- py -= h.gfh2 * c,
- b.globalAlpha = K * h.fr,
- b.drawImage(h.gfi, 0, 0, h.gfw, h.gfh, px, py, h.gfw * c, h.gfh * c),
- b.globalAlpha = K * (.5 + .5 * Math.cos(h.gfr / 13)) * h.fr,
- b.drawImage(h.gfi, 0, 0, h.gfw, h.gfh, px, py, h.gfw * c, h.gfh * c));
- b.restore();
- if (4E3 > Math.abs(grd - view_dist)) {
- b.save();
- b.lineWidth = 23 * gsc;
- b.strokeStyle = "#800000";
- b.fillStyle = "#300000";
- b.beginPath();
- xx = grd + Math.cos(view_ang - 2E3 / grd) * grd * .98;
- yy = grd + Math.sin(view_ang - 2E3 / grd) * grd * .98;
- b.moveTo(mww2 + (xx - view_xx) * gsc, mhh2 + (yy - view_yy) * gsc);
- for (w = -2E3; 2E3 >= w; w += 100)
- xx = grd + Math.cos(view_ang + w / grd) * grd * .98,
- yy = grd + Math.sin(view_ang + w / grd) * grd * .98,
- b.lineTo(mww2 + (xx - view_xx) * gsc, mhh2 + (yy - view_yy) * gsc);
- xx = grd + Math.cos(view_ang + 2E3 / grd) * (grd + 4E3);
- yy = grd + Math.sin(view_ang + 2E3 / grd) * (grd + 4E3);
- b.lineTo(mww2 + (xx - view_xx) * gsc, mhh2 + (yy - view_yy) * gsc);
- xx = grd + Math.cos(view_ang - 2E3 / grd) * (grd + 4E3);
- yy = grd + Math.sin(view_ang - 2E3 / grd) * (grd + 4E3);
- b.lineTo(mww2 + (xx - view_xx) * gsc, mhh2 + (yy - view_yy) * gsc);
- b.closePath();
- b.stroke();
- b.fill();
- b.restore()
- }
- wumsts && 0 < rank && 0 < snake_count && playing && (wumsts = !1,
- c = "Hacked by fran xD. Length",
- e = "of",
- K = "Your rank",
- "de" == lang ? (c = "Deine L\u00e4nge",
- e = "von",
- K = "Dein rang") : "fr" == lang ? (c = "Votre longueur",
- e = "de",
- K = "Ton rang") : "pt" == lang && (c = "Seu comprimento",
- e = "do",
- K = "Seu classifica\u00e7\u00e3o"),
- c = '<span style="font-size: 14px;"><span style="opacity: .4;">' + c + ': </span><span style="opacity: .8; font-weight: bold;">' + Math.floor(15 * (fpsls[snake.sct] + snake.fam / fmlts[snake.sct] - 1) - 5) / 1 + "</span></span>",
- c += '<BR><span style="opacity: .3;">' + K + ': </span><span style="opacity: .35;">' + rank + '</span><span style="opacity: .3;"> ' + e + ' </span><span style="opacity: .35;">' + snake_count + "</span>",
- lbf.innerHTML = c);
- b.restore()
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement