首頁  >  文章  >  web前端  >  用html5的63行程式碼實現貪吃蛇遊戲

用html5的63行程式碼實現貪吃蛇遊戲

不言
不言原創
2018-06-11 14:21:352728瀏覽

這篇文章主要介紹了關於用html5的63行程式碼實現貪吃蛇遊戲,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

貪吃蛇,最主要的功能點:

1、蛇的移動

2、改變蛇的方向

3、放置食物

4、增加捨身

5、怎麼掛的,

具體實現如下,簡單實用就60行,有興趣的朋友可以參考下哈,希望對大家有幫助 以前也很少關注html5,感覺選擇html慢慢變成趨勢,想了解下。就找了個遊戲學習了,寫完這個遊戲感覺html5和js結合很緊密,如果js不是特別好。估計需要先補習下js,這個只是個人的建議,不一定準確。還有一個就是,思考和邏輯要特別清楚,不然寫遊戲可能很痛苦。 

第一次寫遊戲,第一次寫html5 感覺還是很吃力的。寫完了,跟大家分享下。互相交流.............不懂的或有建議的,可以留言給我。 。 。程式碼很短,就60行。
不過這個是個半成品,等寫完成了。再更新下 

程式碼如下:

<!DOCTYPE HTML> 
<html> 
<body> 
<canvas id="myCanvas" width="400" height="400" style="border:1px solid #c3c3c3;"></canvas> 
<script type="text/javascript"> 
var c=document.getElementById("myCanvas"); 
var time = 160 ; //蛇的速度 
var cxt=c.getContext("2d"); 
var x = y = 8; 
var a = 0; //食物坐标 
var t = 20; //舍身长 
var map = []; //记录蛇运行路径 
var size = 8; //蛇身单元大小 
var direction = 2; // 1 向上 2 向右 0 左 3下 
interval = window.setInterval(set_game_speed, time); // 移动蛇 
function set_game_speed(){ // 移动蛇 
switch(direction){ 
case 1:y = y-size;break; 
case 2:x = x+size;break; 
case 0:x = x-size;break; 
case 3:y = y+size;break; 
} 
if(x>400 || y>400 || x<0 || y<0){ 
alert("你挂了,继续努力吧!失败原因:碰壁了.....");window.location.reload(); 
} 
for(var i=0;i<map.length;i++){ 
if( parseInt(map[i].x)==x && parseInt(map[i].y)==y){ 
alert("你挂了,继续努力吧!失败原因:撞到自己了.....");window.location.reload(); 
} 
} 
if (map.length>t) { //保持舍身长度 
var cl = map.shift(); //删除数组第一项,并且返回原元素 
cxt.clearRect(cl[&#39;x&#39;], cl[&#39;y&#39;], size, size); 
}; 
map.push({&#39;x&#39;:x,&#39;y&#39;:y}); //将数据添加到原数组尾部 
cxt.fillStyle = "#006699";//内部填充颜色 
cxt.strokeStyle = "#006699";//边框颜色 
cxt.fillRect(x, y, size, size);//绘制矩形 
if((a*8)==x && (a*8)==y){ //吃食物 
rand_frog();t++; 
} 
} 
document.onkeydown = function(e) { //改变蛇方向 
var code = e.keyCode - 37; 
switch(code){ 
case 1 : direction = 1;break;//上 
case 2 : direction = 2;break;//右 
case 3 : direction = 3;break;//下 
case 0 : direction = 0;break;//左 
} 
} 
// 随机放置食物 
function rand_frog(){ 
a = Math.ceil(Math.random()*50); 
cxt.fillStyle = "#000000";//内部填充颜色 
cxt.strokeStyle = "#000000";//边框颜色 
cxt.fillRect(a*8, a*8, 8, 8);//绘制矩形 
} 
// 随机放置食物 
rand_frog(); 
</script> 
</body> 
</html>

#以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

HTML5與jQuery實作搜尋智慧匹配的功能

##HTML5實現使用按鈕控制背景音樂開關的方法

以上是用html5的63行程式碼實現貪吃蛇遊戲的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn