俄罗斯方块游戏机制的实现与优化
一、得分、等级与消除行数处理
1.1 得分处理
得分会在以下三种情况更新:
- 当方块固定时
- 当消除一行时
- 当玩家完成一次“俄罗斯方块”(游戏地图中没有更多方块)
为了实现得分更新,我们在 Tetris 类型中添加了 update_score 方法:
fn update_score(&mut self, to_add: u32) {
self.score += to_add;
}
同时更新了 check_lines 和 make_permanent 方法:
fn check_lines(&mut self) {
let mut y = 0;
let mut score_add = 0;
while y < self.game_map.len() {
let mut complete = true;
for x in &self.game_map[y] {
if *x == 0 {
complete = false;
break
}
}
if complete ==
超级会员免费看
订阅专栏 解锁全文
80

被折叠的 条评论
为什么被折叠?



