使用JavaScript实现一个俄罗斯方块
清明假期期间,闲的无聊,就做了一个小游戏玩玩,目前游戏逻辑上暂未发现bug,只不过样子稍微丑了一些-.-项目地址:https://github.com/Jiasm/tetris在线Demo:http://blog.jiasm.org/tetris/?width=16&height=40(修改URL参数可以调整难度) 整体分成三块进行开发,使用面向对象式编程进行开发(其实我更喜欢用函数式编程,但苦于游戏的一些状态用对象来存储会更直观一些): Game: 负责生成新的方块 负责方块移动的处理 方块触底的判断 移除满足清除条件的行 Render: 负责用Game的数据来渲染整个游戏界面 Controller: 负责接受用户输入(上下左右各种操作)并处理 向用户反馈当前游戏的状态 这样分层带来了一个好处,我们游戏的逻辑Game模块并不依赖于当前程序运行的环境,而Render可以是Canvas、DOM,甚至是控制台输出。我们要移植到其他平台,只需要修改Render即可。 项目结构 忽略了一些与游戏没有直接关系的结构 . ├── model │ ├── Brick.js │ ├── Gam...