Для особливого випадку

Розробити клон Тетріса за 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 while game is running: input = read_keyboard() if input = LEFT: currentPiece.x -= 1 if input = RIGHT: currentPiece.x += 1 if input = ROTATE: обертаємо currentPiece if input = DROP: currentPiece.y += 1 if collision(currentPiece, board): currentPiece.y -= 1 зафіксувати currentPiece на дошці видалити повні лінії currentPiece = random new tetromino малюємо дошку + currentPiece чекаємо (галочка в залежності від рівня)

Маючи саме такий базовий фреймворк, ви можете дуже швидко створити виконувану гру.

Не поспішаючи

Програмування тетрісу - це не ракетна наука, але саме це робить його таким привабливим.

Це ідеальний вступ до світу розробки ігор та ідеальний виклик для кодування, щоб перевірити свої навички.

Ось як ви можете взяти участь:

Хто з вас зможе написати Tetris за 2 години? 💻🎮

💡 Зв'яжіться зі мною на LinkedIn - ви можете знайти мій профіль у вікні нижче, натиснувши на моє ім'я.

Надсилайте мені свої посилання на GitHub та скріншоти через PN. Я з нетерпінням чекаю на ваші результати! 🚀

Про автора
Засновник і генеральний директор Langmeier Software
Я не хочу нічого ускладнювати. Я не хочу розробляти ідеальне програмне забезпечення для бізнесу. Я не хочу бути включеним до списку найкращих технологій. Тому що це не те, для чого потрібні бізнес-додатки. Вони для того, щоб забезпечити надійний захист ваших даних. І це означає, що все має працювати безперебійно, поки ви зберігаєте повний контроль і можете зосередитися на розвитку вашого бізнесу. Простота та надійність - це мої керівні принципи, які надихають мене щодня.