Swingy is a simple game, where you play as hero, fighting monsters. After defeating a monster, you get experience and may get an artefact, which can be a helm, an armor or a weapon. Helms add HP to your hero, armors add defense, weapons are needed for fighting. When you collect enough experience, you get new level. Goal of the game is to get to level 8.
There are four classes : warrior, swordsman, assassin and mage. All classes have only one difference - each has unique weapons, some weapons are shared.
There multiple categories of weapons :
- Hammers - used only by warriors. Deal stable damage, have a strong, but pretty rare attack.
- Swords - used by warriors and swordsmans. Deal damage with some variations, some have unique attacks.
- Rapiers - used only by sowrdsmans. Deal stable damage and have good chance of critical attack.
- Scimitars - used by swordsmans and assassins. Deal very varying damage (can be very low or very high).
- Daggers - used only by assassins. Deal low damage, but have largest critical attack chance.
- Stuff - special weapons of mages. Most of them have multiple attacks with good damage. However the most powerful one is pretty strange and unstable, but deals largest damage in all the game.
mvn clean install
java -jar target/swingy.jar [console/gui]
console - launch in console mode
gui - launch in GUI mode
use-database - load heroes from a database, needs MySQL server
better-escaping - allows to always escape from enemies with lower level, than hero
better-dropping - don't offer a new artefact, if hero has this artefact or has better one of this kind
- Знакомство с паттерном MVC (Model-View-Controller)
- Обобщенный Model-View-Controller
- Model–view–controller
- How to Switch the Algorithms at Runtime with Strategy Pattern in C#
- Наблюдатель на Java
- Java Swing tutorial
- FlatLaf - Flat Look and Feel
- MigLayout - Java Layout Manager for Swing, SWT and JavaFX
- Чтение и запись YAML файлов на Java с Jackson
- @Getter and @Setter
- Java Bean Validation Basics