LEGENDARY-CREATURE-CITY-BUILDER 1
This package contains implementation of the offline strategy RPG "LEGENDARY_CREATURE_CITY_BUILDER" on command line interface.
License: MIT

# LEGENDARY_CREATURE_CITY_BUILDER

"Legendary Creature City Builder" is an offline strategy and social-network RPG on command line interface 
inspired by "Dragon City"
(https://play.google.com/store/apps/details?id=es.socialpoint.DragonCity&hl=en_NZ&gl=US) and "Monster Legends"
(https://play.google.com/store/apps/details?id=es.socialpoint.MonsterLegends&hl=en_NZ&gl=US). In this game, the players 
grow and train legendary creatures, and bring them for battles.

# Executable File

The executable file is downloadable at 
https://github.com/NativeApkDev/LEGENDARY_CREATURE_CITY_BUILDER/blob/master/LEGENDARY_CREATURE_CITY_BUILDER/dist/legendary_creature_city_builder/legendary_creature_city_builder.

# Source Code

Python code used to create the game is available in 
https://github.com/NativeApkDev/LEGENDARY_CREATURE_CITY_BUILDER/blob/master/LEGENDARY_CREATURE_CITY_BUILDER/legendary_creature_city_builder.py.

# Installation

Enter the command "pip install LEGENDARY_CREATURE_CITY_BUILDER".

# Unit Tests

Python unit tests created using Python's "unittest" module, testing basic functionalities of the game is available in
https://github.com/NativeApkDev/LEGENDARY_CREATURE_CITY_BUILDER/blob/master/LEGENDARY_CREATURE_CITY_BUILDER/legendary_creature_city_builder_tests.py.
The tests are all automated and related to user inputs in the game.

# How to Use the Executable File?

First, open by double-clicking the file "legendary_creature_city_builder". How the executable file looks like 
is shown in the image below (the file is enclosed with a red rectangle).

### Image 1

![Executable File](images/Executable%20File.png)

# Getting Started

After you run the game, you will be asked to enter your name. If a saved game data with your name exists, 
that saved game data will be loaded. Else, you will be told to create a new saved game data using your name.

### Image 2

![Getting Started](images/Getting%20Started.png)

# Main Menu

Once you loaded a saved game data or created a new game data, you will be asked whether you want to continue 
playing the game "Legendary Creature City Builder" or not. If you enter "Y", you will be able to do various activities 
(e.g., feed legendary creatures, buy items, battle in levels you unlocked, place eggs, play minigames, etc) in the game. 
The activity you want to do can be chosen by entering an input as instructed in the command line interface 
(see "Image 4").

### Image 3

![Main Menu 1](images/Main%20Menu%201.png)

### Image 4

![Main Menu 2](images/Main%20Menu%202.png)

# The Game

In the game, you will be able to do any of the actions as shown in "Image 4". The actions are described as below.

* <b>PLAY ADVENTURE MODE</b> -> play in levels you have unlocked. The more levels you have cleared, the more levels you 
unlock and can battle in.
* <b>MANAGE PLAYER CITY</b> -> build, level up, and remove buildings in your player city. Trees can be built for decorations; 
obstacles can be removed; and buildings to strengthen legendary creatures (e.g., magic altar), 
produce resources (e.g., gold mine, food farm, and gem mine), increase legendary creatures' EXP (i.e., training area), 
increase gold production rate of legendary creatures (i.e., habitat), and so forth can be built.
* <b>MANAGE BATTLE TEAM</b> -> add and remove legendary creatures from your team. The leader of your battle team can
also be changed.
* <b>MANAGE LEGENDARY CREATURE INVENTORY</b> -> this allows you to remove legendary creatures which you do not use.
* <b>MANAGE ITEM INVENTORY</b> -> sell items and/or level up runes in the item inventory.
* <b>MAKE A WISH</b> -> gain random rewards (i.e., items or resources such as gold and gems) from making a 
wish using the temple of wishes.
* <b>FUSE LEGENDARY CREATURES</b> -> fuse two legendary creatures into a stronger one with elements combined.
* <b>PLACE EGG</b> -> place an egg in a hatchery to be hatched to produce a new legendary creature.
* <b>FEED LEGENDARY CREATURE</b> -> feed a legendary creature to increase its EXP and even level it up.
* <b>GIVE ITEM</b> -> give an item to a legendary creature to strengthen that legendary creature.
* <b>POWER UP LEGENDARY CREATURE</b> -> strengthen a legendary creature by sacrificing some other legendary creatures 
as power-up materials. This requires a power-up circle.
* <b>EVOLVE LEGENDARY CREATURE</b> -> increase the rating of a legendary creature to make it able to reach higher 
levels. This also requires a power-up circle.
* <b>MANAGE HABITAT</b> -> add and remove legendary creatures from a habitat in your player base.
* <b>MANAGE TRAINING AREA</b> -> add and remove legendary creatures from a training area in your player base.
* <b>PLACE RUNE</b> -> place a rune in a legendary creature you have.
* <b>REMOVE RUNE</b> -> remove a rune from a legendary creature you have.
* <b>PLAY MINIGAME</b> -> play a minigame to gain rewards in this game. You can choose from "Box Eats Plants", 
"Match Word Puzzle", and "Match-3 Game". 
  - In "Box Eats Plants", your goal is to get the box to eat as many plants as 
  possible without hitting a rock. The reward in this game is proportional to your score (i.e., number of plants eaten).
  - In "Match Word Puzzle", your goal is to find matching pairs of words out of all tiles on the board as fast as possible.
  The reward in this game is inversely proportional to your time taken to match all pairs of words.
  - In "Match-3 Game", your goal is to swap tiles to get matching tiles (tiles can be removed after at least 3 
  consecutive matching tiles are present). The reward in this game is proportional to the number of matching tiles you achieve.
* <b>BATTLE ARENA</b> -> Battle against a CPU controlled player as your opponent.
* <b>BUY ITEM</b> -> buy an item from the item shop.
* <b>VIEW STATS</b> -> view your stats in the game (e.g., your level, EXP, amount of EXP you need to have to 
get to the next level, and so forth).