GithubHelp home page GithubHelp logo

flashcards's People

Contributors

dependabot[bot] avatar elleshadow avatar hannahhch avatar niksseif avatar thatpamiam avatar

flashcards's Issues

Add README.md

As a developer when I view the README I would like to see the following, in this order:

  1. Abstract at the top (A sentence or two describing the project)
  2. A GIF of the working application
  3. Technologies used
  4. Install/Setup instructions

Game

As you may have noticed, your Game class has two methods fleshed out already: printMessage and printQuestion. We are going to abandon testing for these methods - as the techniques for this type of testing are beyond the scope of this project.

Your Game class should meet these other requirements:
Should keep track of the currentRound
start: method that starts everything
Creates Cards
Puts Cards in a Deck
Creates a new Round using the Deck
invokes printMessage to display the message in the CLI
invokes printQuestion to kick off our helper functions that allow interaction via the CLI
Note: The helper functions are all fleshed out and fit to work with classes/methods that meet the requirements in the past iterations.

Your game.start() method should be invoked to make the game playable.

Round

  • Your Round class will be the object that takes in responses and records these guesses (as well as if they are correct or incorrect). The currentCard should be the first Card in the Deck (the array of Cards) at the start of the Round

  • Your Round class should meet the following requirements:
    returnCurrentCard: method that returns the current card being played
    takeTurn: method that updates turns count, evaluates guesses, gives feedback, and stores ids of incorrect guesses

  • When a guess is made, a new Turn instance is created.
    The turns count is updated, regardless of whether the guess is correct or incorrect

  • The next card becomes current card
    Guess is evaluated/recorded. Incorrect guesses will be stored (via the id) in an array of incorrectGuesses

  • Feedback is returned regarding whether the guess is incorrect or correct

  • calculatePercentCorrect: method that calculates and returns the percentage of correct guesses

  • endRound: method that prints the following to the console: ‘** Round over! ** You answered <>% of the questions correctly!’

Options for mixed datasets

At the beginning of the game, give options for choosing to study different subjects (have a dataset for one subject and another subject), as well as the option for mixing all of the subjects together.

project board

Use a project board to guide your workflow Use a tool like GitHub projects or Trello to split up iteration items into small tasks.

Turns

  • Your Turn class should meet the following requirements:
  • Instantiated with two arguments - a string (that represents a user’s guess to the question), and a Card object for the current card in play.
  • returnGuess: method that returns the guess
  • returnCard: method that returns the Card
  • evaluateGuess: method that returns a boolean indicating if the user’s guess matches the correct answer on the card
  • giveFeedback - method that returns either ‘incorrect!’ or ‘correct!’ based on whether the guess is correct or not.

Report Card

At the end of the game, create a report card that would detail any answers that the user got wrong as well as how many tries each question took.

Deck

  • Your Deck class should be initialized with an array of Card objects and should have an accompanying test file.
  • It should know how many Cards are in the Deck.

Timer

At the end of the game, report how much time it took to complete the game (in minutes and seconds).

Build out another study/flashcards dataset

Create a new dataset that is structured similarily to our prototypes dataset. This dataset should be reviewing another fundamental topic and should live in the same data.js file.. Update your application so that once the first Round is over (and thus, the Game is over), a new Round starts with the new dataset that you’ve created.

Cards

  • A Card represents a single flashcard
  • Each card has an id, a question, possible answers, and a correct answer

More practice

Add functionality so that a score of less than 90% will require the user to go through the entire dataset again.

Review incorrect answers

Add functionality so that the Round (and thus, the Game) does not end after you’ve gone through all of the cards. The player should then be prompted to try to guess again, reviewing only those cards that are stored as incorrect.

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.