Проект реализует лабораторную работу по моделированию боя покемонов на Java с использованием библиотеки Pokemon.jar из пакета ru.ifmo.se.pokemon.
В рамках задания нужно:
- реализовать классы покемонов для своего варианта;
- реализовать классы атак на основе
PhysicalMove,SpecialMoveиStatusMove; - настроить цепочки наследования по эволюциям;
- собрать две команды покемонов и запустить симуляцию боя.
Pockemon_Java
├── Pokemon.jar
├── README.md
├── generate_report.py
├── report.docx
├── uml.png
├── uml.puml
├── out
│ └── ru/ifmo/se/pokemon/...
└── src
└── ru
└── ifmo
└── se
└── pokemon
├── Main.java
├── moves
│ ├── AncientPower.java
│ ├── BodySlam.java
│ ├── ChargeBeam.java
│ ├── IceBeam.java
│ ├── ShadowClaw.java
│ ├── Slash.java
│ ├── Spark.java
│ ├── Swagger.java
│ ├── ThunderWave.java
│ └── WaterGun.java
└── pokemons
├── Eelektrik.java
├── Eelektross.java
├── Glameow.java
├── Lapras.java
├── Purugly.java
└── Tynamo.java
В проекте реализованы покемоны:
LaprasGlameowPuruglyTynamoEelektrikEelektross
Реализованы атаки:
Ice BeamWater GunSwaggerAncient PowerSlashShadow ClawBody SlamCharge BeamThunder WaveSpark
Цепочки наследования покемонов:
Glameow -> PuruglyTynamo -> Eelektrik -> Eelektross
Все конечные классы без наследников помечены как final. В Main.java создаются две команды по 3 покемона, после чего запускается бой через Battle.
Перейдите в папку проекта:
cd /User/Pockemon_JavaСкомпилируйте исходники:
javac -cp Pokemon.jar -d out $(find src/ru -name '*.java')После компиляции запустите программу:
java -cp Pokemon.jar:out ru.ifmo.se.pokemon.Mainreport.docxсодержит итоговый отчёт по работе.generate_report.pyпересобирает отчёт автоматически.uml.pngиuml.pumlсодержат диаграмму классов проекта.