当前位置:首页 > 日记 > 正文

javascript不踩上白色棋子的小游戏程序

javascript不踩上白色棋子的小游戏程序
最近我有朋友用js帮助拷贝了一个关于白色棋子的游戏程序,但是他给源代码比较麻烦,但是没有注释,理解得很弱,我有自己的想法做一个小游戏,主要是js的应用到DOM和数组的操作。
编程思想:图:游戏区是CSS相对定位,设置隐藏溢出;两块分别安装在游戏板24方格中的每一行,黑色的随机生成的游戏板,向下滚动并显示,每个操作板的黑块的位置为一个数组,每个数组点击会弹出比较(我想在这......亮点)。

这里是游戏的GitHub地址。你可以点击中间菜单右边的下载zip按钮下载到桌面测试,HTML和js不需要服务器。

下载地址

下面是一个具体的实现,重点是注释。

HTML的一部分:

不要踩在白色的碎片上。
/ /初始化一个boardb,使AB同时存在
CSS部分:

复制下面的代码:* { margin: 0px;padding: 0px;盒尺寸:边界盒;} / /简单的复位,并用盒子大小的设置框的尺寸将被计算为框架,易于计算盒子后面的位置

#游戏地带{宽度:302px;身高:602px边框1px solid;绿色;保证金:20px汽车;位置:相对;溢出:隐藏;} / /游戏区,一个像素是为了消除边界有足够空间300×600

.square{width: 75px; height: 100px; float: left; border: 1px solid black;}

。squareblack {宽度:75px;身高:100px边框1px solid;黑;浮动:左;背景:黑色;} / /每一块是75×100,背景颜色,设置黑盒。

js的一部分:

这里介绍了这个子函数:

全局变量的初始化
var = 600;黑块着陆失败判断

var计数= 0;初始化命中黑块数

无功locarr = {}; / /黑块位置初始化一个游戏板

var =(函数(){())

VaR ORD = ;

返回函数(){

如果(ORD = = 'boarda ')ORD = 'boardb;

其他的ORD = 'boarda;

返回奥德;

}

})
与 / /关闭功能每次生成标识板和boardb游戏板,是一个全局变量也行,但是为了逼格点…

每次点击决定结果的功能
函数判断(){

Num = this.id.substr VAR(3) / / ID元素

如果(Num!)(= locarr。流行)和流行{ / /阵列位置的比较

ClearTimeout(定时器);

警告(您的分数是:+计数!;

/ /失败返回;清除定时器,结算分数。

其他{ }

100;

这个样式。背景=银色;

计数+ + 1;成功登陆标志加上方块高度,将改变背景色框,命中次数+ 1。

}

如果(计数)!= 0count % 15 = = 0){

ClearTimeout(定时器);

新的定时计数= 50 / 15 * 5;

定时器= setInterval('fall(),新的定时);

每个命中15将加速一点,这个公式可以定义。

}

产生一个大盒子的小的黑盒位置的随机数。每次创建游戏板时,都会调用函数,并根据生产数量定义小黑块的位置。
功能generaterand(){

无功numarr = { };

对于(var j=0;j<6;j + +){

VaR Num = math.floor(Math.random()* 4)+ J×4;

NumArr.push(努姆);

}

返回numarr;

}

每次调用生成的游戏板,卷在游戏区,将数把黑色的部分为locarr。
功能的跳板(){

Var(temarr = generaterand); / /在这里使用一个临时位置的数组,为了防止游戏板的两个位置之间的冲突。

locarr = temarr.concat(locarr); / /将连接到临时数组的全球定位

VaR板= document.createelement('div);

Board.setAttribute('id',阶());

板。样式。位置=绝对;

板。风格。最高的600px;

对于(var i = 0;i < 24;i + +){

无功电= document.createelement('div);

Ele.setAttribute ('id', ele +i);

如果(temarr.indexof(我)> 1){ / / ID序列创建高电流来判断是否属于一个临时位置阵列

ele.setattribute(' ','squareblack)

其他{ }

ele.setattribute(' ','square);

}

ele.addeventlistener(听到咔哒声,法官,false); / /单击添加到每个小正方形决策功能的判断

Board.appendChild(元);

}

VaR游戏地带= document.getelementbyid('gamezone);

gamezone.appendchild(板);

}

找到脚本中存在的两个游戏板并把它们滚下来。
函数秋天(){

游戏地带= document.getelementbyid('gamezone);

VaR板= document.getelementbyid('boarda '); / / AB在全球两游戏一直存在,所以没有必要定义找不到逻辑

无功anowtop = parseInt(板。风格。顶部); / /获得榜首的位置是xxxpx型,所以parseInt()将被转换为整数的处理。

如果(anowtop = = 595){ / /这里的595而不是600因为这架拆除后的下一帧为600px,只是两块游戏板连接好。

gamezone.removechild(板);

(跳板); / /删除游戏的游戏区,在新一代的顶。

}

anowtop + = 5;

Boarda。风格。最高anowtop +PX;

无功boardb = document.getelementbyid('boardb);

无功bnowtop = parseInt(委员会B.风格。顶部);

如果(bnowtop = = 595){

gamezone.removechild(boardb);

DrawBoard();

}

bnowtop + = 5;

Boardb。风格。最高bnowtop +PX;

LOC = 5;

如果(LOC = 0){

ClearTimeout(定时器);

警告(您的分数是:+计数!;

返回;

每个帧将决定着陆5,当法官0说着陆着陆时,得分。

}

主要是用在window.onload函数使网页游戏区加载并调用函数。
窗口。指针函数(){

DrawBoard();

秋天();

VaR('fall定时器= setInterval()',50);

}

游戏推广:

添加页面UI:因为HTML的开头非常简单,因此UI被很好地修改,设置按钮,单击以触发启动功能。

改变游戏难度:修改setInterval的值,修改间隔数在判断函数,或优化下落加速度的表达。

增加分数等:将服务器与ajax连接起来,在游戏结束后将结果写入数据库,并在数据中引用图表。

改变到街道机器模式:删除计时,修改判断功能,使每次点击游戏板时下降到一个小的平方高度。设置总数,开始时间,结束时间。

相关文章

2016非主流霸主签名

2016非主流霸主签名

霸主,非主流,电脑软件,你认为你已经完全忘记的是,它已经深深地埋在你的心里。下面是小编辑的非主流人格签名,我希望你能从中获益! 非主流人格签名: 你想去的是留下来,这不是强迫的。 每个人都认为他会是个例外。 我们永远不会忘记真相,但我们越…

个性签名个性签名经典签名

个性签名个性签名经典签名

个性签名,经典,电脑软件,草的人不说谎,不如改种仙人掌。选择一个您的QQ个性签名。 1、老鼠扛着刀,在街上找猫! 2,我早上睡不着。 3,有一个人只做两件事,你成功了,他嫉妒你;你失败了,他嘲笑你。 4,挣别人的钱,让贫穷变成鬼。 5,最高的工作是看别人去工作…

单词的方法插入脚注和尾注的使用技

单词的方法插入脚注和尾注的使用技

方法,脚注,使用技巧,单词,电脑软件,正常情况下,将完全显示在页脚的页面,但我有一个明显的内容当页的最后一行,有很多注解,因此,会自动跳转到下一页,如何解决这一问题,下面小编就为大家分享文字插入脚注和尾注的技巧,欢迎: 插入脚注和尾注的方法: 脚…

有点感伤,唯美、浪漫的个性签名

有点感伤,唯美、浪漫的个性签名

感伤,唯美,个性签名,浪漫,电脑软件,这两个原因相距甚远,彼此走过,让我们给自己一个特别的签名来展示自己的个性,小编辑给大家带来了一些情感签名,供大家参考。 1。如果我把我留在那个地方的东西留下,那可能就是我的心。 我和你在一起2。多年的饥…

javascript设计简易秒表定时器

javascript设计简易秒表定时器

秒表,简易,电脑软件,javascript,本文描述了一个用javascript设计的简易秒表计时器的实现代码,供大家参考: 运行效果的截图如下: 具体代码如下: 新的文件 以窗体访问表单字段 VaR txt =文件形式{ 0 },{元素txt1}; 无功btnstart =文件形式{ 0 },{元素…

非主流签名超越主导男性非主流

非主流签名超越主导男性非主流

非主流,主导,男性,电脑软件,世界上只有一个男人是通不过的,也没办法打通。 1。最卑鄙的人不是点燃导火索,而是看到爆炸后的效果。 2。最肮脏的人是不会出卖自己的身体,而是出卖自己的灵魂。 三.最痛苦的人不是没有得到爱的人,而是一个一生没有…

ai画一个美丽而美丽的女孩插画课程

ai画一个美丽而美丽的女孩插画课程

美丽,插画,画一,课程,女孩,本教程是向朋友介绍ai,绘制美丽而美丽的女孩插画方法。教程绘制的插图非常漂亮。这不是很棒吗推荐朋友一起学习。 本教程教朋友绘制美丽和美丽的女孩插画与人工智能。本教程所画的女孩都很漂亮,画画的难度也不大。…

如何添加背景音乐和查看背景音乐的

如何添加背景音乐和查看背景音乐的

常见问题,数量,背景音乐,电脑软件,QQ,为了使您更容易设置,在V6版本中,背景音乐已从分类中分离出来,如: 1、点击顶部工具栏扮靓进入购物中心: 2、点击服装店品牌横向工具栏背景音乐分类,然后找到你的爱情,但点击歌曲的设计;背景音乐;完成操作,你可以…

Word2003不能进入数字2word常见问

Word2003不能进入数字2word常见问

常见问题,数字,电脑软件,word,问题:我有个问题请教,在Word 2003和Excel 2003不能进入2号,当你按下2的时候,显示的是注册商标符号(R)(也被称为R在符号),但在记事本中输入2,和常正昌,没有任何问题。不不知道如何解决这个问题呢 答:请检查自动校正。…

PS制作漂亮的牛仔裤来缝制文字效果

PS制作漂亮的牛仔裤来缝制文字效果

牛仔裤,文字效果,漂亮,电脑软件,PS,本教程是向朋友介绍PS制作漂亮的牛仔裤和缝制文字效果的方法。本教程制作的文本效果非常漂亮,并不是很大。推荐给你最喜欢的朋友。 今天给大家介绍的PS打造美丽缝制牛仔裤的文字效果教程的文字效果非常好,…

Word2003字体大小设置Word2003教程

Word2003字体大小设置Word2003教程

设置,技术教程,教程,字体大小,电脑软件,当Word2003进入文本,我们可以调整字体的大小来完成工作,在Word设置字体的大小是很简单的,有许多方法来做。以下是三个最常用的方法。 方法1。输入文本后,选择要调整的文本。然后点击常规工具栏中的字体和…

情人的人格签名

情人的人格签名

人格,情人,电脑软件,我爱他如你怎么知道深枯木逢春淹死。 我爱你很久了。 深情的结局永远注定,或者化为尘埃。 爱是多么害怕死亡,注定永远变成尘土。 三个人中的一个总是显得那么孤独。 三个人的故事将以眼泪告终。 拥抱这样一个寒冷的日子是…