My attempt at the Tamagotchi challenge
Project description
Tamagotchi-challenge
A PyGame implementation of the Tamagotchi challenge
Installation instructions
Make sure to have python3.6 installed with the pip package installer.
This is due to the limitations of pygame, it will fail to install for python3.8.
You may also like to create a virtual environment to run it but it is not necessary.
pip3.6 install -r requirements.txt
Running tests
From the base of the Tamagotchi Challenge directory, you can run
python3.6 setup.py test
This will run all the available unit tests and will make sure the correct packages are accessible.
Running the game
For quick play, you can install the package from pypi
pip3.6 install tamagotchi_tandersen
python3.6 -m tamagotchi_tandersen
Run in console if you have the code
python3.6 setup.py install
python3.6 -m tamagotchi
Docker
Parsing in the display to docker is not available to MacOS due to restrictions on the sandbox. For linux it is currently under development.
Controls
The user driven interactions with the pet is done through the keyboard.
There is a list of available foods on the bottom right hand corner that
you may cycle through by pressing either the left arrow key or
right arrow key.
The food showing in the box can be feed to the pet by pressing e.
Over-eating can fill the pets stomach and it will alleviate itself.
There are two gauges to view, the health and energy bar, the energy
bar will go redder and the pet will go to sleep. You may pre-empt an
automatic sleep by telling the pet to go to sleep by pressing s. The
health bar is recovered by eating food, and each type of food impacts
the pets health and fullness differently. Beware no health will cause
the pet to pass away.
The pet will age as time progresses, growing older which can be seen by the change in art. Unfortunately as time goes on, the pet will pass away and that will finish the game with the player having successfully raised a pet having not neglected it.
Aim of the game
You should try your best to take care of the pet by feeding it when it gets hungry and drops health. Beware if it gets tired and goes to sleep you may find yourself unable to feed your pet. Managing these along with a limited food set, and other possible hindrances to feeding your pet are the key to giving your pet the best longevity.
Future development
The game board could be constructed by a factory, that will handle producing the food inventory, the actor - pet etc.
Unifying food inventory and status bars under UI elements for the purpose of drawing.
Need to fix up naming with the StatusBarFactory with StatusElement.
An actor factory that can create NPC actors, and extending the Actor abstract class to include an interaction function that can take in other actors in the game. From there we can extend to look at state retained interactions from simple, 'Nice to see you again' to a friendship tracker.
Extending OO design, random chance special food items like a golden apple could be implemented via decorators. The pet could be a singleton to ensure only one pet actually exists.
Credit
I did not create any of the pixel art used and was taken from the web. Credit to those who spent their time creating these pieces of art. These works are not being used for the purpose of commercial use.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tamagotchi_tandersen-1.0.1.tar.gz.
File metadata
- Download URL: tamagotchi_tandersen-1.0.1.tar.gz
- Upload date:
- Size: 690.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c3dd97eb0f7bfc0da2fdb70bc01354c1eccfe7be1504b6f9a2baedefd4caa3c
|
|
| MD5 |
efdbcc4977330e04bfa56aa7c87e0dee
|
|
| BLAKE2b-256 |
33d91129e5ff33f840151b850e178acd9a3d8f604e105a92bfb724889c7f4785
|