diff --git a/Projects/1-Beginner/Hangman.md b/Projects/1-Beginner/Hangman.md new file mode 100644 index 00000000..760d2398 --- /dev/null +++ b/Projects/1-Beginner/Hangman.md @@ -0,0 +1,47 @@ +# Hangman + +**Tier:** 1 - Beginner + +The classic hangman game implemented in any language! Hangman is a very popular game which tests the players' guessing skills and vocabulary. A player is presented with a +category and a corresponding word belonging to that category is displayed as all blanks (or with just the vowels filled in, based on the version). The player guesses a letter and +if that letter is present in the word, then all blanks where that particular letter occur are replaced. If the player guesses wrong, a line is drawn to complete the hangman figure +and once all lines are drawn / the figure is complete, the player dies or fails the game. This is the typical version i.e while playing by hand but while implementing it programmatically, +the player can be given a certain count of chances / lives to guess before dying. + +- What is the purpose of this application? + + The purpose of this application is to explore programming languages by implementing random word picking, validation of user input and replacement of characters. The data structures + that could be understood with this application include strings, arrays / lists and dictionaries / maps. + +- Are there any resources needed in order to complete the project? + + The only important factor is the understanding of the game, how the validation works and the data structures you'd need depending on the language. + +## User Stories + +- [ ] User can select the category +- [ ] User can view the word in blanks +- [ ] User can receive hint(s) regarding the word displayed +- [ ] User can type their guess +- [ ] User loses a chance for each incorrect guess +- [ ] User can score points if the entire word is correct +- [ ] User dies / does not get any points if their word is wrong or if they run out of chances + + +## Bonus features + +- [ ] Each incorrect guess can be modelled as a line and a hangman figure can be generated using GUI +- [ ] Users can play with each other instead of the computer +- [ ] User can view a leaderboard +- [ ] Timed game + + +## Useful links and resources + +- https://en.wikipedia.org/wiki/Hangman_(game) +- https://docs.python.org/3/tutorial/datastructures.html + +## Example projects +- https://thecleverprogrammer.com/2021/01/15/hangman-game-with-python/ +- https://www.youtube.com/watch?v=tMJbCWHAWQ4 +