Özel bir durum için

2 saat içinde bir Tetris klonu geliştirin. Tüm vibe kodlayıcılarına meydan okuyorum 🎮

Birçok kişi Tetris'i 80'lerden kalma kült bir oyun olarak bilir. Ancak geliştirici topluluğunda, oyun geliştirmenin bir tür "Merhaba Dünyası" olarak kabul edilir.

Ein Tetris-Klon in Aktion.

Neden mi?

  • Kurallar basit ama eksiksiz.
  • Temel mekanikleri uygulamak zorundasınız: Oyun alanı, çarpışmalar, rotasyon, puanlar, seviyeler.
  • Bir akşamda tamamlayabileceğiniz kadar küçük - ancak elinizde "gerçek" bir oyunla sonuçlanacak kadar büyük...

Benim deneyimim: Yapay zeka olmadan 2 saatte Tetris

Birkaç yıl önce kendime bir meydan okuma belirledim: Tetris'i sıfırdan yeniden inşa edebilir miyim?
Cevap: Evet - ve sadece iki saat içinde.

O zamanlar klonumu QB45 'te (QuickBASIC 4.5), yapay zeka veya çerçeveler olmadan tamamen manuel olarak geliştirdim. Sonuç, tüm temel özelliklere sahip tamamen işlevsel bir Tetris:

  • Düşen taşlar
  • rotasyon
  • Satırları sil
  • Skor ve Oyun Bitti

Ve bununla ilgili en iyi şey: İlk Tetromino'nun kenarla "çarpıştığı" ve oyun mantığının devreye girdiği an - paha biçilemez!

Sizin için meydan okuma 🚀

Şimdi sıra sizde sevgili Vibe Coders:

👉 En fazla 2 saat içinde kendi Tetris klonunuzu oluşturun. QuickBASIC, Python, JavaScript veya Unity kullanmanız fark etmez. Önemli olan şu: Oynanabilir olmalı!

Sonucunuzu, ekran görüntülerinizi veya kaynak kodunuzu paylaşın. Merak ediyorum,

  • Oyun mantığını nasıl çözdüğünüzü,
  • hangi özellikleri mutlaka eklemeniz gerektiği (örneğin, bir sonraki parça, yüksek puanlar, sert düşüş),
  • ve benim o zamanlar olduğumdan daha hızlı olup olmadığınızı.

Başlamak için sözde kod 🧩

Kimsenin sıfırdan başlamaması için, burada temel fikri gösteren küçük bir sözde kod parçacığı bulunmaktadır:

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 currentPiece'ı tahtaya sabitle tüm çizgileri kaldır currentPiece = random new tetromino draw board + currentPiece bekle (seviyeye bağlı olarak tik)

Tam olarak bu temel çerçeve ile çok hızlı bir şekilde çalıştırılabilir bir oyun oluşturabilirsiniz.

Acele edin

Tetris'i programlamak roket bilimi değildir - ama onu bu kadar çekici yapan da tam olarak budur.

Oyun geliştirme dünyasına ideal bir giriş ve becerilerinizi test etmek için mükemmel bir kodlama mücadelesi.

İşte böyle katılacaksınız:

Hanginiz Tetris'i 2 saat içinde kodlayabilir? 💻🎮

💡 Benimle LinkedIn'de bağlantı kurun - profilimi aşağıdaki kutuda ismime tıklayarak bulabilirsiniz.

GitHub bağlantılarınızı ve ekran görüntülerinizi PN aracılığıyla bana gönderin. Sonuçlarınızı dört gözle bekliyorum! 🚀

Yazar hakkında
Langmeier Software Kurucusu ve CEO'su
Hiçbir şeyi karmaşıklaştırmak istemiyorum. En iyi iş yazılımını geliştirmek istemiyorum. En iyi teknolojiler listesinde yer almak istemiyorum. Çünkü iş uygulamalarının amacı bu değil. Bu, verilerinizin sorunsuz bir şekilde korunduğundan emin olmakla ilgili. Ve siz tam kontrolü elinizde tutarken ve işinizi büyütmeye odaklanabilirken her şeyin sorunsuz çalışmasını sağlamakla ilgilidir. Sadelik ve güvenilirlik benim yol gösterici ilkelerimdir ve bana her gün ilham verirler.