## Linux compilation > mkdir build > cd build > cmake -DCMAKE_BUILD_TYPE=Debug .. > make ## Exercise 1 * Go into directory Core and implement ShipStrategy as a template class * Strategy should have one pure virtual function: Res handle(T&) * Implement in directory Ship class ShipEasyDifficultLvlStrategy * Each cargo supplies 2 sailors, so if you have 40 crew, you need 20 banas and 20 rum * Implement NextDay by using strategy class * Run code, and verify result ## Exercise 2 * Implement in directory *Player* class *PalyerEasyDifficultLvlStrategy*     * Strategy should roll a die (1-20):     * If result is lower than 5 -> 0 DMG     * If result is higher than 19 -> multiple damage by 2     * Damage should be rolled from (25 to 50)     * deal damage to the ship and return how much damage was deal. Print it in console * Add all necessary implementation to the *Enemy* file * Test it ## Exercise 3 * Implement tow new classes *EnemyHardDifficultLvlStrategy* and *ShipHardDifficultLvlStrategy* * Strategy for Ship, should subtract cargo equal crew size     * Strategy for Enemy should roll a die (1-20):     * If result is lower than 3 -> 0 DMG * If result is higher than 15 but not equal 20 -> multiple damage by 3     * If result is higher than 19 -> multiple damage by 3     * Damage should be rolled from (30 to 60) * You shouldn't modify any existing file, except the main.cpp, where you should use a new strategy * Run code and verify the result