/minecraftle

A daily puzzle game built with Flask fusing Wordle-style gameplay and crafting recipes

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Minecraftle

A daily puzzle game fusing Wordle and Minecraft crafting recipes built with Flask and JavaScript.

Play Minecraftle

Running

pip install -r requirements.txt
flask run

Contributors

Zach Manson Harrison Oates Tamura Boog Ivan Sossa
Zach's beautiful face Oates' beautiful face Tamura's beautiful face Ivan's beautiful face

CITS3403 Agile Web Development Project 2022

Due date: May 23, 2022 12:00 (noon)

Weighting: 30%

Final mark: 100%

Todo

General Todos:

  • Come up with idea
  • Find Minecraft recipes list
    • Import required recipes into repo (potentially all of them)
  • Back end functionality (50%)
    • A user account and tracking feature.
    • A method to store puzzles and results.
    • A method to update and vet puzzles.
      • given_ingredients.json used to modify potential puzzles
    • A mechanism for users to share their achievements.
  • Front end functionality (50%)
  • 3 page views
    • Instructions and description
    • Actual puzzle interface
      • General structure
      • Crafting tables/Inventory
      • Minecraft-esque appearance
      • Picking up and placing items
      • Item follow mouse movement
      • Freezing past guesses
      • Setting slot colour hints on guess submission
      • Valid crafting recipe check
      • Success screen
    • aggregate results and stats

Misc. Features Todos:

  • Generate shareable emoji text from progressGuess() return tables
    • Make popups that are triggered by winner() and loser() that shows a shareable emoji text like wordle, has button linking to view user stats
  • A system for admins to add/remove from given_ingredients and recipes
  • Make it play nicely on mobile (reactive to device size)
  • An indicator for the guess number
  • UNIT TESTS + SELEIUM TESTS

Submission Todos:

  • Complete writeup in the README.md file
    1. the purpose of the web application, explaining the design of the game
    2. the architecture of the web application.
    3. describe how to launch the web application.
    4. describe some unit tests for the web application, and how to run them.
  • Include commit logs, showing contributions and review from all contributing students (.git is not included so git log must be a seperate file)
  • Add comments and jsdoc
  • Freeze all pip requirements (may just be flask) (pip freeze > requirements.txt)
  • Validation (https://validator.w3.org/)
    • HTML
    • CSS
    • JavaScipt
  • Add references to pictures/recipe json files/libraries/css to references.txt (do this as we go)