JS小游戏 挖宝藏v1.0
2013-02-17 17:02
295 查看
游戏设计:
点击方格,会显示当前位置距离宝藏的步数。依照步数推测宝藏的位置,挖到宝藏为胜利。宝物不会在第一下挖的时候出现。
页面设计:
在页面的左侧显示待挖宝的地面,右侧显示信息。
程序设计:
1、生成100个地块(选择100的原因是这样比较便于计数)。2、写检测鼠标点击的函数,并进行距离判断。如果没有挖到宝,累加挖宝步数;如果挖到了宝,提示挖到了宝并用return语句中断函数执行
页面效果:
程序源码
点击方格,会显示当前位置距离宝藏的步数。依照步数推测宝藏的位置,挖到宝藏为胜利。宝物不会在第一下挖的时候出现。
页面设计:
在页面的左侧显示待挖宝的地面,右侧显示信息。
程序设计:
1、生成100个地块(选择100的原因是这样比较便于计数)。2、写检测鼠标点击的函数,并进行距离判断。如果没有挖到宝,累加挖宝步数;如果挖到了宝,提示挖到了宝并用return语句中断函数执行
页面效果:
程序源码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css"> .inner {width:30px;height:30px;margin:5px;float:left;display:inline;font-size:20px;line-height:30px;text-align:center;font-weight:bold;color:red;} #outside {width:420px;height:420px;margin:0 auto;padding:5px;float:left;} #instruction{float:left; width:300px; height:420px;padding:5px;} #whole{width:800px; margin:0 auto;background:#ccc;} #outside,#instruction,.inner{border:1px solid black;} #outside,#instruction{margin:5px;} .clearFix:after{ clear:both; display:block; visibility:hidden; height:0; content:""; } .clearFix{zoom:1;} </style> <script type="text/javascript"> var t=0; var gold = -1; var find = 0; window.onload = function(){ var cell = createCell();//创建宝地 for(var i=0;i<100;i++) { cell[i].onclick = function() { checkClick(this);//检测点击 } } } function checkClick(cell) { if(find==1) { return;} t++; var cid = parseInt(cell.id.substr(1));//获取id的数字部分 if(t==1) { do { gold = Math.floor(Math.random()*100);} while(gold==cid) } var count = Math.abs(Math.floor(gold/10)-Math.floor(cid/10))+Math.abs(gold%10-cid%10); if(count==0) { var txt = document.createTextNode("宝"); cell.appendChild(txt); find=1; var findtxt = document.createTextNode("找到宝藏,点击重挖"); var restart = document.getElementById("restart"); restart.appendChild(findtxt); return; } var txt = document.createTextNode(count);//创建文本对象 if(cell.childNodes[0]) //查找该点是否已经被点击过,如果被点击过,先删除之前显示的文字再添加新的文字 { cell.removeChild(cell.childNodes[0]); } cell.appendChild(txt);//添加文本对象 var showStep = document.getElementById("showStep"); if(showStep.childNodes[0]) { showStep.removeChild(showStep.childNodes[0]); } var step = document.createTextNode("你已经挖了"+t+"次"); showStep.appendChild(step); } function createCell()//创建宝地 { var cell = new Array(); //var cell = document.createElement("div"); var box = document.getElementById("outside");//获得外面的div for(var i=0;i<100;i++)//依次添加宝地并设置id { cell[i]=document.createElement("div"); cell[i].className = "inner"; cell[i].id = "c"+i; box.appendChild(cell[i]); } return cell; } </script> </head> <body> <div id="whole" class="clearFix"> <div id="outside"></div> <div id="instruction"> <p>点击方格,会显示当前位置距离宝藏的步数。依照步数推测宝藏的位置,挖到宝藏为胜利</p> <p>当前挖宝情况</p> <p id="showStep"></p> <p><a href=# id="restart" onclick="window.location.reload();"></a></p> </div> </div> </body> </html>
相关文章推荐
- JS小游戏 贪食蛇v1.0
- js面向对象编程小游戏(坦克大战1.0版本)
- JS写怀旧小游戏系列(二)连连看
- JS写怀旧小游戏系列(四)贪吃蛇
- 判断类型JS写怀旧小游戏系列(七)吃方块
- JS学习 变量的作用域等 实现简单的玛丽小游戏
- JS小游戏之仙剑翻牌源码详解
- JS小游戏-仙剑翻牌
- 打砖块小游戏1.0
- 转:jscalendar-1.0中文解决方法
- js版算24点小游戏
- JS_Canvas_GesturesUnlock 手势解锁 v1.0
- vue.js笔记1.0
- node.js学习1.0-安装和配置
- 初学JS——利用JS制作的别踩白块儿(街机模式) 小游戏
- Vue.js高仿饿了么外卖App 前端框架Vue.js 1.0升级2.0
- 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
- js编写“贪吃蛇”的小游戏
- [转]JS小游戏_9格的棋
- JS写怀旧小游戏系列(三)五子棋