特殊场合

在 2 小时内开发一个俄罗斯方块克隆。我向所有充满活力的程序员提出的挑战 🎮

很多人都知道俄罗斯方块是上世纪 80 年代的一款经典游戏。但在开发者群体中,它却被视为游戏开发中的 "Hello World"

Ein Tetris-Klon in Aktion.

为什么这么说呢?

  • 规则简单而完整。
  • 你必须实现基本的机制:游戏场地、碰撞、旋转、积分、关卡。
  • 它很小,小到你一个晚上就能完成--但又足够大,大到你最终能在手中获得一个 "真正的 "游戏...

我的经验:俄罗斯方块 2 小时,无人工智能

几年前,我给自己提出了一个挑战:我能从零开始重建俄罗斯方块吗?
答案是:能,而且只需两小时

我当时用QB45(QuickBASIC 4.5)开发了我的克隆版,完全手工操作,没有人工智能或框架。结果是一个功能齐全的俄罗斯方块,具备所有基本功能:

  • 落石
  • 旋转
  • 删除线条
  • 得分和游戏结束

最棒的是:当第一块俄罗斯方块 "碰撞 "到边缘,游戏逻辑启动的那一刻--无价之宝!

你的挑战 🚀

现在轮到你们了,亲爱的Vibe Coders

👉 在最多 2 个小时内制作出自己的俄罗斯方块克隆版。无论您使用 QuickBASIC、Python、JavaScript 还是 Unity 都没关系。重要的是:它必须可以玩!

分享您的成果、截图或源代码。我很好奇

  • 您是如何解决游戏逻辑问题的?
  • 哪些功能是你绝对必须包含的(例如下一块、高分、高难度下降)、
  • 以及你是否比我当时更快。

开始游戏的伪代码 🧩

为了避免有人从零开始,这里有一小段伪代码,展示了基本思路:

initialise board[10][20] = empty select random tetromino as currentPiece loop as long as game is running: input = read_keyboard() if input = LEFT: currentPiece.x -= 1 if input = RIGHT: currentPiece.x += 1 if input = ROTATE: rotate currentPiece if input = DROP: currentPiece.y += 1 if collision(currentPiece, board): currentPiece.y -= 1 fix currentPiece in the board remove full lines currentPiece = random new tetromino draw board + currentPiece wait (tick depending on level)

有了这个基本框架,你就可以快速创建一个可执行的游戏。

匆忙中

俄罗斯方块编程并非火箭科学,但这正是它的魅力所在。

它是游戏开发世界的理想入门课程,也是考验你编程技能的完美挑战。

你们可以这样参加比赛:

你们谁能在 2 小时内完成俄罗斯方块的编码?💻🎮

💡 在 LinkedIn 上与我联系--点击我的名字即可在下面的框中找到我的个人资料。

通过 PN 向我发送您的 GitHub 链接和截图。我期待着您的成果!🚀

关于作者
Langmeier 软件公司创始人兼首席执行官
我不想把任何事情复杂化。我不想开发终极商务软件。我不想被列入顶尖技术排行榜。因为这不是商业应用软件的目的。它要确保你的数据得到无缝保护。确保一切顺利运行的同时,你还能保留完全的控制权,专注于业务发展。简单和可靠是我的指导原则,每天都在激励着我。