日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

JS原生2048小游戲源碼分享(全網(wǎng)最新)

瀏覽:211日期:2024-03-29 15:11:26

最近在學(xué)習(xí)算法方面的知識,看到了一個(gè)由算法主導(dǎo)的小游戲,這里給大家分享下代碼:

效果:

JS原生2048小游戲源碼分享(全網(wǎng)最新)

代碼:

<head> <meta charset='UTF-8'> <meta name='viewport' content='width=360px,user-scalable=no' /> <title>2048小游戲</title> <style>body,h1,div,table,tr,td{ margin: 0px; padding: 0px;}body{ background-color: rgb(0,0,0);}h1{ margin: 36px auto; text-align: center; color: rgba(255,255,255,0.7); font-family: '楷體'; font-size: 48px; text-shadow: 1px 2px 3px rgb(134,134,134);}div{ margin: 12px auto; line-height: 60px;}#box{ margin-top: -24px; width: 240px; height: 60px; text-align: center; font-weight: bold; color: rgb(255,255,255);}#box input{ border: 3px solid rgb(255,255,255); border-radius: 4px; box-shadow: 1px 2px 3px rgb(234,234,234);}#box input:focus{ outline-style: none;}table{ margin: 24px auto; border: 3px solid rgb(255,255,255); border-radius: 6px;}#random,td{ width: 60px; height: 60px; border: 2px solid rgb(255,255,255); border-radius: 18px; text-align: center; font-weight: bold; color: rgb(255,255,255);}td:hover{ cursor: pointer;} </style></head><body> <h1>2 0 4 8</h1><!-- 顯示得分及新游戲按鈕 --><div id='box'> 得分: <span id='span'>0</span> <input type='button' value='新游戲' /></div><!-- 顯示隨機(jī)數(shù) --><div id='random'></div><!-- 游戲主要布局 --><table border='3px'> <tr><td></td><td></td><td></td><td></td> </tr> <tr><td></td><td></td><td></td><td></td> </tr> <tr><td></td><td></td><td></td><td></td> </tr> <tr><td></td><td></td><td></td><td></td> </tr></table></body><script type='text/javascript'> var span = document.getElementById('span'); var but = document.getElementById('but'); var td = document.getElementsByTagName('td'); //定義得分 var score = 0; //定義隨機(jī)數(shù) var random = document.getElementById('random'); var showNums = [2,4,8,16,32,64,128,256,512,1024]; var showNum = 0; //定義背景色數(shù)組 var colors = ['rgb(255, 169, 182)','rgb(108, 251, 104)','rgb(255, 150, 46)','rgb(255, 121, 46)','rgb(255, 217, 46)','rgb(46, 200, 255)','rgb(46, 113, 255)','rgb(240, 46, 255)','rgb(46, 255, 175)','rgb(153, 134, 255)']; //初始化程序,生成隨機(jī)數(shù) /* start */ function init(){var max = maxNum();var num = 0;for(var i=4;i > 0;i++){ if(max < Math.pow(2,i+1)){num = parseInt(Math.random()*i);break; }else if(max < 2048){continue; }else{num = parseInt(Math.random()*showNums.length);break; }}random.innerHTML = showNums[num];color(random);showNum = showNums[num]; } init(); /* end */ //獲取棋盤中的最大值 /* start */ function maxNum(){var max = 0;for(var i=0;i<td.length;i++){ if(td[i].innerHTML == ''){max = max; }else{if(parseInt(td[i].innerHTML) > max){ max = parseInt(td[i].innerHTML);}else{ max = max;} }}return max; } /* end */ //根據(jù)數(shù)字顯示背景顏色 /* start */ function color(obj){for(var i=0;i < colors.length;i++){ if(obj.innerHTML == Math.pow(2,i+1)){obj.style = 'background-color: '+colors[i]+';';break; }} } /* end */ //合并算法 /* start */ function offsetTop(obj,index){//合并上if(index > 3){ if(td[(index-4)].innerHTML == obj.innerHTML){td[(index-4)].innerHTML = '';td[(index-4)].style = 'background-color: rgba(0, 0, 0, 0);';return true; }}return false; } function offsetBottom(obj,index){//合并下if(index < 12){ if(td[(index+4)].innerHTML == obj.innerHTML){td[(index+4)].innerHTML = '';td[(index+4)].style = 'background-color: rgba(0, 0, 0, 0);';return true; }}return false; } function offsetLeft(obj,index){//合并左if(index!=0 && index!=4 && index!=8 && index!=12){ if(td[(index-1)].innerHTML == obj.innerHTML){td[(index-1)].innerHTML = '';td[(index-1)].style = 'background-color: rgba(0, 0, 0, 0);'; return true; }}return false; } function offsetRight(obj,index){//合并右if(index!=3 && index!=7 && index!=11 && index!=15){ if(td[(index+1)].innerHTML == obj.innerHTML){td[(index+1)].innerHTML = '';td[(index+1)].style = 'background-color: rgba(0, 0, 0, 0);';return true; }}return false; } /* end */ //判斷單元格是否合并 /* start */ function merge(obj,index){if(offsetTop(obj,index)){ if(offsetBottom(obj,index)){if(offsetLeft(obj,index)){ if(offsetRight(obj,index)){obj.innerHTML = parseInt(obj.innerHTML)*2;//合并上、下、左、右score += 16;merge(obj,index); }else{obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并上、下、左score += 8;merge(obj,index); }}else if(offsetRight(obj,index)){ obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并上、下、右 score += 8; merge(obj,index);}else{ obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并上、下 score += 4; merge(obj,index);} }else if(offsetLeft(obj,index)){if(offsetRight(obj,index)){ obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并上、左、右 score += 8; merge(obj,index);}else{ obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并上、左 score += 4; merge(obj,index);} }else if(offsetRight(obj,index)){obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并上、右score += 4;merge(obj,index); }else{obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并上score += 2;merge(obj,index); }}else if(offsetBottom(obj,index)){ if(offsetLeft(obj,index)){if(offsetRight(obj,index)){ obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并下、左、右 score += 8; merge(obj,index);}else{ obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并下、左 score += 4; merge(obj,index);} }else if(offsetRight(obj,index)){obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并下、右score += 4;merge(obj,index); }else{obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并下score += 2;merge(obj,index); }}else if(offsetLeft(obj,index)){ if(offsetRight(obj,index)){obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并左、右score += 4;merge(obj,index); }else{obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并左score += 2;merge(obj,index); }}else if(offsetRight(obj,index)){ obj.innerHTML = parseInt(obj.innerHTML)*2;//僅合并右 score += 2; merge(obj,index);} } /* end */ //main /* start */ function gameOver(){for(var i=0;i<td.length;i++){ if(td[i].innerHTML == ''){break; } if(i == 15){alert('很遺憾!本局游戲結(jié)束。。。'); }} } /* end */ //main /* start */ (function(){for(var i=0;i<td.length;i++){ var choose = td[i]; choose.index = i; choose.onclick = function(){if(this.innerHTML == ''){ this.innerHTML = showNum; merge(this,this.index); if(this.innerHTML >= 2048){this.innerHTML = '';this.style = 'background-color: rgba(0, 0, 0, 0);'; } color(this); init();}updateScore();gameOver(); }} })(); /* end */ //更新得分 /* start */ function updateScore(){if(score > 500){ span.style = 'color: rgb(255,0,0)';}else if(score > 100){ span.style = 'color: rgb(255,0,255)';}else if(score > 50){ span.style = 'color: rgb(255,255,0)';}else if(score > 20){ span.style = 'color: rgb(0,0,255)';}else if(score > 10){ span.style = 'color: rgb(0,255,0)';}span.innerHTML = score; } /* end */ //新游戲 /* start */ but.onclick = function(){location.reload(); } /* end */ </script></html>

到此這篇關(guān)于JS原生2048小游戲源碼分享的文章就介紹到這了,更多相關(guān)js 2048小游戲內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
西西人体一区二区| 婷婷精品在线| 麻豆成人91精品二区三区| 视频精品一区| 日韩av中文字幕一区二区| 日韩在线成人| 日韩国产在线不卡视频| 青青草国产成人99久久| 国产一级成人av| 国产激情综合| 六月丁香综合在线视频| 久久字幕精品一区| 成人免费一区| 精品丝袜久久| 日韩激情一区| 久久久水蜜桃av免费网站| 欧美~级网站不卡| 日韩中文字幕av电影| 蜜桃久久av一区| 日本欧美韩国一区三区| 国产欧美日韩视频在线| 美女视频网站久久| 91亚洲国产高清| 99国产精品免费视频观看| 国产在线日韩| 免费观看在线综合| 日韩一二三区在线观看| 国产精品三级| 国产aa精品| 亚洲天堂成人| 中文在线日韩| 美女精品视频在线| 激情自拍一区| 日韩国产高清在线| 久久中文字幕导航| 久久精品国产亚洲夜色av网站| 麻豆91精品| 久久不见久久见中文字幕免费 | 国产探花在线精品一区二区| 久久香蕉网站| 成人免费电影网址| 亚洲人成网77777色在线播放| 国产精品久一| 国产综合色产| 国产日本精品| 午夜av成人| 日本va欧美va精品发布| 日韩成人综合| 日本一不卡视频| 日本欧美不卡| 日韩激情一二三区| 超碰在线99| 亚洲开心激情| 免费高潮视频95在线观看网站| 爽爽淫人综合网网站| 日本视频中文字幕一区二区三区| 都市激情国产精品| 亚洲人亚洲人色久| 美女av在线免费看| 亚洲欧洲美洲国产香蕉| 中文在线а√在线8| 男人的天堂亚洲一区| 国产va免费精品观看精品视频| 久久亚洲色图| 国产999精品在线观看| 亚欧洲精品视频在线观看| 丰满少妇一区| 日韩在线黄色| 亚洲女同中文字幕| 久久gogo国模啪啪裸体| 激情久久中文字幕| 国产精品久久久网站| 国产综合欧美| 久久97视频| 亚洲欧洲美洲国产香蕉| 伊人久久大香线蕉av不卡| 国产剧情在线观看一区| 国产精品毛片| 日韩电影免费网站| 日韩av中文字幕一区二区三区| 精品一区欧美| 日本久久黄色| 国产精品成人国产| 亚洲欧洲另类| 中文字幕在线免费观看视频| 日韩成人午夜精品| 亚洲神马久久| 久久久亚洲一区| 成人污污视频| 麻豆一区二区三| 91成人福利| 免费久久99精品国产| 午夜视频精品| 日韩毛片在线| 中文字幕在线免费观看视频| 国产精品天堂蜜av在线播放| 无码日韩精品一区二区免费| 国产一区二区高清| 欧美~级网站不卡| 日韩中文在线播放| 国内精品伊人| 老司机免费视频一区二区三区| 日韩av电影一区| 天堂俺去俺来也www久久婷婷| 中国女人久久久| 尤物在线精品| 午夜精品网站| 亚洲一区观看| 亚洲一区区二区| 国产精品美女久久久浪潮软件| 99国产精品一区二区| 群体交乱之放荡娇妻一区二区| 国产资源在线观看入口av| 精品美女在线视频| 麻豆精品国产91久久久久久| 欧美欧美黄在线二区| 日韩中文字幕视频网| 一区二区三区国产盗摄| 亚洲深深色噜噜狠狠爱网站 | 99精品综合| 成人羞羞视频播放网站| 日韩一区电影| 中文字幕系列一区| 久久理论电影| 好看不卡的中文字幕| 国产视频一区在线观看一区免费| 黄色在线一区| 丝袜诱惑制服诱惑色一区在线观看 | 在线手机中文字幕| 在线天堂中文资源最新版| 在线观看精品| 999国产精品永久免费视频app| 欧美日韩黑人| 亚洲欧美日韩在线观看a三区| aa亚洲婷婷| 亚洲精品高潮| 国产免费久久| 麻豆精品视频在线观看免费| 久久男人av资源站| 欧美日韩国产在线观看网站| 日韩影院免费视频| 欧美午夜网站| 国产一区不卡| 久久黄色影院| 视频一区二区三区入口| 久久免费国产| 免费中文字幕日韩欧美| 日韩一区二区三区精品| 国产精品白丝一区二区三区| 成人国产精品一区二区网站| av一区在线| 亚洲欧美日韩一区在线观看| 亚洲精品日韩久久| 欧美激情网址| 久久免费黄色| 亚洲精品韩国| 国产一区不卡| 亚洲一区中文| 国产日韩欧美一区二区三区| 六月婷婷综合| 日韩精品一二三区| 欧美极品一区二区三区| 久久久久中文| 蜜臀久久久99精品久久久久久| 日本欧美一区二区| 91亚洲国产高清| 伊人久久成人| 欧美亚洲tv| 视频小说一区二区| 国产成人精品免费视| 国产视频欧美| 久久久久黄色| 日韩在线一二三区| 国产在线一区不卡| 天堂成人国产精品一区| 精品国产中文字幕第一页| 欧美a级片一区| 日韩精品一页| 亚洲成人不卡| 亚洲精品欧美| 韩国久久久久久| 婷婷视频一区二区三区| 日本激情一区| 亚洲资源在线| 欧美男人天堂| 亚州国产精品| 日韩在线看片| 日本免费在线视频不卡一不卡二| 高清av不卡| 五月激激激综合网色播| 蜜桃视频在线网站| 日韩精品a在线观看91| 91精品一区国产高清在线gif| 国产亚洲久久| 亚洲一区亚洲| sm久久捆绑调教精品一区| 亚洲三级视频| 久久精品亚洲人成影院| 国产精品www.| 最近国产精品视频|