C# – Zbuduj Własnego Tetrisa! Kompletny Przewodnik
Zbuduj od podstaw kultowego Tetrisa i poznaj kluczowe koncepcje programowania! W tym kursie przeprowadzimy Cię przez cały proces – od minimalnej wersji gry MVP
Stworzony przez Mariusz Jurczenko
Najniższa cena z ostatnich 30 dni: 59.40zł
Masz pytania dotyczące tego szkolenia ?
Odkryj powiązane tematy
W cenie szkolenia otrzymasz
W skrócie
Dlaczego warto wybrać to szkolenie
Zbudujesz Tetrisa krok po kroku, zaczynając od MVP. Uporządkujemy kod w warstwach i od początku będziemy trzymać dobre praktyki. Dzięki temu zobaczysz, jak przeprowadzić projekt od idei do działającej gry.
Nauczysz się testów jednostkowych i iteracyjnego rozwoju. Dodasz różne klocki, rotację i fabrykę obiektów. To praktyczne ćwiczenie, które uczy myślenia o jakości, czytelności i łatwej rozbudowie kodu.
- Projekt krok po kroku – Od MVP do zaawansowanych mechanik i optymalizacji.
- Architektura w praktyce – Warstwy Domain/Application/Infrastructure/Presentation (WPF).
- Testy od początku (TDD) – xUnit, Moq i FluentAssertions na komponentach gry.
- Łatwe rozszerzanie kodu – Factory Method i strategie rotacji dla różnych klocków.
Czego się nauczysz?
- 1Warstwowy projekt w Visual StudioUtworzysz Domain, Application, Infrastructure i Presentation (WPF).
- 2MVP gry TetrisZaimplementujesz siatkę planszy, jeden klocek, opadanie i podstawowe wyświetlanie.
- 3Dobre praktyki projektoweZastosujesz SOLID, SoC, KISS, DRY, YAGNI oraz zadbasz o spójność i ograniczysz sprzężenia.
- 4Testy jednostkowe (TDD)Napiszesz testy w xUnit, użyjesz Moq i FluentAssertions dla GameBoard i GameService.
- 5Polimorfizm dla klockówObsłużysz różne typy bloków (I, O, T, S, Z, J, L) z użyciem polimorfizmu.
- 6Wzorzec Factory MethodWydzielisz tworzenie klocków do IGameBlockFactory i GameBlockFactory.
- 7Obracanie i kolizjeZaimplementujesz rotacje z uwzględnieniem ścian i innych bloków oraz obsługę klawiatury.
- 8Strategie rotacjiDodasz IRotationStrategy: standardową, brak rotacji, 180°, przeciwną i losową.
Dla kogo jest to szkolenie
- Osoby zaczynające z C#, chcące zbudować pierwszą grę.
- Studenci chcący przećwiczyć SOLID i rozdział odpowiedzialności.
- Programiści .NET porządkujący architekturę projektu.
- Ci, którzy chcą zacząć pisać testy: xUnit, Moq, FluentAssertions.
- Hobbyści gier zainteresowani WPF i mechaniką Tetrisa.
- Uczący się TDD w praktyce, na małym projekcie.
- Każdy, kto woli naukę przez realizację konkretnego celu.
Wymagania
Brak formalnych wymagań wstępnych. W trakcie pracy korzystamy z Visual Studio i WPF, więc przyda się dostęp do tego środowiska oraz chęć systematycznej nauki.
Opis szkolenia
Zbuduj własnego Tetrisa w C#. Przejdziesz pełną ścieżkę tworzenia gry: od minimalnej wersji (MVP) po rozbudowane mechaniki i optymalizację. Projekt uporządkujemy w warstwach Domain, Application, Infrastructure i Presentation (WPF). Po drodze zastosujesz SOLID, SoC, KISS, DRY, YAGNI oraz zadbasz o spójność i niskie sprzężenia. Dodasz testy z xUnit, Moq i FluentAssertions, a następnie rozszerzysz grę o typy klocków, rotacje i wzorzec Factory Method.
Start: projekt i warstwy
Na starcie utworzysz rozwiązanie w Visual Studio i podzielisz kod na warstwy, aby od początku panować nad złożonością. W Tetris.Domain powstanie logika gry i modele. Warstwa Tetris.Application skupi się na zasadach działania i operacjach aplikacji. Tetris.Infrastructure pozostanie miejscem integracji z zewnętrznymi komponentami, gdy będą potrzebne. Interfejs przygotujesz w Tetris.Presentation z użyciem WPF. Taki układ ułatwi rozdział odpowiedzialności, testowanie i dalszą rozbudowę, a każda część będzie miała jasną rolę.
MVP gry Tetris
W pierwszym kroku zbudujesz minimalną wersję gry. Planszę zaimplementujesz jako siatkę, a na początek użyjesz jednego prostego klocka. Dodasz mechanikę opadania w dół oraz podstawowy interfejs w WPF do wyświetlania planszy. Nie wprowadzamy na razie różnych kształtów, poziomów trudności ani złożonych interakcji gracza, bo najpierw liczy się poprawne działanie podstaw. Gdy MVP spełni oczekiwania, stanie się solidnym fundamentem do stopniowego rozwijania funkcjonalności i usprawnień.
Dobre praktyki i analiza kodu
Po uruchomieniu MVP przeanalizujesz kod pod kątem najlepszych praktyk. Skupisz się na zasadach SOLID: pojedynczej odpowiedzialności, otwartości/zamkniętości, podstawienia Liskov, segregacji interfejsów i odwrócenia zależności. Zadbamy też o Separation of Concerns, prostotę (KISS), brak powtórzeń (DRY) i podejście YAGNI. Ważnym elementem będzie spójność modułów i ograniczanie sprzężeń. Dzięki temu projekt stanie się czytelny, łatwiejszy w utrzymaniu i gotowy na kolejne kroki.
Testy jednostkowe (TDD)
Następnie dodasz testy jednostkowe zgodnie z TDD. Dla planszy, czyli klasy GameBoard, przygotujesz testy konstruktora, sprawdzanie pustych komórek (IsCellEmpty), umieszczanie bloków (PlaceBlock) oraz warunki brzegowe. Dla serwisu gry, klasy GameService, zweryfikujesz tworzenie nowych bloków (SpawnBlock), ruch w dół (MoveBlockDown), zachowanie przy osiągnięciu dna i pobieranie bloków (GetBlocks). Wykorzystasz xUnit jako framework, Moq do mockowania zależności oraz FluentAssertions dla czytelnych asercji.
Nowe klocki i Factory Method
Kolejny etap to dodanie różnych typów klocków i zastosowanie polimorfizmu. Wprowadzisz wyliczenie GameBlockType dla kształtów I, O, T, S, Z, J, L oraz wydzielisz interfejs IGameBlockFactory, który zdefiniuje sposób tworzenia obiektów. Zaimplementujesz GameBlockFactory z metodami CreateGameBlock oraz CreateRandomGameBlock. Dla porządku przeniesiesz IGameBoard do folderu Interfaces. Taki układ oddziela tworzenie klocków od reszty kodu, poprawia czytelność i ułatwia przyszłe rozszerzenia bez dotykania wielu miejsc.
Rotacje, kolizje i strategie
Na koniec dodasz obracanie klocków z klawiatury z pełną obsługą kolizji. Zmodyfikujesz klasę GameBlock tak, aby metoda Rotate zwracała obrócony kształt. W GameService pojawią się CanRotate do sprawdzania możliwości rotacji oraz RotateCurrentBlock do jej wykonania, a także metody MoveBlockLeft i MoveBlockRight w kontekście obrotów. Wprowadzisz IRotationStrategy i przygotujesz strategie: standardową o 90° w prawo, brak rotacji, obrót o 180°, przeciwnie do wskazówek zegara oraz losową, która wybiera jedną z dostępnych opcji.
To szkolenie w liczbach
Spis treści
O autorze
Ten kurs nie został jeszcze oceniony.
Przystąp do szkolenia i oceń go jako pierwszy!
Stwórz Realistycznego Awatara 3D w Unreal Eng ...
26 wykładów
1 godz. 49 min
Aktualizacja: 03.2026
Unreal Engine 5 - Stwórz swoją pierwszą grę k ...
69 wykładów
21 godz. 37 min
Stwórz Realistycznego Awatara 3D w Unreal Engine 5
Stwórz hiperrealistyczną postać w Unreal Engine 5, której twarz i ciało będziesz mógł dowolnie animować, a jej wygląd całkowicie zależy od Ciebie!
Czego się nauczysz?
- Stworzenie pierwszej animacji 3D w programie Unreal Engine 5
- Tworzenie dowolnego hiperrealistycznego człowieka
- Stworzenie VTubera, który zwiększy zasięgi na social mediach