- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
js实实现现扫扫雷雷游游戏戏
javascript作为前端常⽤的开发语⾔,越来越多的⼈都在学习它,今天就教家利⽤js来实现基本的扫雷游戏。由于本篇⽂章主要⾯向于初学
者,因此在思想上我会尽最努⼒让它简单化,若有读者看完有不明⽩请多多反馈。
预备知识:Javascript语⾔的基础知识,HTML、CSS(这⾥⽤的不多,了解⼀点即可),数据结构
⾸先,我先简单的介绍⼀下扫雷游戏的基本规则(了解规则的跳过即可)
1.初始状态,玩家只能看到若⼲个⽅格,⽅格可以被点击
2.若点击的⽅格是雷,则显⽰棋盘上的所有雷,游戏结束,当前被点击的雷块的背景颜⾊发⽣变化,并且这时点击任何⽅格将不会有任何反
应。
3.若点击的部分不是雷,并且该块的四周有雷,则该块显⽰周围雷的数量。
4.若点击的部分不是雷并且该块的四周没有雷,该块显⽰空⽩,并且周围⽆雷区域会⾃动打开。
5.右键点击,点击后可以标记玩家认为是雷的⽅格。(如图红⾊的⽅格)
主要的规则就这些,接下来整理⼀下整体思路(以9*9的棋盘为例)
1.创建棋盘边界的div
h1共span/span颗雷/h1
dividfather/div
#father{
width:468px;
height:468px;
border:3pxsolidblack;
}
2.初始化棋盘,即创建若⼲个⽅格div,并且将每个div给予⼀个id值,保证每个id是相互独⽴的,之后依次添加到边界div中即可
varsquaredocument.getElementsByTagName(div);
varspandocument.getElementsByTagName(span);
functioninit(n){
for(vari1;in;i++){
varcheckdocument.createElement(div);
check.idi;
check.setAttribute(displayName,0);
check.classNamea;
check.innerHTMLi;
check.style.width50px;
check.style.height50px;
check.style.border1pxsolidred;
check.style.backgroundColor#5ad7d7;
check.style.floatleft;
square[0].appendChild(check);
}
}
以9*9棋盘为例,因此传⼊n81
当然,在真正的游戏中是不显⽰⽅格对应id的值,因此后续需要将check.innerHTMLi;注释掉
3.构建图的数据结构
主要思路:⽤js中的字典来存储,我们知道字典中有键值对,那么每⼀个id值就可以充当字典的键,⽽该键对应的值就是四周可以检测到的
范围
如图所⽰:
中间的圆圈部分都有8个周边⽅格,
如34,周边的⽅格有24,25,26,33,35,42,43,44设当前id值为num,周边⽅格可总结为num-1,num+1,num-8,num+8,num-9,num+9,num-
10,num+10
四个⾓⽐较特殊,只有三个周边⽅格,如9,周边⽅格有8,17,18,由于格数较少,这⾥特殊处理
最后就是四周的⽅格了,分上下左右四个⽅向来考虑
上(id值于等于2⼩于等于8):⽐如5,周边⽅格有4,6,13,14,15设当前id值为num,周边⽅格可总结为num-
1,num+1,num+8,num+9,num+10
下(id值于
您可能关注的文档
- 2020届河南省郑州市高三第一次质量预测数学(理)试题(解析版).pdf
- 2020年9月大学英语四级考试真题(第1套)含答案(完整版).pdf
- 2020年中考英语语篇类精选精练卷十二附答案解析.pdf
- 2022-2023学年高一第二学期英语月考测试卷含答案.pdf
- 2023-2024学年四川省成都市高中数学人教B版-必修二统计与概率专项提升-1-含解析.pdf
- 2023年企业人力资源管理师之二级人力资源管理师综合练习试卷B卷附答案.pdf
- 2023年执业药师之中药学专业一真题精选附答案.pdf
- 沉头铆钉铆合头所需长度应为圆整后铆钉直径的(--)倍.pdf
- 初级药士(相关专业知识)第九习题.pdf
- 第15章运输问题习题解答.pdf
本人拥有多年设计经验承接各类平面设计业务,各种单据合同排版,办公文档处理,PDF转word,PDF去水印修改,P图改字,简历文案修改润色等,有需要随时联系我。
文档评论(0)