[代码] [JavaScript]代码
view
source
print?004 | <meta
charset= "utf-8" /> |
005 | <title>Play
Snake Game</title> |
006 | <style
type= "text/css" > |
007 | body
{text-align:center;} |
008 | canvas
{ border:5px dotted #ccc;
} |
009 | h1
{ font-size:50px;text-align: center;margin: 0;padding-bottom: 25px;} |
011 | <script
type= "text/javascript" > |
014 | var level
= 160; //
Game level, by decreasing will speed up |
015 | var rect_w
= 45; //
Width |
016 | var rect_h
= 30; //
Height |
017 | var inc_score
= 50; //
Score |
018 | var snake_color
= "#006699" ; //
Snake Color |
019 | var ctx; //
Canvas attributes |
020 | var tn = []; //
temp directions storage |
021 | var x_dir = [-1, 0, 1, 0]; //
position adjusments |
022 | var y_dir = [0, -1, 0, 1]; //
position adjusments |
024 | var frog = 1; //
defalut food |
027 | var X = 5 +(MR() * (rect_w - 10))|0; //
Calculate positions |
028 | var Y = 5 +(MR() * (rect_h - 10))|0; //
Calculate positions |
029 | var direction
= MR() * 3 | 0; |
032 | var sum
= 0, easy = 0; |
035 | var c
= document.getElementById( 'playArea' ); |
036 | ctx
= c.getContext( '2d' ); |
038 | for (i = 0;i <rect_w;i++) |
042 | //
random placement of snake food |
053 | ctx.fillStyle
= snake_color; |
054 | ctx.strokeRect(x
* 10+1, y * 10+1, 8, 8); |
056 | //
Default somewhere placement |
058 | function set_game_speed() |
062 | X
= (X+rect_w)%rect_w; |
063 | Y
= (Y+rect_h)%rect_h; |
069 | if ((dir
% 2) !== (direction % 2)) |
074 | if ((easy || (0 <= X && 0 <= Y && X <rect_w && Y <rect_h)) && 2 !== map[X][Y]) |
078 | score+=
Math.max(5, inc_score); |
083 | //ctx.fillStyle("#ffffff"); |
084 | ctx.fillRect(X
* 10, Y * 10, 9, 9); |
086 | queue.unshift([X,
Y]); |
089 | if (frog <queue.length) |
092 | map[dir[0]][dir[1]]
= 0; |
093 | ctx.clearRect(dir[0]
* 10, dir[1] * 10, 10, 10); |
098 | var msg_score
= document.getElementById( "msg" ); |
099 | 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();' />" ; |
100 | document.getElementById( "playArea" ).style.display
= 'none' ; |
101 | window.clearInterval(interval); |
104 | interval
= window.setInterval(set_game_speed, level); |
105 | document.onkeydown
= function (e)
{ |
106 | var code
= e.keyCode - 37; |
107 | if (0 <= code && code <4 && code !== tn[0]) |
115 | window.clearInterval(interval); |
120 | interval
= window.setInterval(set_game_speed, 60); |
126 | if (dir
== 44||dir==94||dir==126||dir==171) { |
128 | } else if (dir
=== 218) easy = 1; |
134 | <body
onload= "play_game()" > |
135 | <h1>Play
Snake Game</h1> |
137 | <canvas
id= "playArea" width= "450" height= "300" >Sorry
your browser does not support HTML5</canvas> |
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理