Skip to content

俄罗斯方块

游戏介绍

  • 俄罗斯方块是一款经典的益智游戏,玩家需要控制方块在屏幕上移动,使其堆叠成完整的行,消除这些行以获得分数。游戏难度随着时间逐渐增加,玩家需要不断挑战自己

游戏规则

  • 游戏开始时,屏幕上会随机出现一个方块图形,玩家可以使用键盘上的方向键来控制方块图形的移动和旋转,使其堆叠在屏幕底部。当一行被完全填满时,该行会自动消除,上面的一行会落下,玩家获得分数。当方块堆积到屏幕顶部时,游戏结束。

开发过程

(1)创建工程

  • 创建工程“Tetris”,然后在main.py中清空代码,按下CTRL+J,输入提示词:“开发一个pygame俄罗斯方块游戏”,回车后很快就可以生成出一个基本的俄罗斯方块游戏的代码。我们运行一下,可以看到游戏具备基本的图形下落和逻辑。 Alt text

(2)完善操作

  • 虽然游戏看起来是那么回事儿,但因为提示词太少,AI做的并不完善,比如可能会缺少操作处理,我们按下CTRL+A全选代码,然后再次CTRL+J,在弹出的对话框里输入:“设置按下键盘左右键来移动落下的方块,按向上顺时针旋转90度,当按下向下键时,直接将下落中的方块放置在能落在的最下方位置。”回车后,AI会对所有的代码进行理解,并在主循环中加入按键的判断和处理,全部接受后运行一下,可以看到这时我们就可以用键盘来控制操作下落的方块了。 !Alt text

(3)音乐与效果

  • 虽然游戏具备了基本逻辑,但是画面简陋,缺乏动感,这时候就要依靠素材了,在这里我给大家准备了一张背景图bg.jpg,以及落下、消行和失败的音效。 Alt text

  • 继续使用CTRL+A,CTRL+J大法,我们输入需求:“修改代码,设置bg.jpg为背景图,并使用drop.wav来作为方块落下碰墥时的音效、使用disappear.wav作为消除行时的音效,使用failed.wav作为游戏失败时的音效,让每个音效有不同的声道,另外美化方块图形,增加立体感。”在这一大段需求输入后,生成的游戏可立刻变的炫酷无比了! Alt text

(4)分数与计时

  • 开发到这里,时间已经过去快五分钟了,最后我们来做一下收尾工作、完善一下分数与计时。 使用“修改代码,在顶部显示游戏计时和消行的数量,在游戏结束时停止下落并显示GameOver,按下空格键重新开始。”作为最后一个修改需求吧。

经过这么一顿操作,一个《俄罗斯方块》游戏就完成啦! Alt text

(4)注意事项

  • 在开发游戏的过程中,如果遇到反复输入修改需求而不能达到目标结果的,可以考虑用更加详细的步骤式讲解,因为AI目前在理解的准确度上仍有待提高,这就需要小伙伴们一方面更加耐心,另一方面也提高自已的Python编程水平,只有两手抓,两手都要硬,才能真正做出完美的游戏!

  • 本节课资源:Tetris