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