思路
在看到 ART-Badge V2.0 支持了 2048 小游戏之后,萌生了制作一个 俄罗斯方块的小游戏,毕竟是童年的经典。
整个工程是在原有的 ART_Game 工程的基础上进行开发的。
在游戏列表中添加跳转的页面选项:card1 中添加 panel4 以及 imagebox3 的子控件,用于列表中游戏的选择。

在 JS 中添加 游戏名称,以及跳转页面的代码


之后就新建页面(Game_Tetris)完全由自己开发了
界面设计
其实界面没有一点美感可言,都是方框直接堆积而成的,
不过考虑到一些重复的工作(一些方格的绘制),看到界面是 XML 格式的,就直接吧这些重复的方块使用 python 生成输出,然后直接放在了 XML 里,(不建议这样使用,这样可能有很多问题,不详细说明)

整体思路
说白了俄罗斯方块其实很简单,七种方块随机出现,随机方向,从顶部落下,可以左右下移动,可以旋转方块,一样的一行消除得分。只要把这些事情考虑清楚就可以了
一些函数的功能,
reduceMatrix 去除全为零的行和列:简化之后的一些碰撞的判断,方便旋转之后的显示,
rotateMatrix 旋转方块:分别以90、180、270旋转用于手动旋转还有显示下一个方块时随机显示方块
nextTetrominoDisplay 随机显示下一个出现的方块
fillColor 填充颜色 :用于填充并显示有两个功能,1、将消失的方块恢复底色。2、将方块新走到的地方填充为方块的颜色(这里有优化的空间,例如:将两次不改变的方块颜色不做处理)
fillBlock 对一整个“棋盘”做一个占位处理,这里仅一个方块结束时才进行占位填充,为了之后进行一个方块的结束判断,以及消除一行时的判断
isDeleteRow 判断哪一行要删除,通过 fillBlock 函数的填充去判断
deleteRow 删除行通过 isDeleteRow 判断出要删除之后,去删除该行,并把上面行的方块向下填充
blockEnd 判断一个方块下一个位置是否结束(针对的是方向向下、向左、向右)还有旋转的下一个位置是否碰撞
定时器:方块的自动向下移动,
最后下载这里就不细说了,相信大多说有 ART-Badge V2.0 的都是去过现场体现过下载的(其实我没去,哈哈哈)

1、上键:方块旋转
2、下键:方块下移
3、左键:方块左移
4、右键:方块右移
最后这里有一些小问题还未完善
虽然我已经尽力在优化,但还是有一些可以优化,未优化完全的部分
1、在方块移动和变形时,目前使用的是先将该方块对应控件改为默认颜色,然后再填充移动或变形后的方块,其实同种前后都一样的颜色没有必要先改为默认色,然后再填充
2、在删除行时,使用的是一行一行的删除,同时消除多行的时候,也是一行一行的删除,可以优化
3、在旋转后如果超出边界或重叠到现有方块,将会无效果,不旋转,可以优化,可以放下旋转后的方块的话,就贴着边界或现有方格。
4、目前多行消除,不会有额外的得分,待优化
5、界面待优化,太丑了
望大家有兴趣的一起开发完善呀!
原文标题:ART-Badge V2.0 之俄罗斯方块开发
文章出处:【微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红
相关推荐
电子发烧友网站提供《自制Arduino Nano俄罗斯方块游戏.zip》资料免费下载
发表于 12-07 15:18
•3次下载
《俄罗斯方块》(Tetris, 俄文:Тетрис)是一款由俄罗斯人阿列克谢·帕基特诺夫于1984年6月发明的休闲游戏。
发表于 05-30 09:13
•1654次阅读
TOPWAY智能TFT LCD +lua脚本 实现俄罗斯方块有戏。
发表于 03-28 19:34
单片机 STM32 MSP430 51 俄罗斯方块 游戏 战舰
发表于 02-15 06:44
实现驱动整个LCD显示的东西(包括文字,每一个俄罗斯方块,还有图片)下面是驱动程序GUI.c#include "stm32f10x.h"#include "Lcd_Driver
发表于 01-25 06:18
俄罗斯方块是一款风靡全球的益智游戏。它规则简单,容易上手,且游戏过程变化无穷,使用户在游戏中得到乐趣。本设计是采用51单片机来实现的智能俄罗斯方块游戏。重点从软件工程角度论述了俄罗斯方块模型构造
发表于 01-19 06:44
51单片机控制matlab写的俄罗斯方块将单片机的程序下载好之后,取消串口的占用(可直接插拔一下),然后运行matlab的俄罗斯方块程序即可开始控制。亲测有效。单片机主程序#include
发表于 01-06 06:07
本案例展示在OpenHarmony开发板上运行俄罗斯方块游戏, 通过12864液晶屏进行显示. 项目底层通过OpenHarmony的HDF框架来驱动, 并基于linkboy图形引擎编程框架完成游戏显示.
发表于 12-03 17:27
MSP430 F5529 单片机 OLED 俄罗斯方块
发表于 11-19 19:21
•33次下载
俄罗斯方块游戏算法请参考俄罗斯方块游戏的算法1.概述俄罗斯方块是一款风靡全球的益智游戏。它规则简单,容易上手,且游戏过程变化无穷,使用户在游戏中得到乐趣。 本设计是采用单片机来实现的智能俄罗斯方块
发表于 11-19 08:26
51单片机游戏(俄罗斯方块)一、电路设计此电路由AT89C51最小系统、12864显示模块和独立按键组成。可实现类似俄罗斯方块的游戏。二、运行效果三、部分代码#include <
发表于 11-16 16:36
•8次下载
俄罗斯方块游戏算法 请参考俄罗斯方块游戏的算法1.概述俄罗斯方块是一款风靡全球的益智游戏。它规则简单,容易上手,且游戏过程变化无穷,使用户在游戏中得到乐趣。 本设计是采用单片机来实现的智能
发表于 11-13 10:21
•41次下载
本设计是通过AT89S52单片机来实现俄罗斯方块游戏的设计,使用C语言进行编程,并通过Proteus来进行仿真。本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计分;消除多行额外
发表于 11-09 07:17
本设计是通过AT89S52单片机来实现俄罗斯方块游戏的设计,使用C语言进行编程,并通过Proteus来进行仿真。本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计分;消除多行额外
发表于 11-04 17:06
•22次下载
1.倒水游戏2.过河游戏3.计算器4.俄罗斯方块5.贪吃蛇6.五子棋7.象棋8.拼图游戏9.204810.推箱子
发表于 09-15 08:52
《单片机实践项目》《电子DIY》基于51单片机的俄罗斯方块游戏的设计与制作(LCD12864带中文字库的显示屏)...
发表于 07-01 06:48
`下载了一个labview编程的俄罗斯方块,用2018版本打开的,出现一项错误运行不了,不知道怎么改,错误显示我都照下来了,不知道怎么找作者问,希望大神帮忙看看?`
发表于 03-27 13:19
基于STM32的俄罗斯方块设计,包含源程序、原理图、PCB文件使用STM32单片机实现俄罗斯方块设计的资料合集。
发表于 01-18 08:00
•13次下载
本功能实现参考与引用Hallym6公开的代码,实现了俄罗斯方块在OLED 屏幕上的操作,可以通过s1和s2这两个自定义按键来控制俄罗斯方块的移动。
发表于 12-16 18:28
本帖最后由 LL54286 于 2020-8-18 15:30 编辑
labview俄罗斯方块小游戏源代码~【代码现在有问题,请勿下载】
发表于 08-17 11:47
本文档的主要内容详细介绍的是使用C语言和C++编写俄罗斯方块的资料和源代码免费下载。
发表于 06-10 08:00
•3次下载
本文档的主要内容详细介绍的是使用STM32单片机实现俄罗斯方块游戏的工程和hex文件免费下载。
发表于 12-16 08:00
•8次下载
本文档的主要主要内容详细介绍的是使用STM32单片机开发板实现俄罗斯方块游戏的工程文件和源代码免费下载
发表于 12-02 08:00
•19次下载
本文档的主要内容详细介绍的是使用单片机设计的一个点阵版俄罗斯方块游戏的程序免费下载。
发表于 09-06 17:26
•14次下载
本文档的主要内容详细介绍的是使用单片机制作万用板俄罗斯方块的资料合集免费下载b包括了:程序,器件引脚等资料,PCB板版本俄罗斯方块,PCB版本电路图,俄罗斯方块布线截图,万用板板版本俄罗斯方块,万用板电路图,万用板俄罗斯方块器件清单等。
发表于 07-04 16:58
•31次下载
文档的主要内容详细介绍的是使用单片机设计俄罗斯方块的电路图免费下载。
发表于 07-02 16:06
•3次下载
本文档的主要内容详细介绍的是如何在2KB内存的单片机上实现俄罗斯方块。
发表于 06-04 17:52
•1次下载
本文档的主要内容详细介绍的是使用labview进行俄罗斯方块的游戏程序。
发表于 05-21 08:00
•82次下载
本文档的主要内容详细介绍的是使用STM32系列单片机设计的俄罗斯方块游戏的程序免费下载。可以使用STM32F系列通过该例程程序通过TFT屏幕显示俄罗斯方块游戏
发表于 05-13 08:00
•24次下载
使用Matlab实现的俄罗斯方块n为重新开始新游戏p为暂停s为游戏开始输入matlabetetris(x)来选择关卡
发表于 03-22 10:10
本文档的主要内容详细介绍的是Proteus俄罗斯方块程序和资料说明。
发表于 03-12 16:04
•21次下载
这里对 AI 俄罗斯方块的形态做一下特别说明,各个方块都是根据中心点的坐标来生成的,以(0,0)为中心点,在 x、y 轴加减 1 则是其他方格的坐标,这样的好处就是只要确定中心点坐标,其他的方格位置就能随即生成。
发表于 02-19 09:17
•3442次阅读
在CCS软件里编写程序,用MSP430F5529和LCD12864构成一个俄罗斯方块游戏
发表于 01-14 09:36
本文档的主要内容详细介绍的是51单片机设计的俄罗斯方块游戏显示程序的详细资料免费下载。
发表于 10-22 08:00
•7次下载
《俄罗斯方块》是由Enhance Games开发的,《breakout Infinite & Lumines》背后的团队。官方发布的声明中写道:《俄罗斯方块:效应》有30多个阶段,从海底深处
发表于 06-11 11:43
•3877次阅读
本设计是通过AT89S52单片机来实现俄罗斯方块游戏的设计,使用C语言进行编程,并通过Proteus来进行仿真。
发表于 06-07 08:00
•8次下载
使用STM32F103ZET6开发板实现俄罗斯方块小游戏。
发表于 12-19 15:27
•34次下载
两个单片机控制8*8点阵的俄罗斯方块程序
发表于 11-15 17:18
•2次下载
51单片机做的俄罗斯方块,还附带仿真原理图,程序也包含在里面。
发表于 05-22 09:28
•120次下载
俄罗斯方块主程序讲解
发表于 04-21 09:16
•27次下载
本帖最后由 shi_dongyu 于 2017-2-11 08:05 编辑
这周花了几天时间研究了下俄罗斯方块,并写了一个带AI的俄罗斯方块游戏。我想这个游戏对每个人都很熟悉,很多编程爱好者也
发表于 02-10 20:08
用TM4C123GH6PM的ARM编写俄罗斯方块游戏,方块的类型和下落消除部分都解决了,但是现在不知道如何让方块随机产生,不知道这个开发板的程序编写里有没有随机产生的功能?或者说大家会怎样解决随机
发表于 12-23 23:21
51单片机_俄罗斯方块程序
发表于 12-17 21:59
•7次下载
俄罗斯方块的小游戏能运行的源码?
发表于 12-04 12:03
LV 2011版编写的俄罗斯方块程序,可以鼠标操作也可以键盘操作。
发表于 11-09 15:29
毕业论文- 基于单片机实现的俄罗斯方块游戏
发表于 11-02 18:31
•42次下载
转一个工程给大家共享一个好东东,使用51单片机实现的俄罗斯方块游戏, 能虚拟串口控制,实用性还是比较高的,下面是仿真原理图,大家可以下载附件后直接用proteus打开
发表于 11-02 11:27
新手自己编写的俄罗斯方块,BUG有点多,有大神能够指导一下吗?
发表于 10-25 08:52
如题,谁有俄罗斯方块游戏机的源码
发表于 10-24 18:02
俄罗斯方块游戏是VHDL 应用于复杂数字系统的一个经典设计,本章将详细介绍该游戏的设计原理和设计方法。其中包括系统构成、系统设计原理和系统各个模块的实现方法。
发表于 09-01 17:24
•48次下载
单片机项目之俄罗斯方块设计完整方案,感兴趣的小伙伴们可以看看。
发表于 07-26 10:26
•34次下载
`一套FPGA俄罗斯方块的代码`
发表于 06-21 14:59
《俄罗斯方块》(Tetris, 俄文:Тетрис)是一款由俄罗斯人阿列克谢·帕基特诺夫于1984年6月发明的休闲游戏。用单片机实现。
发表于 06-17 16:16
•1次下载
自己做的俄罗斯方块游戏,附系统实物图,proteus仿真,源代码
发表于 04-29 11:28
•85次下载
俄罗斯方块........................................................................................
发表于 03-13 23:08
简单的俄罗斯方块C程序开发仅供学习使用,可以再嵌入式开发事娱乐
发表于 12-14 15:58
•6次下载
基于c#的游戏设计——俄罗斯方块,内容包括源代码的详细介绍,源代码,功能以及怎么实现等。
发表于 11-25 14:34
•2次下载
本帖最后由 自诩 于 2015-11-10 15:45 编辑
小弟新手,发个自己编写的俄罗斯方块小程序抛砖引玉,大家多指点指点。
发表于 11-10 15:34
自己弄的分享给大家,关于单片机的俄罗斯方块游戏
发表于 11-10 10:47
•13次下载
本帖最后由 依然Dirk 于 2015-1-21 15:52 编辑
游戏手柄俄罗斯方块
发表于 01-21 15:27
/jishu_215246_1_1.html11、基于labview的俄罗斯方块小游戏 https://bbs.elecfans.com/jishu_218962_1_1.html
发表于 12-10 15:16
俄罗斯方块游戏有关介绍请戳链接https://bbs.elecfans.com/jishu_459327_1_1.html今天要实现的功能是:1.前两天的完成;2.方块落下后可以停在底部3.新块可以
发表于 11-25 21:38
俄罗斯方块游戏有关介绍请戳链接https://bbs.elecfans.com/jishu_459327_1_1.html题目要求:随机产生俄罗斯方块所需方块(自己百度一下是哪几种),在一个15
发表于 11-23 21:31
这周我们来看看VI范例中的游戏:俄罗斯方块,看看VI工程师们的编程风格,今后每天9.30准时为大家献上每日一练的题目,希望大家可以按时关注,另外,有坛友提议建QQ群,我跟管理员反映了一下,看看如果她
发表于 11-23 21:25
我想要一个用单片机的俄罗斯方块的游戏
发表于 10-25 12:37
这是一个很全的程序,根据网上一份文章(讲解俄罗斯方块游戏制作非常详细)做的。
发表于 09-08 15:45
为了简化汇编语言的编写过程,本文提出了一种结构化的汇编编程思路,并以基于AT89C51芯片(以下对汇编语言的讨论针对51单片机系统)的俄罗斯方块游戏为例,来展现在51单片机中汇编语言结构化编写的优势。##俄罗斯方块的软件实现方法##实验测试与结果
发表于 06-23 10:27
•2389次阅读
俄罗斯方块加蓝牙功放
发表于 04-07 13:46
汇编版的俄罗斯方块也是自己写的 同样和大家分享
发表于 12-03 18:13
c语言版的俄罗斯方块自己写的,一时高兴和大家分享
发表于 12-03 18:09
网上找的俄罗斯方块游戏,自己连接的图,程序,希望大家喜欢
发表于 12-02 12:16
俄罗斯方块游戏程序 大家没事可以看看哈
发表于 11-29 17:47
好玩的俄罗斯方块游戏仿真,学protues看到的,很好玩,分享下
发表于 10-21 20:31
用STM32实现俄罗斯方块;有喜欢的顶下
发表于 08-14 17:05
单片机做的俄罗斯方块游戏
发表于 07-31 19:56
51单片机 点阵屏的俄罗斯方块的程序怎么写?、
发表于 04-21 13:46
一个很完善的俄罗斯方块游戏
发表于 01-10 17:45
发一个protues仿真实例,大屏幕液晶仿真俄罗斯方块,可以设置速度,难度,好东西不敢独享,现上传给大家共同学习!忘了声明下,非本人原创作品,网上看到的
发表于 12-18 09:54
用51单片机在protues上用液晶仿真俄罗斯方块,首先声明下,非本人原创
发表于 12-17 22:10
谁能发给我俄罗斯方块与贪吃蛇的程序、所需器件与原理图额,能多发给我点就多点,E币不够下载不了,谢谢!邮箱地址:981497237@qq.com
发表于 11-29 22:00
/*基于MSP430F5529俄罗斯方块游戏程序*///作者:詹磊//功能:基于MSP430F5529俄罗斯方块游戏程序//说明:运行环境:TI官方MSP-EXP5529开发板(外接4个带上拉电阻
发表于 11-19 08:35
通过虚拟串口控制的俄罗斯广场游戏
发表于 09-12 13:24
本帖最后由 eehome 于 2013-1-5 10:10 编辑
找到两个经典小游戏,超级玛丽与俄罗斯方块。。。与各位分享
发表于 09-11 22:08
基于单片机实现的俄罗斯方块游戏
发表于 08-20 12:06
本帖最后由 eehome 于 2013-1-5 09:58 编辑
这个俄罗斯方块游戏来自范例.对于键盘的操作有指导性的意义.希望大家可以学习参考
发表于 05-21 11:25
/jishu_206863_1_1.html 基于labview的国际象棋小程序https://bbs.elecfans.com/jishu_215246_1_1.html 基于labview的俄罗斯方块
发表于 03-01 15:29
拜求 labview设计的俄罗斯方块拜求 labview设计的俄罗斯方块
发表于 11-02 09:31
`大家都玩过经典游戏俄罗斯方块,现在我通过51单片机基于迪文科技的串口液晶终端把游戏的制作过程和源代码分享给大家,希望能给大家提供帮助。1、先制作5张 需要的界面,这个通过Photoshop来处
发表于 01-27 13:35
俄罗斯方块——java源代码提供
import java.awt.*; import java.awt.event.*; //俄罗斯方块类 public class
发表于 02-10 14:00
•69次下载
俄罗斯方块源码(带烟花版)游戏简介经典游戏,俄罗斯方块,源码公布。我争取简化功能,使结构清晰、框架简单,代码更容易看懂。每打到300分,速度增加一级。同时消去两
发表于 08-02 09:55
•98次下载
俄罗斯方块程序(Proteus)[hide][/hide]
发表于 04-17 23:49
俄罗斯方块单片机游戏源程序原理图和源程序代码[hide][/hide][此贴子已经被作者于2009-4-17 23:43:05编辑过]
发表于 04-17 23:42
评论