标签:tetris

俄罗斯方块游戏开发(四)–方块消除

发表于3年前(Dec 23, 2014 7:29:59 PM)  阅读 743  评论 0

分类: Flex 俄罗斯方块

标签: tetris 俄罗斯方块 消行

这节讲方块消除。首先我们建立一个Ground类,用着障碍物类,Ground类里面有个12*20的数组_cells,代表游戏面板可填充的所有方块,用_topCell变量来代表当前最顶上的一个障碍物,如果_topCell为0,则表示已经到顶,则游戏结束。

方块在移动前,将判断下方是否有障碍,或者是否左右出界。如果下方有障碍物,则触发Ground类的accept方法,开始进行消行判断,至此整个游戏就可以运行了。

最终游戏源码: /upload/2014/11/23/TETRIS1.04.zip

游戏安装程序:

......

俄罗斯方块游戏开发(三)–方块变形与移动

发表于3年前(Dec 23, 2014 7:27:14 PM)  阅读 661  评论 0

分类: Flex 俄罗斯方块

标签: tetris 俄罗斯方块 方块变形 方块移动 监听键盘事件

经过上一节,已经可以使方块自动下落,这节我们给他加入键盘事件,来实现控制方块变形与移动。

首先我们加上键盘事件监听,要考虑的是键盘事件监听加到哪个对象上面,GamePanel?不,如果加在GamePanel上,只有焦点在GamePanel上时才有用,我们应该加在整个应用上,只要焦点在应用上,就能控制方块,所以我们应该加在TETRIS上面。然后我们应该监听KeyboardEvent.KEY_DOWN事件还是KEY_UP事件呢?如果是KEY_UP事件,只有键盘释放时才会移动,这样的话,如果我们按住方向键不动的话,方块将不会移动,所以我们应该监听KEY_DOWN事件。

俄罗斯方块游戏开发(二)–方块的显示与定时下落

发表于3年前(Dec 23, 2014 7:08:32 PM)  阅读 818  评论 0

分类: Flex 俄罗斯方块

标签: tetris 俄罗斯方块 定时下落

这节我们主要讲如何让方块在游戏区域显示以及定时下落。首先我们知道,标准tetris一共有7种方块,每种方块最多有四种形态,有的只有一种如正方形块,有的只有两种如竖条横条,当然我们可以把他们也看做有四种形态,只是有些形态样式相同而已,这个影响不大。参考传智播客的视频方法,方块横向竖向最大宽度为4个格子,我们可以用一个4*4的方阵来表示每个方块以及他们的状态,如下面的方阵,转化为程序,我们可以用一个二维数组来表示,红色的部分值为1,白色部分值为0,画图时,我们只对1的部分画单元格,模型大概就是这样。

 

俄罗斯方块游戏开发(一)–游戏面板布局

发表于3年前(Dec 23, 2014 6:56:10 PM)  阅读 814  评论 0

分类: Flex 俄罗斯方块

标签: tetris 俄罗斯方块 布局 游戏面板

从今天起,我将使用AIR制作一个经典的游戏–俄罗斯方块。这个游戏不仅很多玩家喜欢玩,也有很多程序员都喜欢用这个做学习项目。刚学习AIR的时候,我就想过做这个游戏,基于难易程序,我先写了五子棋跟扫雷,五子棋的话,由于电脑AI算法现在不是我所能研究的,所以只做了玩家对战,玩家对战一般也只能用于局域网对战,实用性不强,所以没放上来。之前扫雷游戏算是完整完成了,虽然写的博客有点虎头蛇尾,实在是写作水平有限,望大家谅解。这次写扫雷程序,我会尽量写详细点,写完一点我会把每节的代码都会单独上传,希望能对大家有用。申明一点,写这个游戏前我初略看了一下传智播客的关于这个游戏的视频教程,那个是基于java GUI的,虽然语言不同,但思路是共通的,我想我很多设计会参考他,大家也可以参看那个视频。