Na specjalną okazję

Stwórz klona Tetrisa w 2 godziny. Moje wyzwanie dla wszystkich wibrujących koderów 🎮

Wiele osób zna Tetris jako kultową grę z lat 80-tych. Ale w społeczności deweloperów jest ona uważana za swego rodzaju "Hello World" tworzenia gier.

Ein Tetris-Klon in Aktion.

Dlaczego?

  • Zasady są proste, ale kompletne.
  • Musisz zaimplementować podstawową mechanikę: Pole gry, kolizje, obroty, punkty, poziomy.
  • Jest na tyle mały, że możesz go ukończyć w jeden wieczór - ale na tyle duży, że skończysz z "prawdziwą" grą w rękach...

Moje doświadczenie: Tetris w 2 godziny, bez żadnej sztucznej inteligencji

Kilka lat temu postawiłem sobie wyzwanie: Czy mogę zbudować Tetrisa od zera?
Odpowiedź: Tak - i to w zaledwie dwie godziny.

Stworzyłem wtedy swojego klona w QB45 (QuickBASIC 4.5), całkowicie ręcznie, bez sztucznej inteligencji i frameworków. Rezultatem jest w pełni funkcjonalny Tetris ze wszystkimi podstawami:

  • spadające kamienie
  • rotacja
  • Usuwanie linii
  • Wynik i koniec gry

A co najlepsze: moment, w którym pierwsze Tetromino "zderza się" z krawędzią i uruchamia się logika gry - bezcenne!

Wyzwanie dla Ciebie 🚀

Teraz wasza kolej, drodzy koderzy Vibe:

Zbudujcie swój własny klon Tetrisa - w maksymalnie 2 godziny. Nie ma znaczenia, czy używasz QuickBASIC, Python, JavaScript czy Unity. Najważniejsze jest to, że gra musi być grywalna!

Podziel się wynikiem, zrzutami ekranu lub kodem źródłowym. Jestem ciekaw,

  • jak rozwiązałeś logikę gry,
  • które funkcje koniecznie musisz uwzględnić (np. następny element, wysokie wyniki, twardy spadek),
  • i czy jesteś szybszy niż ja wtedy.

Pseudokod na początek 🧩

Aby nikt nie zaczynał od zera, oto mały fragment pseudokodu, który pokazuje podstawową ideę:

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 zależnie od poziomu)

Mając dokładnie ten podstawowy framework, możesz bardzo szybko stworzyć wykonywalną grę.

W pośpiechu

Programowanie Tetris nie jest nauką o rakietach - ale właśnie to czyni go tak atrakcyjnym.

Jest to idealne wprowadzenie do świata tworzenia gier i doskonałe wyzwanie kodowania, aby sprawdzić swoje umiejętności.

Oto jak weźmiesz udział:

Kto z was potrafi zakodować Tetrisa w 2 godziny? 💻🎮

Połącz się ze mną na LinkedIn - możesz znaleźć mój profil w polu poniżej, klikając moje imię i nazwisko.

Wyślij mi swoje linki do GitHub i zrzuty ekranu za pośrednictwem PN. Czekam na twoje wyniki! 🚀

O autorze
Założyciel i CEO Langmeier Software
Nie chcę niczego komplikować. Nie chcę tworzyć najlepszego oprogramowania biznesowego. Nie chcę znaleźć się na liście najlepszych technologii. Ponieważ nie o to chodzi w aplikacjach biznesowych. Chodzi o to, aby upewnić się, że Twoje dane są bezbłędnie chronione. Chodzi też o to, by wszystko działało płynnie, a Ty zachowałeś pełną kontrolę i mogłeś skupić się na rozwoju swojej firmy. Prostota i niezawodność to moje główne zasady, które inspirują mnie każdego dnia.