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

Розробити клон Тетріса за 2 години. Мій виклик усім вайбкодерам 🎮

Багато хто знає Тетріс як культову гру з 80-х років. Але у спільноті розробників вона вважається своєрідним "Hello World" у розробці ігор.

Ein Tetris-Klon in Aktion.

Чому?

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

Мій досвід: Тетріс за 2 години, без жодного штучного інтелекту

Кілька років тому я поставив собі виклик: чи можу я відновити Тетріс з нуля? Відповідь: так - і всього за дві години.

Тоді я розробив свій клон на QB45 (QuickBASIC 4.5), повністю вручну, без штучного інтелекту та фреймворків. В результаті вийшов повністю функціональний тетріс з усіма основами:

  • падіння камінців
  • обертання
  • Видалення ліній
  • Підрахунок очок та кінець гри

І найкраще в цьому: момент, коли перший Тетроміно "зіштовхується" з краєм і вмикається ігрова логіка - безцінний!

Виклик для вас 🚀.

Тепер ваша черга, дорогі Vibe Coders:

👉 Створіть свій власний клон Тетріса - максимум за 2 години. Неважливо, чи використовуєте ви QuickBASIC, Python, JavaScript або Unity. Головне, щоб у нього можна було грати!

Поділіться своїм результатом, скріншотами або вихідним кодом. Мені цікаво,

  • як ви вирішили логіку гри,
  • які функції ви обов'язково повинні включити (наприклад, наступний шматок, високі бали, жорстке падіння),
  • і чи ви швидші за мене в той час.

Псевдокод для початку 🧩

Щоб ніхто не починав з нуля, ось невеликий фрагмент псевдокоду, який показує основну ідею:

ініціалізуємо дошку[10][20] = пусто
вибираємо випадкове тетроміно як currentPiece

цикл, доки гра запущена:
    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
    wait (галочка в залежності від рівня)

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

Поспішаючи

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

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

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

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

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

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

Про автора
Засновник і генеральний директор Langmeier Software


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

Залишити коментар тут...