Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSshot: A Dual-Player Competitive Arcade Game

Language Library

A fast-paced, 2D competitive shooting game developed as an Advanced Programming (AP) project. It features real-time physics, special power-ups, and a particle-based explosion system.

Core Features

  • Local Multiplayer: Face-off against a friend using shared-screen controls (WASD vs. Arrow Keys).
  • Dynamic Physics & VFX: - Particle Systems: Realistic smoke and explosion effects using custom math vectors.
    • Muzzle Flashes: Dynamic transparency (alpha blending) for realistic gunshots.
  • Special Items (Power-ups):
    • Extra Time: Adds precious seconds to your clock.
    • Ammo Crate: Refills your bullet count.
    • Frozen: Freeze your opponent for a tactical advantage.
  • Distance-Based Scoring: The further the shot, the higher the points! (1-10 points range).

Technical Highlights (OOP Architecture)

This project focuses on clean Object-Oriented Programming:

  • Inheritance: The Items class inherits from Target, specializing behavior for power-ups while reusing core collision logic.
  • State Management: Efficiently handles player "Frozen" states and "Time-up" conditions.
  • Audio Engine: Integrated sound effects for hits, countdowns, and background ambiance.

How to Play

  1. Player 1: Move with W, A, S, D and shoot with SPACE.
  2. Player 2: Move with Arrow Keys and shoot with ENTER.
  3. Goal: Hit targets to score. Watch out for special items to outsmart your opponent!

Installation

# Clone the repository
git clone [https://github.com/NegarR6/Your-Repo-Name.git](https://github.com/NegarR6/Your-Repo-Name.git)

# Install Pygame
pip install pygame

# Run the game
python main.py

About

A competitive 2D multiplayer shooter built with Python and Pygame, featuring OOP architecture and custom particle effects.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages