Python-learning quest
First pupil project submission here.
Welcome to Benj's excellent python quest. We r gonna learn us some python basics and make a fun game!
Learning
Literally everyone writes code tutorials online. Here are some good ones:
- https://www.learnpython.org/
- https://www.coursera.org/learn/python-basics
- https://www.udemy.com/course/pythonforbeginnersintro/
- https://www.udemy.com/course/python-core-and-advanced/
- https://www.udemy.com/course/rock-paper-scissors-python/
...and on and on for eternity.
When u want to learn some programming thing, the steps are:
- Figure out what thing you want to learn
- Figure out how to describe the thing in words
- Google it
- Try it
Quest
U r making an RPG. U need 24 points. Each * is 1 point.
Required
Technical
- Use python3
- Use strings, ints, and floats
- Use variables
- Use conditions
- Use lists
- Use for/while loops
- Use functions
- Use classes and objects
Game elements
- Character attributes like hp, strength, xp
- Ability for character to choose between actions
- 6+ monsters
- 6+ items
- Include randomness
- Win and loss conditions (not too easy!)
- Someone named "Blecks"
A la carte
Technical
- Use dictionaries or tuples
- Use f-strings
- Use inheritance at least twice
- Separate your one file into multiple files by using modules
- Use exception handling
- Use the modulus operator (%) meaningfully
- Read/write to files
- Use the internet somehow, like an API
- Use recursion! (DANGER)
- Use version control (GitHub!)
Game elements
- Interesting lore that somehow is connected to the gameplay.
- A special monster that tells riddles.
- Procedurally generated game elements (monsters, names, items, dungeons, etc.). This can count more than once for each time it's done in a different way.
- Add spells and magic
- Use dungeon maps-- some sort of class or data structure that represents levels/location
- Add more complex player attributes that affect the game in different ways such as wisdom, luck, charisma, etc.
- Let monsters / NPCs use items just like you.
- Add complexity to monsters / NPCs: individuals differing from their race, memory, likes/dislikes
- Add background music/sound (probably with a third party library). Bonus if it's dynamic, linked to what's happening in the game.
- Add visuals somehow
- Use WASD controls for player
- Custom goal -- as long as it's approved by Benj