From fed28106f62ad9aed58058402deb4cc89bbf6839 Mon Sep 17 00:00:00 2001 From: mahdi5235 Date: Tue, 25 Jun 2019 23:56:49 +0430 Subject: [PATCH] sounds added and sprite fixed not completely --- Data.txt | 4095 +++++++++++++++++ src/models/Player.java | 3 +- src/models/map/Map.java | 36 +- src/models/match/Match.java | 9 +- .../graphics/GraphicBattleController.java | 62 +- 5 files changed, 4164 insertions(+), 41 deletions(-) diff --git a/Data.txt b/Data.txt index e69de29..c88a768 100644 --- a/Data.txt +++ b/Data.txt @@ -0,0 +1,4095 @@ +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + +￿ + + diff --git a/src/models/Player.java b/src/models/Player.java index c659596..9fe3d17 100644 --- a/src/models/Player.java +++ b/src/models/Player.java @@ -12,6 +12,7 @@ import views.Input; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -118,7 +119,7 @@ public void setCardsId() { private void shuffleDeck() { Hero hero = deck.getHero(); deck.getCards().remove(hero); -// Collections.shuffle(deck.getCards()); + Collections.shuffle(deck.getCards()); try { deck.addCard(hero); } catch (Exception ignored) { diff --git a/src/models/map/Map.java b/src/models/map/Map.java index b8bbacb..a5b75bc 100644 --- a/src/models/map/Map.java +++ b/src/models/map/Map.java @@ -29,7 +29,8 @@ public List getCellsDistance(Cell cell, int distance) { for (int j = -remainedDistance; j <= remainedDistance; j++) { try { cells.add(this.getCell(x + i, y + j)); - } catch (InvalidCellException ignored) { } + } catch (InvalidCellException ignored) { + } } } return cells; @@ -97,10 +98,10 @@ public void insertCard(Card card, Cell cell) throws InvalidCellException, Invali } if (card instanceof Attacker) cell.setAttacker((Attacker) card); if (card instanceof Spell) { - List effectedCells = getEffectCells((Spell) card, cell); - effectedCells.forEach(cell1 - -> cell1.getAttacker().getBuffActivated().addAll(((Spell) card).getBuffs()) - ); +// List effectedCells = getEffectCells((Spell) card, cell); +// effectedCells.forEach(cell1 +// -> cell1.getAttacker().getBuffActivated().addAll(((Spell) card).getBuffs()) +// ); } @@ -110,6 +111,9 @@ private List getEffectCells(Spell spell, Cell cell) throws InvalidTargetCe TargetType targetType = spell.getTargetType(); List targetCells = new ArrayList<>(); Attacker attacker = cell.getAttacker(); + System.out.println(targetType); + if(targetType == null) + return getCells(); switch (targetType) { case MY_HERO: if (attacker == Manager.getActivePlayer().getHero()) { @@ -130,8 +134,7 @@ private List getEffectCells(Spell spell, Cell cell) throws InvalidTargetCe } break; case SQUARE2x2: - //TODO: complete squares! - break; + return getCells(); case SQUARE3x3: break; case ALL_MY_FORCE: @@ -171,8 +174,8 @@ private List getEffectCells(Spell spell, Cell cell) throws InvalidTargetCe } return targetCells; case OPPONENT_HERO: - } + throw new InvalidTargetCellException(); } @@ -184,14 +187,17 @@ public Cell getLeft(Cell cell) throws InvalidCellException { int x = cell.getX(), y = cell.getY() - 1; return getCell(x, y); } + public Cell getTop(Cell cell) throws InvalidCellException { - int x = cell.getX() - 1, y = cell.getY() ; + int x = cell.getX() - 1, y = cell.getY(); return getCell(x, y); } + public Cell getBottom(Cell cell) throws InvalidCellException { int x = cell.getX() + 1, y = cell.getY(); return getCell(x, y); } + public Cell getRight(Cell cell) throws InvalidCellException { int x = cell.getX(), y = cell.getY() + 1; return getCell(x, y); @@ -203,22 +209,26 @@ public List getNeighbors(Cell cell) { final Cell right = this.getRight(cell); cells.add(right); cells.add(getTop(right)); - } catch (InvalidCellException e) { } + } catch (InvalidCellException e) { + } try { final Cell left = this.getLeft(cell); cells.add(left); cells.add(getBottom(left)); - } catch (InvalidCellException e) { } + } catch (InvalidCellException e) { + } try { final Cell top = this.getTop(cell); cells.add(top); cells.add(getLeft(top)); - } catch (InvalidCellException e) { } + } catch (InvalidCellException e) { + } try { final Cell bottom = this.getBottom(cell); cells.add(bottom); cells.add(getRight(bottom)); - } catch (InvalidCellException e) { } + } catch (InvalidCellException e) { + } return cells; } diff --git a/src/models/match/Match.java b/src/models/match/Match.java index 6a37b9a..3cec5cd 100644 --- a/src/models/match/Match.java +++ b/src/models/match/Match.java @@ -244,13 +244,14 @@ public void attack(String cardID) throws CardAttackIsNotAvailableException, } if (((Attacker) opponentCard).getCurrentHealth() <= 0) { addCardToGraveyard(opponentCard); - getActiveCards().remove(opponentCard); + System.out.println(opponentCard.getID()); map.getCards().removeCard(opponentCard); + getActiveCards().remove(opponentCard); } if (((Attacker) card).getCurrentHealth() <= 0) { - addCardToGraveyard(opponentCard); - getActiveCards().remove(opponentCard); - map.getCards().removeCard(opponentCard); + addCardToGraveyard(card); + getActiveCards().remove(card); + map.getCards().removeCard(card); } } diff --git a/src/views/graphics/GraphicBattleController.java b/src/views/graphics/GraphicBattleController.java index 4c30435..2928219 100644 --- a/src/views/graphics/GraphicBattleController.java +++ b/src/views/graphics/GraphicBattleController.java @@ -185,6 +185,7 @@ private void moveCard(AnchorPane cardPane, Rectangle newPosition, Card card) { timeline.play(); new Thread(() -> { ImageView imageView = (ImageView) cardPane.getChildren().get(0); + Graphics.playMusic("sfx_unit_run_charge_4.m4a"); SpriteMaker.getAndShowAnimation(imageView, card.getName(), Action.RUN, 1000); long newTime = System.currentTimeMillis(); while (System.currentTimeMillis() - newTime <= time) { @@ -243,6 +244,7 @@ private void attack(Card myCard, Card enemyCard) { ImageView enemyImageView = (ImageView) enemyAnchor.getChildren().get(0); new Thread(() -> { double actionTime = SpriteMaker.getAnimationTime(myImageView, myCard.getName(), Action.ATTACK, 1); + Graphics.playMusic("sfx_f3_general_attack_impact.m4a"); SpriteMaker.getAndShowAnimation(myImageView, myCard.getName(), Action.ATTACK, 1); long time = System.currentTimeMillis(); while (System.currentTimeMillis() - time <= actionTime) { @@ -253,6 +255,7 @@ private void attack(Card myCard, Card enemyCard) { actionTime = SpriteMaker.getAnimationTime(enemyImageView, enemyCard.getName(), Action.ATTACK, 1); time = System.currentTimeMillis(); SpriteMaker.getAndShowAnimation(enemyImageView, enemyCard.getName(), Action.ATTACK, 1); + Graphics.playMusic("sfx_f3_general_attack_swing.m4a"); while (System.currentTimeMillis() - time <= actionTime) { } @@ -298,6 +301,7 @@ private void clickCell(int row, int column) { } } else { try { + System.out.println("attack"); ClientManager.attack(clickedCard.getID()); attack(selectedCard, clickedCard); @@ -328,8 +332,7 @@ private void clickCell(int row, int column) { }); handAnchorPane.setOnMouseEntered(event -> { }); - - + selectedCard = null; } catch (Player.NotEnoughManaException | Map.InvalidCellException | Map.InvalidTargetCellException | Player.HeroDeadException | Collection.CardNotFoundException ignored) { @@ -342,23 +345,27 @@ private void clickCell(int row, int column) { private void insertCard(int row, int column) { System.out.println(selectedCard); - AnchorPane cardPane = getCardInGame(selectedCard, row, column); - cardViews.put(selectedCard, cardPane); - AnchorPane teleport = new AnchorPane(SpriteMaker.getAndShowAnimation(new ImageView(), "teleport", Action.TELEPORT, 1), - SpriteMaker.getAndShowAnimation(new ImageView(), "teleport1", Action.TELEPORT, 1), - SpriteMaker.getAndShowAnimation(new ImageView(), "teleport2", Action.TELEPORT, 1), - SpriteMaker.getAndShowAnimation(new ImageView(), "teleport3", Action.TELEPORT, 1), - SpriteMaker.getAndShowAnimation(new ImageView(), "teleport4", Action.TELEPORT, 1)); - Rectangle rect = getCardRectangle(row - 1, column - 1); - teleport.setLayoutX(rect.getX() + 150); - teleport.setLayoutY(rect.getY() + 140); - teleport.setScaleX(2); - teleport.setScaleY(2); - teleport.setMouseTransparent(true); - - setCard(cardPane); - setCard(teleport); - selectedCard = null; + if (selectedCard instanceof Attacker) { + AnchorPane cardPane = getCardInGame(selectedCard, row, column); + cardViews.put(selectedCard, cardPane); + AnchorPane teleport = new AnchorPane(SpriteMaker.getAndShowAnimation(new ImageView(), "teleport", Action.TELEPORT, 1), + SpriteMaker.getAndShowAnimation(new ImageView(), "teleport1", Action.TELEPORT, 1), + SpriteMaker.getAndShowAnimation(new ImageView(), "teleport2", Action.TELEPORT, 1), + SpriteMaker.getAndShowAnimation(new ImageView(), "teleport3", Action.TELEPORT, 1), + SpriteMaker.getAndShowAnimation(new ImageView(), "teleport4", Action.TELEPORT, 1)); + Rectangle rect = getCardRectangle(row - 1, column - 1); + teleport.setLayoutX(rect.getX() + 150); + teleport.setLayoutY(rect.getY() + 140); + teleport.setScaleX(2); + teleport.setScaleY(2); + teleport.setMouseTransparent(true); + + setCard(cardPane); + setCard(teleport); + } else { + + + } updateMana(); } @@ -504,9 +511,10 @@ private AnchorPane getCardInGame(Card card, int row, int column) { AnchorPane.setRightAnchor(healthPointBackground, 25.0); AnchorPane.setBottomAnchor(healthPointBackground, 10.0); - Label apLabel = new Label("" + ((Attacker) card).getAttackPoint()); - Label hpLabel = new Label("" + ((Attacker) card).getCurrentHealth()); - + Label apLabel = new Label(""); + Label hpLabel = new Label(""); + apLabel.setText("" + ((Attacker) card).getAttackPoint()); + hpLabel.setText("" + ((Attacker) card).getCurrentHealth()); apLabel.getStyleClass().add("card-data-in-game-label"); hpLabel.getStyleClass().add("card-data-in-game-label"); @@ -556,6 +564,14 @@ public boolean attack(Matcher matcher) { String cardID = matcher.group("cardID"); try { controllers.ClientManager.attack(cardID); + Card card = null; + for (Card card1 : ClientManager.getMe().getActiveCards()) { + if (card1.getID().equals(cardID)) { + card = card1; + break; + } + } + if (card != null) attack(ClientManager.getOpponent().getSelectedCard(), card); if (controllers.ClientManager.getPlayingMatch() == null) { Output.log("Player " + ClientManager.getWinner().getUsername() + " wins."); return false; @@ -634,7 +650,7 @@ public void moveTo(Matcher matcher) { } public void endTurnCommand(Matcher matcher) { -// ClientManager.endTurn(); + ClientManager.endTurn(); endTurn(null); }