從0到1學(xué)習(xí)JavaScript編寫(xiě)貪吃蛇游戲
本文實(shí)例為大家分享了JavaScript編寫(xiě)貪吃蛇游戲的具體代碼,供大家參考,具體內(nèi)容如下
游戲截圖
1.畫(huà)出游戲界面
var c=document.getElementById('myCanvas'); var cxt=c.getContext('2d');//獲取地圖
2.給小蛇設(shè)置參數(shù)
var time = 160 ; //蛇的速度 var x = y = 8; var t = 20; //蛇身長(zhǎng) var map = []; //記錄蛇運(yùn)行路徑 var size = 8; //蛇身單元大小
3.移動(dòng)小蛇以及判斷游戲失敗條件
function set_game_speed(){ // 移動(dòng)蛇 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) { //保持舍身長(zhǎng)度 var cl = map.shift(); //刪除數(shù)組第一項(xiàng),并且返回原元素 cxt.clearRect(cl[’x’], cl[’y’], size, size); }; map.push({’x’:x,’y’:y}); //將數(shù)據(jù)添加到原數(shù)組尾部 cxt.fillStyle = 'green';//內(nèi)部填充顏色 cxt.strokeStyle = 'green';//邊框顏色 cxt.fillRect(x, y, size, size);//繪制矩形 if((a*8)==x && (a*8)==y){ //吃食物 rand_frog();t++;//吃到食物蛇身加長(zhǎng) Score_change(); } }
4.改變蛇的方向
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;//左 } }
5.隨機(jī)生成食物
//隨機(jī)生成食物 function rand_frog(){ a = Math.ceil(Math.random()*50); cxt.fillStyle = 'red';//內(nèi)部填充顏色 cxt.strokeStyle = 'red';//邊框顏色 cxt.fillRect(a*8, a*8, 8, 8);//繪制矩形}// 隨機(jī)放置食物rand_frog();
6.設(shè)置得分情況
//計(jì)算得分function Score_change(){ s=s+10; score.value=s; }
完整源代碼:
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
C++經(jīng)典小游戲匯總
python經(jīng)典小游戲匯總
python俄羅斯方塊游戲集合
JavaScript經(jīng)典游戲 玩不停
java經(jīng)典小游戲匯總
javascript經(jīng)典小游戲匯總
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法2. HTTP協(xié)議常用的請(qǐng)求頭和響應(yīng)頭響應(yīng)詳解說(shuō)明(學(xué)習(xí))3. idea設(shè)置提示不區(qū)分大小寫(xiě)的方法4. CentOS郵件服務(wù)器搭建系列—— POP / IMAP 服務(wù)器的構(gòu)建( Dovecot )5. IntelliJ IDEA創(chuàng)建web項(xiàng)目的方法6. VMware中如何安裝Ubuntu7. docker容器調(diào)用yum報(bào)錯(cuò)的解決辦法8. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)9. 原生JS實(shí)現(xiàn)記憶翻牌游戲10. ASP.NET MVC通過(guò)勾選checkbox更改select的內(nèi)容
