Giter Site home page Giter Site logo

math-battle's Introduction

Math-Battle

This website was tested on Google Chrome with NVDA screen reader, for best results, using these two programs are our recommendation.

Repo link: https://github.com/Kmoran1512/Math-Battle
Link to the Pages: https://kmoran1512.github.io/Math-Battle/
Link to the Video: https://kmoran1512.github.io/Math-Battle/report_video.html

Overview

In Math Battle, your character leads an army of elemental minions into battle against each other. You hire the minions by paying them coins to join your side. In this game, you will be fighting a bot.

Goal

The goal of the game is simple. You want to make it through as many rounds as possible with health remaining.

A Turn

You start with three coins at the beginning of the game, and with the start of each turn, you will get one more coin with an upper limit of 10. So when you start turn four, you will have six coins. At the end of every, if you have not spent all your coins it does not carry over to the next turn. So, if you spent four coins on turn four, on turn five you will still only have seven coins.
Each turn is made up of three phases Recruit, Attack, and Blocking.

Recruit

Once you have your coins for the turn, you can buy any minion in the buy-board for three coins, and sell any minion on your board for one coin. You can only have seven minions under your command at one time, so if you see a minion you want, you have to sell one of yours first. For everything in this game there are two ways to play, you can play with a mouse, or you can play entirely with the keyboard and a screen reader. For buying and selling a minion you must first select the minion. With a mouse do this by clidking on the image of the minion you wish to buy or sell, and for a keyboard use the tab key to bring the focus over the minion you want each minion you focus over will be read out by a screen reader, then press and hold the ctrl and alt keys, and press the enter button to select the minion you have focused. Once you have a minion focused you can either click the buy or sell minion button, or press and hold ctrl and alt, and press the "D" key. You willhear announced that you bought or sold a mininion then you can progress with the game.

Refreshing

If there aren't any minions on the buy-board that you want, you can refresh the buy-board. This happens when you start every new round too, so the minions you saw last round won't be there when you come back. If you want to do this during the Recruit phase each refresh costs one coin. You can either press on the refresh button on the left side of the board, or you can press and hold the ctrl and alt keys and press the "A" key. You can then check to see what new minions are on the buy-board by pressing and holdin the ctrl and alt keys and pressing the "H" key. You can always do the same for your board by pressing and holding the ctrl and alt keys and pressing the "G" key.

Leveling up

During the Recruit phase if you have four coins, you may want to level up. Leveling up means that much stronger minions will appear on the buy-board, and it is the key to winning. If you want to do this during the Recruit phase each refresh costs four coins. You can either press on the level up button on the top-right side of the board, or you can press and hold the ctrl and alt keys and press the "F" key.

Once you have finished the Recruit phase it is time to move on to the Attack phase. You can do this at any time during the Recruit phase by either clicking the Complete Recruit Phase button on the left-side of the page, or by pressing and holding the ctrl and alt keys and pressing the "S" key.

Attack

After the Recruit phase is over, the battle begins. You face off in a one-v-one against a random computer opponent until only one player's minions remain.
This phase is entirely automated, so your minions do all the battling without input. Fighting begins with the left most minions attacking each other then each one looses health equal to the other minions attack, (unless one minion has a type advantage, more on that later) if a minion is ever reduced to or below zero health it dies and is removed from the board. After that each board will be read out and there will be a sound marking the start of the next combat round. Then another attack will ensue, again between the leftmost minions. This continues until only one player has minions left. If your minions are the victor then you win the round and you begin again at the Recruit phase after the victory animation plays. If not then prepare to take damage and the game moves to the Block phase.

Block

After attacks are completed if you are the loser, then prepare to take some damage.
The damage you take is equal to all of the levels of your opponent's minions still alive added together with the level of your opponent. However, you do get a chance to block some of this damage. When the Block phase starts you will be presented with a menu that allows you to chose a shield. If you choose a shield that divides the amount of damage coming in then you only take damage equal to the quotient of the damage and your shield. If the damage coming in is prime, then it cannot be divided by any other numbers, but there is a shield for that. If the incoming damage is prime and you select the prime shield then you only take one third of the damage rounded down. The menu that appears is a third level heading and is a select box, so you can use tab to reach it and select a shield to protect you.
Once you have chosen a shield you need to end the defense round you can do this by selecting the "Complete Block Phase" button on the left side, or by pressing and holding the ctrl and alt keys and pressing the "S" key (the same as ending the Recruit phase).
Once you hear if your block was a success then the Recruit phase has begun again.

Minions

There are many powerful minions all grouped into three categories: Fire, Water, and Grass. Each has a type advantage. The Fire minions focus on attack and do extra damage to grass minions. Water minions are defensive and have a bonus when fighting a fire. Grass minions are well rounded and do more damage when fighting against water minions.
Also, every minion has two stats, an attack and defense. Maximize these in order to win Math Battle!
There are new and exciting minions in all elements at each level, each more powerful than the last. For a full list of the minions, go to the compendium section of Math-Battle's website once you have signed in.

Hot-Keys

For users who might struggle use a mouse there are also hot-keys. As you may have noticed all of these with the exception of the "tab" key to highlight minions (you can also use "shift" and "tab" to go in the reverse direction as "tab") begin by pressing and holding the ctrl and alt keys then pressing an additional key:

  • Enter Key: Selects the minion that has been highlighted by the tab key.
  • A. Key: During the Recruit phase this hot-key will refresh the buy-board.
  • S. Key: Progresses to the next phase, this can be used during the Recruit phase after you are done buying and selling minions and refreshing the buy-board, and this can be used in the Block phase after you have selected a shield.
  • D. Key: During the Recruit phase when a minion is selected either by using the Enter hot-key or by using a mouse this hot-key will either sell or buy a minions depending on if you control it or if it is in the buy-board.
  • F. Key: During the Recruit phase if you have four coins pressing this hot-key will level you up then read out your new level.
  • G. Key: During the Recruit phase this hot-key will read out what minions you have on your board.
  • H. Key: During the Recruit or Block phase this hot-key will read out what minions your opponent has on their board.
  • I. Key: During the Recruit or Block phase this hot-key will read out what round number you are currently on.
  • J. Key: During the Recruit or Block phase this hot-key will read out what level you are currently on.
  • K. Key: During the Recruit or Block phase this hot-key will read out how many coins you currently have.
  • L. Key: During the Recruit or Block phase this hot-key will read out how much health remaining you currently have.
  • B. Key: If at anytime in the game you need help remembering these hot-keys using ctrl + alt + the B key will read out what each one is and what they do to help you remember.

math-battle's People

Contributors

kmoran1512 avatar dawnduskstar avatar christopherzc avatar why-not-0 avatar

Watchers

 avatar

math-battle's Issues

Not working on Chromebook

I click "Start Game" and see the board. I click on a minion and Buy Minion is enabled, but when I click on it nothing happens.

Game Concept and Overall Evaluation

Great job on the game concept. I think this has the makings for a really fun game.
I loved the art and the writeups.

I think the game itself is not fully there yet. I am not sure what is happening each round and I don't know which minions I have or don't have.
I am also not sure how to purchase minions or the results of the fight.
Are we supposed to be using a certain voice over software?

Evaluation

I think the concept is strong and interesting but I'm assuming there is probably more work to be done on the game. It's pretty hard to follow and I am not sure which characters I have purchased or used or who I'm fighting. There also are some pages that say "Under Construction" and some images of the characters that don't load.

Can't see the whole game at 100% scale (Chrome)

In Google Chrome at 100% scale, the cards are too big and you have to scroll too see the rest of the cards. It works if you scale it down manually, but I think it should be scaled down by default

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.