rjur11 / Keyboard-Smasher

A keyboard friendly version of Dance Dance Revolution! Written completely in Python for my term project in CMU's 15-112 Fundamentals of Programming and Computer Science Class

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Keyboard Smasher- CMU 15-112: Fundamentals of Programming and Computer Science Term Project

Welcome to Keyboard Smasher

What is Keyboard Smasher?

Keyboard Smasher is the computer-friendly version of Dance Dance Revolution that you never knew you needed! This rhythm game allows a user to tap out beat patterns to their favorite songs, using only four keys on their keyboard. There are also many different customizable features to really make each game your own.

Features

  • Comes with a handful of built in songs and pre-made levels
  • In depth instructions explaining the entire app
  • User can customize background images, arrow shapes, keybindings, arrow speed and direction
  • User can create their own levels
  • High scores pages with persistant storage data
  • Keyboard shortcuts to move through the application pages

Technologies Used

  • Pygame
  • Python
  • Tkinter and CMU 112 Graphics
  • Aubio
  • Pyaudio

Check out the Game!

The user first encounters the main loading screen of Keyboard Smasher after loading up the app. There are plenty of short cuts avaiable (click "H" to open up the shortcuts menu), or a user can select from "Select Level", "Instructions", or the Scores pages.

Main Page

Lets play a game! There are many preloaded levels built into Keyboard Smasher, so all a user needs to do is select one that sounds interesting to them, and play away! If the user needs to quit a game at any point, "Q" can be selected to force end the game and return to menu.

Some gameplay

After the game, the user will receive a score breakdown. A grid shows the progression of combo (black line) and score (blue line) over the course of the game. The max combo a player can reach is 4, and whenver a combo is broken, the black line will plummet down to 0 again. Users have the option to go Save their score to the high scores list, replay, select another level, or head to the settings page. Clicking "M" will return the user to the menu page.

score-page

One of the coolest part of this game is that a user can create their own level by clicking "C" on the Select Level page. Just input a music file and once the user starts the song, they can punch out beat patterns to the song as it plays (sadly, gifs cant play sound!). The user can see their patterns on the screen as the arrows light up. When done, click "S" and you can see your new game in the levels list!

Create a level!

And finally, if the user is feeling like changing things up, they can access the Settings page by hitting "E". There, they have the chance to change arrow speed, shape, direction, the keybindings associated with each arrow, and a background image if they so choose!

Settings Page

Demo Video

Keyboard Smasher Demo

How to Download

coming soon

Created by

Rana Jurjus Github

About

A keyboard friendly version of Dance Dance Revolution! Written completely in Python for my term project in CMU's 15-112 Fundamentals of Programming and Computer Science Class


Languages

Language:Python 100.0%