ASE 420 Team Project
Tetris Game
A fully functional Tetris game implementation demonstrating object-oriented design principles, clean architecture with separation of concerns, and comprehensive testing strategies.
Project Features
Clean Architecture
Layered architecture with clear separation between game logic, rendering, and UI components.
Comprehensive Testing
411 test cases covering unit, integration, acceptance, and regression testing strategies.
Design Patterns
Implementation of Factory, Singleton, Strategy, and State Machine patterns for maintainable code.
Optimized Data Structures
Custom LinkedList and bitmask-based row representation for efficient game operations.
Intent-Based Communication
Decoupled input system using string intents for flexible and testable command processing.
Modern UI
Responsive popup system with button management and smooth user interactions.
Technology Stack
Python 3.x
Pygame
pytest
Object-Oriented Design
Project Statistics
1,200
Lines of Source Code
5,677
Lines of Test Code
411
Test Cases
6
Major Subsystems