<!--

var RC=15;var LEFT=37;var UP=38;var RIGHT=39;var DOWN=40;var dirArr = new Array();var tmID = null;
var fruitPos = -1;var score=0;var level = 1;var speed=200;
var snkArr = new Array();
var imgArr = new Array(1);
var frtArr = new Array(4);
var canrun=false;var lastDir=0;
var mods = new Array(0,10,30,60,100,150,210,280,360,450,550);
var gameover=false;

function onWorm(sq)
{
    var hit = false;
    for (var i = 0; i < snkArr.length && (hit == false); i++) {if (snkArr[i] == sq) {hit = true;}}
    if (hit == false) {if (sq < 0 || sq >= RC*RC) {hit = true;}}
    return hit;
}

function doMove()
{
    if (canrun == false || gameover) {return;}
    gameover=false;
    var delta = 0;
    var sq = snkArr[snkArr.length-1];
    if (dirArr.length > 0) {dir = dirArr.shift();}
    else {dir = lastDir;}
    switch(dir)
    {
        case LEFT: delta = -1; if (sq % RC == 0) {gameover=true;}break;
        case RIGHT:delta = 1;if ((sq+1) % RC == 0) {gameover=true;}break;
        case UP:delta = 0 - RC;if (sq < RC) {gameover=true;}break;
        case DOWN:delta = RC;if (sq > (RC*RC)) {gameover=true;}break;
    }

    sq += delta;
    if (gameover == false) {gameover = onWorm(sq);}
    if (gameover)
    {
        var str = '<div style="height:36px;float:right;"><div style="float:left;padding-top:10px;;">Game Over</div><div id="lbtn"></div><div id="mbtn" onClick="submitfrm();">OK</div><div id="rbtn"></div></div>';
        var f = document.getElementById("keyboard"); if (f != null) {f.innerHTML = str;}        
        gameover=true;
    }
    else
    {
        lastDir=dir;
        var addon = (sq == fruitPos);
        showSnake(sq, addon);
        if (addon) {score += level;showScore();showFruit();}
        starttimer();
    }
}

function submitfrm()
{
    var f = document.getElementById("buglifebrd");
    if (f != null) 
    {
        f.innerHTML = "";
        var str = "Congratulations!!<br>Your score is " + score;
        var o = f.appendChild(document.createElement('div'));
        o.innerHTML='<input type="hidden" name="helppage" value="buglifehelp.html" />';
        var o = f.appendChild(document.createElement('div'));
        o.innerHTML='<input type="hidden" name="gamepage" value="buglife.html" />';
        o = f.appendChild(document.createElement('div'));
        o.innerHTML='<input type="hidden" name="msg" value="' + str + '" />';
    }
        
    document.buglife_frm.submit();
}


function changedir(sq)
{
    if (gameover) {return;}
    var sq_r = Math.floor((sq+1)/RC);var sq_c = (sq)%RC;
    var pos = snkArr[snkArr.length-1];
    var pos_r = Math.floor((pos+1)/RC); var pos_c = (pos)%RC;
    var l_or_r = (sq_c > pos_c ? RIGHT : LEFT);
    var u_or_d = (sq_r > pos_r ? DOWN : UP);
    var dir = l_or_r;
    if (lastDir == 0) {var cn = Math.abs(sq_c-pos_c); var rn = Math.abs(sq_r-pos_r); if (cn < rn) {dir=u_or_d;};starttimer();}
    else if (lastDir == LEFT || lastDir == RIGHT) {dir = u_or_d;}
    dirArr.push(dir);
}

function arrowkey(keycode)
{
    if (lastDir == 0) {starttimer();}
    dirArr.push(keycode);
}


function initScr()
{
    var tblStr = "";gameover=false;
    for (var i = 0; i < RC; i++)
    {
        for (var j = 0; j < RC; j++)
        {
            var idx = i*RC + j;
            tblStr += ('<div onClick="changedir(' + idx + ');" class="s1" id="sq_' + idx + '"></div>');
        }
    }

    var obj = document.getElementById("buglifebrd");
    if (obj != null) {obj.innerHTML = tblStr;}
    imgArr[0] = new Image(); imgArr[0].src='images/bug.png';
    frtArr[0] = new Image(); frtArr[0].src='images/apple_r.png';
    frtArr[1] = new Image(); frtArr[1].src='images/apple_g.png';
    frtArr[2] = new Image(); frtArr[2].src='images/apple_b.png';
    frtArr[3] = new Image(); frtArr[3].src='images/apple_y.png';
    x = Math.round((RC*RC-1)/2)
    snkArr.push(x);
    showSnake(x, false);
    showFruit();
    showScore();
}

function showFruit()
{
    fruitPos = getrand(0,RC*RC-1);
    while (onWorm(fruitPos) == true)
    {
        fruitPos = getrand(0,RC*RC-1);
    }
    var o = document.getElementById("sq_" + fruitPos);
    if (o != null) {o.innerHTML = "<img border=1 src='" + frtArr[getrand(0,frtArr.length-1)].src + "'>";}
}

function showScore()
{
    var o = document.getElementById("scr");
    if (o != null) {o.innerHTML = "Score : " + score;}
    o = document.getElementById("lvl");
    if ((score > 0) && (score % mods[level] == 0) && speed > 40) {level++;speed-=20;}
    if (o != null) {o.innerHTML = "Level : " + level;}
}

function stoptimer()
{
    canrun = false;
    if (tmID != null) {clearTimeout(tmID);}
}

function starttimer()
{
    canrun = true;
    tmID = setTimeout("doMove()", speed);
}


function showSnake(sq, addon)
{
    var x = 0;var str = "";
    if (addon)
    {
        x = snkArr[0];str = "<img border=0 src='" + imgArr[0].src + "'>";
    }
    else
    {
        x = snkArr.shift();
    }
    var o = document.getElementById("sq_" + x);
    if (o != null) {o.innerHTML = "";}
    o = document.getElementById("sq_" + sq);
    if (o != null) {o.innerHTML = "<img border=0 src='" + imgArr[0].src + "'>";}
    snkArr.push(sq);
}

function getrand(min, max)
{
    return min + Math.floor(Math.random()*(max-min+1))
}





-->
