简介
俄罗斯方块(英文:Tetris)是一款消除类的休闲益智小游戏。
由小方块组成的不同形状的板块陆续从屏幕上方落下来,玩家通过调整板块的位置和方向,使它们在屏幕底部拼出完整的一条或几条。这些完整的横条会随即消失,给新落下来的板块腾出空间,与此同时,玩家得到分数奖励。没有被消除掉的方块不断堆积起来,一旦堆到屏幕顶端,玩家便告输,游戏结束。
方块共有7种,分别以S、Z、L、J、I、O、T这7个字母的形状来命名。
效果展示
代码实现
添加配置文件
config.js
/*----------配置方块及其变换形态----------*/
// L型方块
const blockL = [
[
[0, 0, 1],
[1, 1, 1]
],
[
[1, 0],
[1, 0],
[1, 1]
],
[
[1, 1, 1],
[1, 0, 0]
],
[
[1, 1],
[0, 1],
[0, 1]
]
];
// J型方块
const blockJ = [
[
[1, 0, 0],
[1, 1, 1]
],
[
[1, 1],
[1, 0],
[1, 0]
],
[
[1, 1, 1],
[0, 0, 1]
],
[
[0, 1],
[0, 1],
[1, 1]
]
];
// I型方块
const blockI = [
[
[1, 1, 1, 1]
],
[
[1],
[1],
[1],
[1]
],
[
[1, 1, 1, 1]
],
[
[1],
[1],
[1],
[1]
]
];
// O型方块
const blockO = [
[
[1, 1],
[1, 1]
],
[
[1, 1],
[1, 1]
],
[
[1, 1],
[1, 1]
],
[
[1, 1],
[1, 1]
],
];
// Z型方块
const blockZ = [
[
[1, 1, 0],
[0, 1, 1]
],
[
[0, 1],
[1, 1],
[1, 0]
],
[
[1, 1, 0],
[0, 1, 1]
],
[
[0, 1],
[1, 1],
[1, 0]
]
];
// S型方块
const blockS = [
[
[0, 1, 1],
[1, 1, 0]
],
[
[1, 0],
[1, 1],
[0, 1]
],
[
[0, 1, 1],
[1, 1, 0]
],
[
[1, 0],
[1, 1],
[0, 1]
]
];
// T型方块
const blockT = [
[
[1, 1, 1],
[0, 1, 0]
],
[
[0, 1],
[1, 1],
[0, 1]