Mundo Encantado is a Role-Playing Game developed as part of the course "Programación II" in the Telecommunications Engineering Degree at the Universidad de Vigo (2019 - 2020).
This project simulates an enchanted world where players compete by managing creatures in a magical environment. The game incorporates concepts of object-oriented programming such as inheritance, polymorphism, and encapsulation, which were key learning objectives of the course.
The project features:
- A turn-based game system where players use creatures to battle.
- Modular design for extensibility.
- Text-based input/output using predefined files for creatures, players, and gameplay.
Make sure you have a Java JDK installed on your system. Then compile all Java classes and generate the .class files with:
javac -d bin src/*.javaThis command creates the compiled files inside the bin/ directory.
Once compiled, you can run the game in one of two modes: Normal Mode or Instructions Mode.
java -cp bin MundoEncantado <-j f_jugadores> <-c f_criaturas> [-r f_reparto] [-o f_partida]| Option | Description | Example |
|---|---|---|
-j f_jugadores |
File containing player data | -j jugadores.txt |
-c f_criaturas |
File containing creature data | -c criaturas.txt |
-r f_reparto |
File containing the allocation of creatures to players | -r reparto.txt |
-o f_partida |
File where the results of the game will be written | -o partida.txt |
java -cp bin MundoEncantado -j test/jugadores.txt -c test/criaturas.txt -r test/reparto.txt -o output.txtjava -cp bin MundoEncantado <-i f_instrucciones> [-o f_salida]| Option | Description | Example |
|---|---|---|
-i f_instrucciones |
File containing instructions for the game execution | -i instrucciones.txt |
-o f_salida |
File where the results of the game will be written | -o salida.txt |
java -cp bin MundoEncantado -i test/instrucciones.txt -o output.txtRefer to Especificaciones.pdf for an in-depth explanation of the project, how the game works, the multiple ways of running the game, example files to use, and more.
The current version is 1.0.0, so changes related to version 2.0.0 are not implemented.