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

用javascript实现俄罗斯方块游戏的思想与方法

用javascript实现俄罗斯方块游戏的思想与方法
看编程之美:程序很难写,但它是美妙的。为了写程序,我们需要写一些基础知识,包括编程语言,数据结构与算法,程序写的很好,需要缜密的逻辑思维和良好的梳理基础上,而熟悉与编程环境和编程工具。

你已经爱上编程好几年了,你不想自己编写一个游戏,而不是喜欢编程。

俄罗斯方块已经引起了轰动,它的经济价值可以说是游戏历史上的一件大事,它看似简单却又让人沉迷于无数的变化。我相信大部分学生都痴迷于茶而不去想它。

游戏规则

1。一个平面虚拟场地,放置一个小正方形,它的标准尺寸为10行宽度和20列高度,每个小正方形作为一个单元。

2,一组由4个小正方形组成的规则图形。英语被称为构造,中国俗称钻石。他们有7种。它们分别以s、z、l、j、i、o和t 7个字母命名。
一次最多消除四层

J(左右):消除三层或至多消除两层

l:最大消除三层,或消除两层

o:消除一到两层

s(左右):最多两层,容易造成漏洞。

z(左右):最多两层,容易造成孔洞。

T:最多两层

块将开始慢慢地从区域上落。玩家可以旋转90度的平方在一个单元和移动方格子为单位减速块。当块移动到该区域的底部或当它移动到其他块,这将是固定的,和新的块将落在该地区的顶部。当区内柱横向网格充满了所有的方块,柱将消失,成为玩家的得分。同时,更列删除的号码,得分指数增加。

分析及解决方案

当每一个街区倒塌时,我们都能做到:

1)朝正确方向旋转

2)水平移动到某一列

3)垂直下降到末端

首先,你需要使用一个二维数组,其中地区{ 18 } { 10 }代表18×10.among他们游戏区,0空数组的中位数,而1是一个正方形。

有7种方块,每个都有4个方向。定义activeblock { 4 },在编制预计将好的数组的值,直接在程序中使用。

困难
1)边境检查。
检查左边界,尝试向左移动,看看是否合法。
功能checkleftborder(){
对于(var i = 0;i < activeblock.length;i++){
如果(activeblock {我},y = = 0){
返回false;
}
如果(!IsCellValid(activeblock {我},X,activeblock {我},y-1)){
返回false;
}
}
返回true;
类似地,需要检测正确的边界和底部边界。
2)旋转,对数学逻辑的需要,一个点相对于另一个点旋转90度。

3)计时和监控键盘事件机制,使游戏自动运行。
函数开始(e){
e.disabled =真;
状态= 1;
TBL = document.getelementbyid(地区);
如果(!GenerateBlock()){
警报(游戏结束)!;
状态= 2;
返回;
}
油漆();
定时器= setInterval(向下移动,1000);
}
文档化特点;
程序过程
1)开始>构建图形用户活动,设置计时器。
当前框的活动,可以是关于下一个移动,变量。当它触及底部时,区域将被更新。
无功activeblock;
生产盒形,有7种基本形状。
功能generateblock(){
activeblock = null;
activeblock =新阵(4);
/ /随机0-6阵列,7种具有代表性的。
var t =(math.floor(Math.random()* 20)+ 1)% 7;
开关(T){
案例0:{
activeblock { 0 } = { x 0,y 4 };
activeblock { 1 } = Y:4 },{ x:1;
activeblock { 2 } = { x 0,y 5 };
activeblock { 3 } = { x 1,y 5 };

打破;
}
/ /省略的代码..............................部分
案例6:{
activeblock { 0 } = { x 0,y 5 };
activeblock { 1 } = { x 1,y 4 };
activeblock { 2 } = { x 1,y 5 };
activeblock { 3 } = { x 1,y 6 };
打破;
}
}
四小框检查是否只需将生产放在初始化位置即可。
对于(var i = 0;i < 4;i + +){
如果(!IsCellValid(activeblock {我},X,activeblock {我},y)){
返回false;
}
}
返回true;
}
2)每次你向下移动时,检查一下你是否触到了底部。如果你摸到底部,试着消除它。
行/行
功能deleteline(){
var线= 0;
对于(var i = 0;i < 18;i + +){
var j=0;
用于((;j < 10;j + +){)
如果(区域{ = } = 0){
打破;
}
}
如果(j=10){
线条+;
如果(i)!= 0){
对于(VAR K = i-1;K>=0;K){
区域{ + 1 } =区域{ };
}
}
地区{ 0 } = generateblankline();
}
}
回归线;
}
3)完成一个活动图形后,再设置定时器。

设计素描

需要优化

1)设置不同形状正方形的颜色。

思路:在创建块的功能,设置activeblockcolor颜色,和七块不同形式有不同的颜色。除了修改generateblock方法,我们需要修改paintarea方法。因为最初的考虑是不完整的。删除一行后,油漆块和统一颜色的同时。因此,我们可以考虑删除N行,然后在顶部添加n行,以确保块完整性不被消除。

2)当当前块下降时,可以预先查看下一个块。

思路:这generateblock方法分为两部分。其中一部分用于随机尝试下一块,另一部分是缓存当前描述的块。当当前块固定在底部时,下一块开始描绘,新块又随机生成。
以上就是这篇文章和大家分享的内容,希望大家能喜欢。

相关文章

PS图象处理软件黄色共享文件夹图标

PS图象处理软件黄色共享文件夹图标

图象,处理软件,黄色,文件夹图标,电脑软件,本教程学习如何用PS图象处理软件做一个黄色的文件共享图标,主要使用钢笔圆角矩形图层样式。 先看看效果吧。 新建文档1280x1024像素,背景白色,建新层,用钢笔画出下图的形状,填充黑色。 添加图层样式。…

PS图象处理软件做了一个漂亮的圆形

PS图象处理软件做了一个漂亮的圆形

图像图像,图象,处理软件,漂亮,电脑软件,本教程介绍给朋友,PS图象处理软件正在打造一个漂亮的圆脑袋。这个教程做的很好,难度也不是很大。建议像你这样的朋友一起学习这个教程。 我们有时需要一个美丽的画面,当我们用PS图象处理软件做的照片吗…

excel如何通过函数生成大量的数字e

excel如何通过函数生成大量的数字e

函数,数字,电脑软件,excel,在案例教学中,手边没有现成的数据。在excel表格中如何使用函数生成大量的随机数。操作过程简单易学,希望能对你有所帮助! 第一步是打开一个空白Excel表,这是一个空白表,需要填写大量数据。 第二步,选择需要填充的区域的…

对甜的和灵活的电子商务产品小海报

对甜的和灵活的电子商务产品小海报

教程,图象处理,产品,软件产品,灵活,本教程是一个小型的迷你海报教程设计的PS图象处理软件,一个温暖柔和的电子商务产品。这个教程很好。制作的海报也很好。我建议你喜欢你的朋友一起学习。 本教程使用PS图象处理软件设计教程包含拍摄加后期…

一个简单的人格签名经典签名

一个简单的人格签名经典签名

人格,简单,经典,电脑软件,这个简单的个性签名是一个专门为大家安排的小编辑器,希望大家喜欢! 一、不管你有多慢,都无所谓,只要你有决心,你最终会到达你想去的地方。 不要让不小心的话伤害到别人,不要让无心的话伤害了你的心。 三、不是一辈子只想…

爱与幸福的签名

爱与幸福的签名

爱与,电脑软件,只是想和你在一起要足够简单。 女人的一生就像一朵花,在她手心里死去是一种幸福。 和幸福混在一起,即使有毒的香水,为什么不呢。 有人可以完全信任他们,这很好。 你渴望阳光的温暖,我会给我温暖的阳光。 无论你失去了记忆,我都愿意…

最有风度的QQ签名经典签名2015

最有风度的QQ签名经典签名2015

最有,风度,经典,电脑软件,QQ,2015最个性化的QQ签名是由小编辑编的,希望对你有所帮助。 1。告诉你滚,你只是滚,不知道可以关闭它(这是我见过的最温暖的词)。 2。寒假作业是:你写一个月,老师写一篇读书。 三.如果我有来生,我一定是你的心,因为我不跳,你…

Word2003页码启动Word2003教程从任

Word2003页码启动Word2003教程从任

教程,网页,启动,页码,电脑软件,很多大学生在做毕业论文时会遇到各种各样的问题,比如从任何页面上的页面,页码很容易从任何页面开始,但是我们都知道,如果我们删除一个页面的页码,整个文档目录的页码就会被删除。我们是否删除或修改一个页面的页码…

PS只是制作一个很酷的伪装教程

PS只是制作一个很酷的伪装教程

教程,电脑软件,PS,本教程是向PS介绍一个朋友,制作一个简单的制作酷伪装效果的方法。教程制作的伪装效果很好,难度也不是很大。非常适合初学者学习。推荐朋友一起学习。 本教程是介绍PS的简单和凉爽的伪装效果!这个教程很好,值得学习。让我从以…

PS很快把一个美丽的女人的照片放在

PS很快把一个美丽的女人的照片放在

照片,放在,一个美丽,封面上,杂志,本教程是向朋友介绍PS,快速制作美女图片,制作杂志封面效果照片。这门课制作的照片很好,难度也不大。推荐。让我们一起学习。 本教材主要介绍如何用PS快速制作漂亮的女性图片,并制作杂志封面效果摄影方法。这门…

2015情人签名恋人签名

2015情人签名恋人签名

恋人,情人,电脑软件,不要等我哭了,就说我是多么的心痛。 不要等我走,只是想告诉你你有多么爱我。 如果心不是自由的,去哪里是笼子。 如果心不在家,那就到处流浪。 不,我的世界不允许你的消失,不管结局是否完美。 不,不管结局是否完美,俄罗斯世界允…

Corel敲除指南:边缘缺损修复抠图实

Corel敲除指南:边缘缺损修复抠图实

抠图,边缘,实例,指南,电脑软件,本教程向朋友们介绍Corel敲除实例抠图,边缘缺损的修复方法,比较基础的方法,我希望我的朋友们喜欢这个教程 今天的介绍我的朋友是Corel敲除入门教程第四课:修复边缘缺陷 本教程的边缺陷主要介绍如何修复抠图,你会理…