Welcome to Tamagotchi Life, a fun terminal-based game where you get to take care of your own virtual pet! Your mission is to keep your Tamagotchi happy by feeding it, playing with it, and making sure it stays alive. If you neglect it too long, your Tamagotchi may die from hunger or overfeeding! 😢
- 🐾 Create Your Own Tamagotchi: Name your pet and watch it grow!
- 🍲 Feed Your Tamagotchi: Keep your pet's hunger in check by feeding it regularly.
- 🎮 Play Time: Keep your Tamagotchi entertained and happy by playing with it!
- 💀 Life and Death System: If hunger reaches critical levels (either too high or too low), your Tamagotchi will sadly pass away.
- 🖥️ ASCII Art Rendering: Fun, simple visual representation of your pet in the terminal.
- 🔄 Dynamic States: Your Tamagotchi's state changes in real-time based on how you treat it, using the State Design Pattern.
- 🧠 Name Validation: Only valid names are accepted to ensure a great start with your Tamagotchi.
- 🎶
New Music:
Enjoy background music and sound effects that enhances your gameplay experience!
Once the game starts, follow the instructions to name your Tamagotchi. After that, you'll enter the main game loop where you can:
- Press 1 to feed your Tamagotchi 🍲
- Press 2 to play with your Tamagotchi 🎾
- Press 3 to exit the game 🏁
This project demonstrates the use of object-oriented programming (OOP) principles in Java, and utilizes well-known design patterns for clean and efficient code:
- Singleton Pattern: Ensures only one instance of Tamagotchi is created throughout the game.
- State Pattern: Manages the different emotional states of the Tamagotchi (e.g., Happy, Hungry, Dead) and transitions between them based on user actions.
- Separation of Concerns: Clean separation between game logic, input validation, and rendering for easier maintenance and scalability.
- 🌍 Localization: Add support for multiple languages.
- 🎨 Graphics Upgrade: Move from ASCII art to a graphical interface using JPanel or JavaFX.
- 💾 Save/Load System: Allow players to save their Tamagotchi and return later.
- 🌱 Additional States and Behaviors: Add more complex states and behaviors to the Tamagotchi.
- 🏆 Level System: Implement a leveling system to track progress and achievements.
- 🔀 Random Events: Introduce random elements to make gameplay more dynamic and unpredictable.
- 🧩 Mini-Games: Add fun mini-games to keep the player engaged.
- 🤖 Artificial Intelligence: Enhance the Tamagotchi's behavior with basic AI for a more immersive experience.
If you have any questions or feedback, feel free to reach out!
- Email: [email protected]
- GitHub: https://github.com/Sebaspallero