Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Type Dasher

A typing game where you have to type fast or die. You're running down a road, obstacles are coming at you, and the only way to dodge them is to type the right words in time.

Built in Java Swing for a university CS project (CS 2212).


What's the game?

You're a runner on a pseudo-3D road. Obstacles come flying at you and you have to react:

  • Some obstacles require you to jump — type the "up" word
  • Some require you to crouch — type the "down" word
  • Some are in a specific lane — type "left" or "right" to dodge

Type the correct word before the timer runs out or you lose a heart. Lose all 3 hearts and it's game over.

The faster you type, the more points you get. Get a combo going for bonus rewards. Grab power-ups to survive longer.


Game Modes

Mode Description
Easy simple short words
Medium medium words and complex short words
Hard longer and complex words (lots of z, x, q, w)
Endless Never ends — gets progressively harder every 10 obstacles

Regular levels are done after you clear 20 obstacles. Endless mode just keeps going until you die.


How to Run

No build tools needed — just Java.

# Compile
javac Main.java

# Run
java Main

Or just open the project in VS Code with the Java Extension Pack and hit Run.


Project Structure

New2212/
├── Main.java               # Start here — sets up the window and screens
├── game/                   # All game logic (obstacles, scoring, power-ups, levels)
├── account/                # Player accounts and login
├── wordlist/               # Word lists and difficulty system
├── Frontend/               # Every UI screen + sprites
│   └── GameScreen/
│       └── Sprites/        # Rendering pieces (road, player, HUD, particles...)
├── renderer/               # Game rendering state
└── data/
    ├── PlayerData.csv      # Player accounts and stats (auto-saved)
    └── words.csv           # Built-in word lists

How Difficulty Works

Word difficulty is calculated automatically based on the word itself:

  • 1-4 letters → Easy
  • 5-6 letters → Medium
  • 7+ letters → Hard
  • Contains rare characters (z, x, v, q, w) → bumped up one tier

The game's time limit for each obstacle starts at 5 seconds and shrinks down to a minimum of 2.5 seconds as you progress.


Accounts & Stats

Every player gets an account. Your stats are tracked across every session:

  • Average WPM and Peak WPM
  • Accuracy %
  • Total words typed and errors made
  • High score
  • Level completion history

Stats are saved to data/PlayerData.csv in real time — every update writes immediately.

Admin Access

There's a separate admin login on the home screen. From there you can:

  • View and manage all player accounts
  • Reset player passwords
  • Import custom word lists from .txt files
  • The admin password is admin

Dependencies

None. Pure Java standard library — just needs JDK 11+.


Team

Built for CS 2212 at Western University by Parth, Amal, Bashar, Omar, Ziyad, second sem 2026

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages