Giter VIP home page Giter VIP logo

word-triad-game's Introduction

Word Triad Game

View the live project here

Index โ€“ Table of Contents

Introduction

Welcome to the Word Triad Game! Test your word-solving skills and enjoy a collection of engaging word games. Unscramble words, play hangman, and guess numbers to earn points and have fun. Improve your vocabulary while enjoying the challenge. Let's jump into the world of words and start playing the Word Triad Game!

Word Triad Game Mockup Images

User Experience (UX)

User stories

  • As a player, I want to see a welcoming message.
  • As a player, I want to be able to select a game from the start menu.
  • As a player, I want to be able to choose a difficulty level.
  • As a player, I want to receive instructions on how to play the game.
  • As a player, I want to be challanged.
  • As a player, I want to be informed about my progress.
  • As a player, I want to be able to play multiple rounds of a game, without restarting the app.

Features

Existing Features

  • Menu

    • The WordTriadGame starts with a menu where the user can choose from different game options.

      Menu

  • Scramble Game

    • The first option is ScrambleGame.

      Scramble

    • The user has to choose the difficulty level of the game.

    • Invalid message will appear if the option is not written correctly.

      Scramble

    • If typing 'quit' will go back to the main menu.

    • The user has to unscramble the word displayed to achive points.

    • The word is randomly choosed from the Google Sheets document based on difficulty level.

    • A message will let the user know if he unscramble the word correctly or not.

    • At the end of the game the user see a 'thank you' message and the score.

    • The user has the option to 'play again' or to 'go back' to the main menu.

      Scramble

      Scramble

  • Hangman Game

    • The second option is HangmanGame.

      Hangman

    • The user has to choose the difficulty level of the game.

    • Invalid message will appear if the option is not written correctly.

      Hangman

    • If typing 'quit' will go back to the main menu.

    • Will be displayed to the user: the attempts remaining, a list with the gussed letters, the word to guess will be hiden by '_' and an input.

    • A message will let the user know if he guessed the letter typed correctly or not.

    • Invalid message will appear if the user is typing a number or multiple letters.

      Hangman

    • At the end of the game the user see a 'thank you' message and the score.

    • The user has the option to 'play again' or to 'go back' to the main menu.

    • Invalid message will appear if the option is not written correctly.

      Hangman

      Hangman

  • Guessing Game

    • The third option is GuessingGame.

      Guessing

    • A welcome message is displayed.

    • The user need to guess a randomly generated number between 1 and 10.

    • A message will let the user know if the typed number is to low, to high or correct.

    • Invalid message will be displayed if you choose another charachter then a number.

    • At the end of the game the user see a 'thank you' message.

    • The user has the option to 'play again' or to 'go back' to the main menu.

      Guessing

  • Exit

    • The user can choose to exit the game at any time

    • A specific message will be displayed.

      Exit

Data Model

  • Google Sheets:

    • is used as a data source for storing the word lists for the Scramble and Hangman games.
  • Google API:

    • is used to access and retrieve data from Google Sheets document.
    • a service account and credentials are required for authentication and authorization.
  • Data Structure:

    • the word lists is stored in a dataFrame.
    • each row representing a word with an associated metadata such as difficulty level.
  • In-memory Data:

    • during the gameplay, the selected word list, the used words and scores are stored in memory.

Issues and Bugs

  • Solved

    • The score of the Scramble game does not appear
      • I fixed the issue by moving the next-action code block at the end of the function.
    • The quit option wasn't work correctly
      • I fixed the issue by removing the call of the main function

Language Used

Frameworks, Libraries & Programs Used

  • Google API: and Google Sheets: was used to access and retrieve word lists stored in the Google Sheets document.
  • GitHub: is used as the respository for the projects code after being pushed from Git.
  • Heroku: was used for deploy.
  • Colorama: was used to add styling to the prompt text.

Testing

User Tests

Test Case Navigation and Menu
Test Navigate through the menu options and go back to the main menu.
Action Choose different games, play them, and go back to the main menu.
Expect Verify if the menu options work as aspect, the user is able to select different games, play them, and go back to the main menu without any issues.
Test Case Scramble Game
Test Start the Scramble Game and choose a difficulty level.
Action Try to unscramble the word by entering your guess.
Expect Verify if the game correctly checks your guess and gives feedback on whether it is correct or incorrect. Test different difficulty levels and ensure the game behaves as expected.
Test Case Hangman Game
Test Start the Hangman Game and choose a difficulty level.
Action Guess letters to expose the hidden word within the given attempts.
Expect Verify if the game displays correctly the hidden word, tracks the guessed letters, and provides feedback on correct and incorrect guesses. Ensure the game ends correctly when all attempts are used or the word is correctly guessed.
Test Case Guessing Game
Test Start the Guessing Game and play multiple rounds.
Action Enter guesses to find out the randomly generated number.
Expect Verify if the game accepts valid numeric guesses, provides feedback on whether the guess is too high or too low, and ends correctly when the correct number is guessed or all attempts are used.
Test Case Quit/Exit and Restart
Test Test the quit/exit and restart functionality within the games.
Action Choose to quit a game and verify if it returns to the main menu. Choose to restart a game and ensure it starts a new round without any issues. Choose to exit from the main menu and ensure the end of the WordTriadGame.
Expect Verify if the quit option returns the user to the main menu. If the restart option properly restarts the game without any leftover data from the previous round. And If the exit option will display a goodbye message.

Deployment

  • This project was developed using CodeAnyWhere.
  • I have used the terminal to commit changes in my GitHub repository.
  • In the GitHub I have created Issues, the commits are related to the Issues.

Deploying on Heroku Pages

To deploy this game to Heroku Pages from GitHub repository, the following steps were taken:

  1. Log into GitHub or create an account.
  2. Locate the GitHub Repository.
  3. Create an account on Heroku:.
  4. Create a new Heroku app.
  5. Set the BuilPacks and the Config Vars.
  6. Link the Heroku app to the git hub repository.
  7. Click on Deploy.

Credits

Content

word-triad-game's People

Contributors

georgeh23 avatar

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.