Giter VIP home page Giter VIP logo

abacus's Introduction

Abacus Battle Royale

  • Compete with other players in real time to solve problems with a digital abacus quickly
  • Improve your skills with solo practice mode
  • Learn more about the history of the abacus with informative articles
  • Intuitive keyboard controls

Contributing Guidelines

PULL BEFORE YOU PUSH

abacus's People

Contributors

wangzi190 avatar slimeyturtles avatar xiaoa0 avatar

Watchers

Michael_Scopic avatar  avatar

abacus's Issues

Project approval

Concept

Online abacus multiplayer game where players can join public or private games
Select number of digits and operations for problems before starting
Solo mode with self-inputted or generated problems
Will use arrays to track keyboard input to abacus class

Wireframes

Examples

Work plan

Start by building abacus display and operations with keyboard controls
Focus on optimizing response time, possibly with Javascript
Random problem generator that takes number of digits as parameter
Multiplayer games come after basics


Individual work

Allie
Avinh
Soren

N@TM

Capture the moment

N@tM: 4/4

  • Theme: 1/1, setup with frontend on display and Soren's abacus to use for demo
  • Presentation: 1/1, highlighted specific details of work and made connections between core functions and code principles
  • Professionalism: 1/1

Backend: 4/5

Frontend: 2.3/3

Commits

Insights

Team lesson

Methods

  • AP FRQ
  • Essentially a function in Java that can be called after being defined in a class
  • Use methodName(); syntax to call
public static int numberOfLeapYears(int year1, int year2) {
   int counter = int year1;
   for (int a = year1; a <= year2; a++) { // taking a as a parameter, setting boundaries as between year1 and year2
      if (isLeapYear(a)) { // checking if year value is leapyear
         counter++; // adding 1 to counter if true
         }
      }
   return counter; // returning final count after 
   }

Control Structures

if(condition 1) {
    // code for if condition is true
} else if (condition 2) {
    // code for if condition 2is true
} else if (condition 3) {
    // code for if condition 3 is true
} else {
    // code for if all other conditions are false
}

                for (int row = 0; row < monkeyCount; row++) {  //cycles through "cells" of 2d array

                    // prints specific part of the monkey from the column
                    System.out.print(monkeys[row][col] + " ");

                }

                //this new line gives separation between stanza of poem
                System.out.println();
            }

Other references

W3SCHOOLS

Project brainstorming

Abacus game

  • Website to teach the basics of using an abacus
  • Informational page as well as competitive practice/game mode
  • Practice page where user is given calculations to do (can select difficulty)
  • Competition mode where user can play against another user or a bot, each win/loss leads to change in digits of calculations (5-20)

Work delegation

  • Soren: teach/refer to resources for how an abacus works (probably cover info page?), code other miscellaneous features
  • Avinh and Allie: integrate main features along with Soren, work on CSS styling
  • Michael: deployment/other assignments

abacus battle royal:

* like tetris 99 for abacus

Deployment

  • Deploy the website on AWS or raspberry PI
  • Figure out how to connect multiple computers to one host idk man

Game Class

  • compares two users and makes them duel in high combat
  • they both are given math problems and whoever does it slower gains heat level
  • keeps looping for multiple users until there is only one winner
  • can do other things later to make the game more interesting

Abacus Front End

  • Updatable Abacus front end that changes the Abacus class and decimal number display in real time

Abacus

Abacus/User Class

  • A class that does computation with a datastructure that can be viewed as an abacus
  • A 2d array [[column], [[Top notch], [# in bottom notches]], [1, 2], [0, 4], [0, 0]]
  • Converts abacus notation into decimal [[0, 2], [1, 4], [1, 2]] = 297
  • Keeps track of user heat level (like tetris 99)
  • If heat level is too high user loses and they get a lose screen and is kicked from the game
  • heat level is given by the Game class if they compute something slower

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.