Skip to content

luf3ds/space-invaders-csharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Space Invaders SAD

A simple and fun project inspired by the classic Space Invaders, developed as a C# Console Application for the Systems Analysis and Development (SAD) course.


🎮 About the Project

The game was developed using fundamental concepts such as:

  • Object-Oriented Programming (OOP)
  • Loops and Iteration Structures
  • List Manipulation
  • Collision Detection
  • Game Loop Architecture
  • Console Keyboard Input Handling
  • Code Refactoring and Organization

The player's objective is to destroy all aliens before they reach the spaceship.


🕹️ Gameplay

Controls

  • Move the spaceship:

    • ⬅️ Left Arrow
    • ➡️ Right Arrow
  • Shoot:

    • 🔫 Space Bar
  • Exit the game:

    • ESC

📸 Features

✅ Spaceship movement system
✅ Shooting system with cooldown
✅ Collective alien movement
✅ Collision detection system
✅ Lives system
✅ Score tracking system
✅ Victory screen
✅ Game Over screen
✅ Dynamic HUD
✅ Sound effects using Console.Beep()
✅ Refactored and optimized code


🏗️ Project Structure

SpaceInvadersSAD/
│
├── SpaceInvadersSAD.cs
├── README.md

🧠 Class Structure

🔹 Entity (Abstract Class)

Base class responsible for common properties:

  • X/Y Position
  • Symbol
  • Color

🔹 Spaceship

Responsible for:

  • Player movement
  • Life management
  • Screen boundary control

🔹 Alien

Represents the game's enemies.


🔹 Bullet

Handles shooting and projectile logic.


⚙️ Technologies Used

  • Language: C#
  • Platform: .NET
  • Interface: Console Application

▶️ How to Run

1️⃣ Clone the Repository

git clone https://github.com/your-username/space-invaders-sad.git

2️⃣ Navigate to the Project Folder

cd space-invaders-sad

3️⃣ Build and Run

dotnet run

📚 Concepts Applied

  • Object-Oriented Programming
  • Encapsulation
  • Inheritance
  • Polymorphism
  • LINQ
  • Conditional Statements
  • Loop Structures
  • Collection Manipulation
  • FPS Control

📈 Version History

Date Change
2026-03-12 Initial project creation
2026-03-14 Entity classes refactoring
2026-03-15 Screen size and FPS adjustments
2026-03-18 Victory and Game Over screens added
2026-03-19 Complete refactoring and optimization

👨‍💻 Author

Luis Felipe Dias de Souza

Software Development student focused on Full Stack Development, databases, and software engineering. Passionate about building scalable applications and continuously improving technical skills through hands-on projects.


📄 License

This project is open for educational purposes, learning, and modifications.

About

Classic Space Invaders game developed as a C# Console Application, applying object-oriented programming concepts, collision detection, game loops, inheritance, and sound effects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages