Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <canvas id="canvas" width="1024" height="640"> </canvas>
- <script>
- cc_event_ts = Date.now();
- cc_data = {
- start: !1,
- points: 0,
- timer: 120,
- ts: Date.now(),
- speed: 500,
- attempts: void 0,
- sent: !1
- };
- var cc_body = [2, 1, 0];
- var cc_direction = "RIGHT";
- var W = 1024, H = 640, w = 1024, h = 640;
- var canvas = document.getElementById("canvas");
- var ctx = canvas.getContext("2d");
- void 0 == cc_data.attempts && (cc_data.attempts = 3);
- var bgw = .943 * W,
- bgh = .95 * H;
- var cs = .045 * W,
- cx = .085 * W - .5 * cs,
- cy = .18 * H - .5 * cs;
- if (cc_data.timer > 0 && cc_data.attempts > 0) {
- if (Date.now() >= cc_data.ts + 1e3 && (--cc_data.timer, cc_data.ts = Date.now()), Date.now() >= cc_event_ts + cc_data.speed) {
- for (var newPosition = cc_body[0], i = cc_body.length - 1; i > 0; --i)
- cc_body[i] = cc_body[i - 1];
- "RIGHT" == cc_direction ? newPosition % 18 == 17 ? newPosition -= 17 : newPosition += 1 : "LEFT" == cc_direction ? newPosition % 18 == 0 ? newPosition += 17 : newPosition -= 1 : "UP" == cc_direction ? 0 === Math.floor(newPosition / 18) ? newPosition += 162 : newPosition -= 18 : "DOWN" == cc_direction && (9 === Math.floor(newPosition / 18) ? newPosition -= 162 : newPosition += 18);
- for (i = 1; i < cc_body.length; ++i)
- if (newPosition == cc_body[i]) {
- cc_data.attempts -= 1,
- cc_data.speed = 500,
- cc_body = [2, 1, 0],
- cc_direction = "RIGHT",
- newPosition = 2;
- break
- }
- if (newPosition == cc_coin) {
- for (var added = !1; !added; ) {
- var new_coin = Math.floor(180 * Math.random()),
- found = !1;
- for (i = 0; i < cc_body.length; ++i)
- cc_body[i] == new_coin && (found = !0);
- found || (cc_coin = new_coin, added = !0)
- }
- cc_data.points += 3,
- cc_data.speed > 100 && (cc_data.speed -= 50),
- cc_body.unshift(newPosition)
- } else
- cc_body[0] = newPosition;
- cc_changed = !1,
- cc_event_ts = Date.now()
- }
- for (i = 0; i < 10; ++i)
- for (var j = 0; j < 18; ++j)
- ctx.fillStyle = "rgba(0,0,0,0.2)", ctx.fillRect(cx + 1.1 * cs * j, cy + 1.1 * cs * i, cs, cs);
- for (i = 0; i < cc_body.length; ++i)
- ctx.fillStyle = "rgba(204,255,255)", 0 == i && (ctx.fillStyle = "rgba(224,224,255)"), ctx.fillRect(cx + 1.1 * cs * (cc_body[i] % 18) + 1, cy + 1.1 * cs * Math.floor(cc_body[i] / 18) + 1, cs - 2, cs - 2);
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement