jquery实现2048游戏
来源:互联网 发布:mac os 磁盘工具 恢复 编辑:程序博客网 时间:2024/05/22 13:09
先html简单布局
<span id="score">得分:</span><button id="start">游戏开始</button><div class="main"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div></div>再简单设置样式
*{ margin: 0; padding: 0; } .main{ width:500px; height: 500px; border:1px solid black; } #start{ margin-left: 450px; } .main div{ width:100px; height:100px; margin: 10px; float:left; border:1px solid black; text-align: center; } .bg2,.bg4{background:#ccc;font-size:80px;} .bg8{background: #fb6b2b;font-size:80px;} .bg16{background: #fb6368;font-size:80px;} .bg32{background: #b6fbb1;font-size:80px;} .bg64{background: #5dfbe0;font-size:80px;} .bg128{background: #65b6fb;font-size:60px;} .bg256{background: #554efb;font-size:60px;} .bg512{background: #fb1036;font-size:60px;} .bg1024{background: #fb2fad;font-size:40px;} .bg2048{background: #f4fb1b;font-size:40px;}最后看一下jquery实现过程
var initRC=[[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]]; $(function (){ function getEmptyDiv(){ var divs=[]; $(".main div").each(function (index , elem){ if(elem.innerText==""){ divs.push(elem); } }); return divs; } function addClassAll(){ $(".main div").each(function (index ,elem){ var num=elem.innerText; $(elem).removeClass().addClass("bg"+num); }); } $("#start").click(function (){ $(".main div").empty(); //divs.empty(); //随机出现数字// 2 或 4// 放在16个div中的其中两里// 先做一个随机数字放一个div中 //同一个格子,不能出现两次随机数// 随机数只能出现在空白的div中 getRandomNum(); getRandomNum(); addClassAll(); }); function getRandomNum(){ var EmptyDivs=getEmptyDiv(); if(EmptyDivs.length==0){ alert("不能再继续随机数"); } var ranNum=Math.random()>0.4?"2":"4"; var divRanNum=parseInt(Math.random()*EmptyDivs.length); EmptyDivs[divRanNum].innerHTML=ranNum; } function rowUpMove(row1,row2){ var divs=$(".main div"); for(var i=0;i<4;i++){ var div1= divs[initRC[row1][i]]; var div2= divs[initRC[row2][i]]; if(div2.innerText==""){ }else if(div1.innerText==""){ div1.innerText=div2.innerText; div2.innerText=""; }else if(div1.innerText==div2.innerText){ div1.innerText=div1.innerText*2; div2.innerText=""; } } } function colLeftMove(col1,col2){ var divs=$(".main div"); for(var i=0;i<4;i++){ if(divs[initRC[i][col2]].innerText==""){ }else if(divs[initRC[i][col1]].innerText==""){ divs[initRC[i][col1]].innerText=divs[initRC[i][col2]].innerText; divs[initRC[i][col2]].innerText=""; }else if(divs[initRC[i][col1]].innerText==divs[initRC[i][col2]].innerText){ divs[initRC[i][col1]].innerText=divs[initRC[i][col1]].innerText*2; divs[initRC[i][col2]].innerText=""; } } } $(window).keyup(function (e){ switch(e.keyCode){ case 37: //左 for(var i=0;i<3;i++){ colLeftMove(0,1); colLeftMove(1,2); colLeftMove(2,3); } getRandomNum(); addClassAll(); break; case 38: //上 for(var i=0;i<3;i++) { rowUpMove(0, 1); rowUpMove(1, 2); rowUpMove(2, 3); } getRandomNum(); addClassAll(); break; case 40: //下 for(var i=0;i<3;i++) { rowUpMove(3, 2); rowUpMove(2, 1); rowUpMove(1, 0); } getRandomNum(); addClassAll(); break; case 39: //右 for(var i=0;i<3;i++){ colLeftMove(3,2); colLeftMove(2,1); colLeftMove(1,0); } getRandomNum(); addClassAll(); break; } }); })
阅读全文
0 0
- jquery实现2048游戏
- jquery实现井字格游戏
- JQuery实现游戏2048(要求browser:ie9+/chrome/FF)
- JS+Jquery:2048游戏
- JavaScript jQuery实现Tetris(俄罗斯方块)游戏代码
- jQuery实现简单的打字游戏功能
- 用jquery简单实现打字游戏
- 用jquery实现stick-hero游戏
- 基于jQuery的2048游戏
- android 2048游戏实现
- 游戏2048的实现
- jquery实现百度应用游戏排行图文切换特效
- jQuery实现牛逼的打飞机游戏
- C语言实现2048游戏
- 2048游戏的Java实现
- WPF 2048游戏的实现
- 2048游戏实现的回顾
- Android游戏2048的实现
- hdu3652 B-number(数位dp)
- 常用OpenCV速查
- mdd的烦恼
- 未来饮料如何发展?谷物饮料潜力巨大
- 什么是java序列化,如何实现java序列化
- jquery实现2048游戏
- cqyz#递归-p3531 约瑟夫问题【6】
- fork and vfork
- ubuntu下opencv在Qt中的使用
- Django学习(六)(模板templates)
- tEST 3 for NOIP
- 《多合一麻将》(手机端+服务器+网站后台)全套完整源码下载
- HDFS集群繁忙时删除大量的文件导致NameNode服务不可用原理解析
- IDEA 连接mysql数据库