Giter Site home page Giter Site logo

simon-memory-game's People

Watchers

 avatar

simon-memory-game's Issues

GUI Implementation

Requirements

  • There is a button in the middle of the screen for “Start New Game”. If you click this button, the game will start.
  • There are 4 buttons around the middle representing RED, GREEN, YELLOW, and BLUE.


You should use the C++ library called Nana for doing the graphical interface and for playing the audio.

Clarify with the professor if it is fine to use Qt as it is more prevalent and has better documentation.

Interrupting button presses

Fix the bug where the user can still click on buttons during sequence display execution triggering wrong input events.

Game Implementation

Requirements:

  • The game shows the sequence by lighting up one of the buttons for 0.5 seconds and playing one of the 4 music notes.
  • Once the program has shown the sequence, the user must then click the 4 colour buttons in the same order that the program generated. If the user presses the correct sequence, then the program adds one more colour to the sequence and you repeat.
  • If the user types in a wrong colour that is not the next one in the sequence, then the program should show a message saying that they picked the wrong colour, and at what level of the game they made it to. For instance: “Sorry, the wrong colour. You made it to round 6 of the game”. This means they were attempting to recreate a sequence of 7 colours when they typed in the wrong colour.
  • The user should then be given the option to play the game again or to quit. If they choose to play again, then the game starts over. If the user chooses to quit, then the game ends.
  • If the user doesn’t hit a button within 5 seconds of the last button they hit, then the game is over and the program shows the same end game message as in step 5.

Hints: You should use a std::vector object to store the correct colour sequence, and an integer to show what step of the sequence that the user is currently picking. When the user finishes a sequence correctly, generate a new random colour and add it to the correct sequence. Then the integer resets to 0, and the user starts clicking on the colour buttons to start the new sequence all over again.

Dynamic nested form size/location

Current nested forms don't support resizing or maximizing the main form window. If possible, dynamically change the form size/location based on the dimensions of the main window.

Simon Logo

During the game and until the game over, display an aligned logo for the Simon game in the empty nested form. Once game over is reached then hide it for it to be replaced with the end game label.

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.