File: EzMaintenance/Resources/templates/game.php

Recommend this page to a friend!
  Classes of Roni  >  EZ PHP Maintenance Mode  >  EzMaintenance/Resources/templates/game.php  >  Download  
File: EzMaintenance/Resources/templates/game.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: EZ PHP Maintenance Mode
Check if a site should be put in maintenance mode
Author: By
Last change:
Date: 1 year ago
Size: 5,229 bytes
 

Contents

Download
<!DOCTYPE html>
<html>
<head lang="en">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <meta name="robots" content="noindex,nofollow"/>
    <title><?php echo $title ?></title>
    <style type="text/css">
        body {text-align:center;}
        canvas { border:5px dotted #ccc; }
        h1 { font-size:50px; text-align: center; margin: 0; padding-bottom: 25px;}
    </style>
    <script type="text/javascript">

        //src: http://www.9lessons.info/2011/08/html5-snake-game.html

        function play_game()
        {
            var level = 160; // Game level, by decreasing will speed up
            var rect_w = 45; // Width
            var rect_h = 30; // Height
            var inc_score = 50; // Score
            var snake_color = "#006699"; // Snake Color
            var ctx; // Canvas attributes
            var tn = []; // temp directions storage
            var x_dir = [-1, 0, 1, 0]; // position adjusments
            var y_dir = [0, -1, 0, 1]; // position adjusments
            var queue = [];
            var frog = 1; // defalut food
            var map = [];
            var MR = Math.random;
            var X = 5 + (MR() * (rect_w - 10))|0; // Calculate positions
            var Y = 5 + (MR() * (rect_h - 10))|0; // Calculate positions
            var direction = MR() * 3 | 0;
            var interval = 0;
            var score = 0;
            var sum = 0, easy = 0;
            var i, dir;
// getting play area
            var c = document.getElementById('playArea');
            ctx = c.getContext('2d');
// Map positions
            for (i = 0; i < rect_w; i++)
            {
                map[i] = [];
            }
// random placement of snake food
            function rand_frog()
            {
                var x, y;
                do
                {
                    x = MR() * rect_w|0;
                    y = MR() * rect_h|0;
                }
                while (map[x][y]);
                map[x][y] = 1;
                ctx.fillStyle = snake_color;
                ctx.strokeRect(x * 10+1, y * 10+1, 8, 8);
            }
// Default somewhere placement
            rand_frog();
            function set_game_speed()
            {
                if (easy)
                {
                    X = (X+rect_w)%rect_w;
                    Y = (Y+rect_h)%rect_h;
                }
                --inc_score;
                if (tn.length)
                {
                    dir = tn.pop();
                    if ((dir % 2) !== (direction % 2))
                    {
                        direction = dir;
                    }
                }
                if ((easy || (0 <= X && 0 <= Y && X < rect_w && Y < rect_h)) && 2 !== map[X][Y])
                {
                    if (1 === map[X][Y])
                    {
                        score+= Math.max(5, inc_score);
                        inc_score = 50;
                        rand_frog();
                        frog++;
                    }
//ctx.fillStyle("#ffffff");
                    ctx.fillRect(X * 10, Y * 10, 9, 9);
                    map[X][Y] = 2;
                    queue.unshift([X, Y]);
                    X+= x_dir[direction];
                    Y+= y_dir[direction];
                    if (frog < queue.length)
                    {
                        dir = queue.pop()
                        map[dir[0]][dir[1]] = 0;
                        ctx.clearRect(dir[0] * 10, dir[1] * 10, 10, 10);
                    }
                }
                else if (!tn.length)
                {
                    var msg_score = document.getElementById("msg");
                    msg_score.innerHTML = "Thank you for playing game.<br /> Your Score : <b>"+score+"</b><br /><br /><input type='button' value='Play Again' onclick='window.location.reload();' />";
                    document.getElementById("playArea").style.display = 'none';
                    window.clearInterval(interval);
                }
            }
            interval = window.setInterval(set_game_speed, level);
            document.onkeydown = function(e) {
                var code = e.keyCode - 37;
                if (0 <= code && code < 4 && code !== tn[0])
                {
                    tn.unshift(code);
                }
                else if (-5 == code)
                {
                    if (interval)
                    {
                        window.clearInterval(interval);
                        interval = 0;
                    }
                    else
                    {
                        interval = window.setInterval(set_game_speed, 60);
                    }
                }
                else
                {
                    dir = sum + code;
                    if (dir == 44||dir==94||dir==126||dir==171) {
                        sum+= code
                    } else if (dir === 218) easy = 1;
                }
            }
        }
    </script>
</head>
<body onload="play_game()">
<h1><?php echo $msg ?> In the mean time you can Play</h1>
<div id="msg"></div>
<canvas id="playArea" width="450" height="300">Sorry your browser does not support HTML5</canvas>

<?php echo $javascript ?>
</body>
</html>


For more information send a message to info at phpclasses dot org.