Για μια ειδική περίσταση

Αναπτύξτε έναν κλώνο του Tetris σε 2 ώρες. Η πρόκλησή μου προς όλους τους προγραμματιστές vibe 🎮

Πολλοί γνωρίζουν το Tetris ως ένα cult παιχνίδι από τη δεκαετία του '80. Αλλά στην κοινότητα των προγραμματιστών, θεωρείται ένα είδος "Hello World" της ανάπτυξης παιχνιδιών.

Ein Tetris-Klon in Aktion.

Γιατί;

  • Οι κανόνες είναι απλοί αλλά πλήρεις.
  • Πρέπει να εφαρμόσετε βασικούς μηχανισμούς: Πεδίο παιχνιδιού, συγκρούσεις, περιστροφή, πόντοι, επίπεδα.
  • Είναι αρκετά μικρό ώστε να μπορείτε να το ολοκληρώσετε σε ένα βράδυ - αλλά αρκετά μεγάλο ώστε να καταλήξετε με ένα "πραγματικό" παιχνίδι στα χέρια σας...

Η εμπειρία μου: Tetris σε 2 ώρες, χωρίς AI

Πριν από μερικά χρόνια, έθεσα στον εαυτό μου την πρόκληση: Μπορώ να ξαναφτιάξω το Tetris από την αρχή; Η απάντηση: Ναι - και μάλιστα σε μόλις δύο ώρες.

Ανέπτυξα τότε τον κλώνο μου σε QB45 (QuickBASIC 4.5), εντελώς χειροκίνητα, χωρίς AI ή frameworks. Το αποτέλεσμα είναι ένα πλήρως λειτουργικό Tetris με όλα τα βασικά στοιχεία:

  • Πέτρες που πέφτουν.
  • περιστροφή
  • Διαγραφή γραμμών
  • Σκορ και Game Over

Και το καλύτερο πράγμα: Η στιγμή που το πρώτο Τετρομίνιο "συγκρούεται" με την άκρη και η λογική του παιχνιδιού μπαίνει σε λειτουργία - ανεκτίμητη!

Η πρόκληση για εσάς 🚀

Τώρα είναι η σειρά σας, αγαπητοί Vibe Coders:

👉 Φτιάξτε τον δικό σας κλώνο του Tetris - σε 2 ώρες το πολύ. Δεν έχει σημασία αν χρησιμοποιείτε QuickBASIC, Python, JavaScript ή Unity. Το σημαντικό είναι: Πρέπει να μπορεί να παιχτεί!

Μοιραστείτε το αποτέλεσμά σας, τα screenshots σας ή τον πηγαίο κώδικα. Είμαι περίεργος,

  • πώς λύνετε τη λογική του παιχνιδιού,
  • ποια χαρακτηριστικά πρέπει οπωσδήποτε να συμπεριλάβετε (π.χ. επόμενο κομμάτι, υψηλή βαθμολογία, σκληρή πτώση),
  • και αν είστε πιο γρήγοροι από ό,τι ήμουν εγώ τότε.

Ψευδοκώδικας για να ξεκινήσετε 🧩

Για να μην ξεκινήσει κανείς από το μηδέν, εδώ είναι ένα μικρό απόσπασμα ψευδοκώδικα που δείχνει τη βασική ιδέα:

αρχικοποίηση board[10][20] = empty
επιλέξτε τυχαίο τετράμινο ως 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 στο board
        Αφαίρεση πλήρων γραμμών

    currentPiece = random new tetromino

    Σχεδιάστε τον πίνακα + currentPiece
    αναμονή (χρόνος ανάλογα με το επίπεδο)

Με αυτό ακριβώς το βασικό πλαίσιο, μπορείτε πολύ γρήγορα να δημιουργήσετε ένα εκτελέσιμο παιχνίδι.

Βιαστικά

Ο προγραμματισμός του Tetris δεν είναι επιστήμη πυραύλων - αλλά αυτό ακριβώς είναι που το κάνει τόσο ελκυστικό.

Είναι μια ιδανική εισαγωγή στον κόσμο της ανάπτυξης παιχνιδιών και μια τέλεια πρόκληση προγραμματισμού για να δοκιμάσετε τις ικανότητές σας.

Έτσι μπορείτε να λάβετε μέρος:

Ποιος από εσάς μπορεί να προγραμματίσει το Tetris σε 2 ώρες; 💻🎮

💡 Συνδεθείτε μαζί μου στο LinkedIn - μπορείτε να βρείτε το προφίλ μου στο παρακάτω πλαίσιο κάνοντας κλικ στο όνομά μου.

Στείλτε μου τους συνδέσμους και τα screenshots σας στο GitHub μέσω PN. Ανυπομονώ να δω τα αποτελέσματά σας! 🚀

Σχετικά με τον συγγραφέα
Ιδρυτής και διευθύνων σύμβουλος της Langmeier Software


Δεν θέλω να περιπλέξω τίποτα. Δεν θέλω να αναπτύξω το απόλυτο επιχειρηματικό λογισμικό. Δεν θέλω να συμπεριληφθώ σε έναν κατάλογο κορυφαίων τεχνολογικών προϊόντων. Διότι δεν είναι αυτό το ζητούμενο των επιχειρηματικών εφαρμογών. Πρόκειται για τη διασφάλιση της απρόσκοπτης προστασίας των δεδομένων σας. Και έχει να κάνει με τη διασφάλιση ότι όλα λειτουργούν ομαλά, ενώ εσείς διατηρείτε τον πλήρη έλεγχο και μπορείτε να επικεντρωθείτε στην ανάπτυξη της επιχείρησής σας. Η απλότητα και η αξιοπιστία είναι οι κατευθυντήριες αρχές μου και με εμπνέουν καθημερινά.
 

Δημοσιεύστε ένα σχόλιο εδώ...