commit 1c18461af2240eb7b5cbde2ed18a1d684a178d7b Author: marblexu <314299052@qq.com> Date: Wed Aug 28 21:49:09 2019 +0800 first version diff --git a/main.py b/main.py new file mode 100644 index 0000000..9421809 --- /dev/null +++ b/main.py @@ -0,0 +1,6 @@ +import pygame as pg +from source.main import main + +if __name__=='__main__': + main() + pg.quit() \ No newline at end of file diff --git a/resources/graphics/Bullets/PeaIce/PeaIce_0.png b/resources/graphics/Bullets/PeaIce/PeaIce_0.png new file mode 100644 index 0000000..462659d Binary files /dev/null and b/resources/graphics/Bullets/PeaIce/PeaIce_0.png differ diff --git a/resources/graphics/Bullets/PeaNormal/PeaNormal_0.png b/resources/graphics/Bullets/PeaNormal/PeaNormal_0.png new file mode 100644 index 0000000..13506b3 Binary files /dev/null and b/resources/graphics/Bullets/PeaNormal/PeaNormal_0.png differ diff --git a/resources/graphics/Bullets/PeaNormalExplode/PeaNormalExplode_0.png b/resources/graphics/Bullets/PeaNormalExplode/PeaNormalExplode_0.png new file mode 100644 index 0000000..865c43f Binary files /dev/null and b/resources/graphics/Bullets/PeaNormalExplode/PeaNormalExplode_0.png differ diff --git a/resources/graphics/Cards/card_cherrybomb.png b/resources/graphics/Cards/card_cherrybomb.png new file mode 100644 index 0000000..fba0aae Binary files /dev/null and b/resources/graphics/Cards/card_cherrybomb.png differ diff --git a/resources/graphics/Cards/card_peashooter.png b/resources/graphics/Cards/card_peashooter.png new file mode 100644 index 0000000..5b4f3df Binary files /dev/null and b/resources/graphics/Cards/card_peashooter.png differ diff --git a/resources/graphics/Cards/card_snowpea.png b/resources/graphics/Cards/card_snowpea.png new file mode 100644 index 0000000..57fb883 Binary files /dev/null and b/resources/graphics/Cards/card_snowpea.png differ diff --git a/resources/graphics/Cards/card_sunflower.png b/resources/graphics/Cards/card_sunflower.png new file mode 100644 index 0000000..4aea97b Binary files /dev/null and b/resources/graphics/Cards/card_sunflower.png differ diff --git a/resources/graphics/Cards/card_wallnut.png b/resources/graphics/Cards/card_wallnut.png new file mode 100644 index 0000000..2b7752d Binary files /dev/null and b/resources/graphics/Cards/card_wallnut.png differ diff --git a/resources/graphics/Items/Background/Background_0.jpg b/resources/graphics/Items/Background/Background_0.jpg new file mode 100644 index 0000000..2263114 Binary files /dev/null and b/resources/graphics/Items/Background/Background_0.jpg differ diff --git a/resources/graphics/Items/Background/Background_1.jpg b/resources/graphics/Items/Background/Background_1.jpg new file mode 100644 index 0000000..8b8fc26 Binary files /dev/null and b/resources/graphics/Items/Background/Background_1.jpg differ diff --git a/resources/graphics/Items/Background/Background_2.jpg b/resources/graphics/Items/Background/Background_2.jpg new file mode 100644 index 0000000..2c2e704 Binary files /dev/null and b/resources/graphics/Items/Background/Background_2.jpg differ diff --git a/resources/graphics/Items/Background/Background_3.jpg b/resources/graphics/Items/Background/Background_3.jpg new file mode 100644 index 0000000..cc8dd2e Binary files /dev/null and b/resources/graphics/Items/Background/Background_3.jpg differ diff --git a/resources/graphics/Plants/CherryBomb/CherryBomb_0.png b/resources/graphics/Plants/CherryBomb/CherryBomb_0.png new file mode 100644 index 0000000..ede961a Binary files /dev/null and b/resources/graphics/Plants/CherryBomb/CherryBomb_0.png differ diff --git a/resources/graphics/Plants/CherryBomb/CherryBomb_1.png b/resources/graphics/Plants/CherryBomb/CherryBomb_1.png new file mode 100644 index 0000000..827bc87 Binary files /dev/null and b/resources/graphics/Plants/CherryBomb/CherryBomb_1.png differ diff --git a/resources/graphics/Plants/CherryBomb/CherryBomb_2.png b/resources/graphics/Plants/CherryBomb/CherryBomb_2.png new file mode 100644 index 0000000..0706f24 Binary files /dev/null and b/resources/graphics/Plants/CherryBomb/CherryBomb_2.png differ diff --git a/resources/graphics/Plants/CherryBomb/CherryBomb_3.png b/resources/graphics/Plants/CherryBomb/CherryBomb_3.png new file mode 100644 index 0000000..485a336 Binary files /dev/null and b/resources/graphics/Plants/CherryBomb/CherryBomb_3.png differ diff --git a/resources/graphics/Plants/CherryBomb/CherryBomb_4.png b/resources/graphics/Plants/CherryBomb/CherryBomb_4.png new file mode 100644 index 0000000..b8193e0 Binary files /dev/null and b/resources/graphics/Plants/CherryBomb/CherryBomb_4.png differ diff --git a/resources/graphics/Plants/CherryBomb/CherryBomb_5.png b/resources/graphics/Plants/CherryBomb/CherryBomb_5.png new file mode 100644 index 0000000..de76a6f Binary files /dev/null and b/resources/graphics/Plants/CherryBomb/CherryBomb_5.png differ diff --git a/resources/graphics/Plants/CherryBomb/CherryBomb_6.png b/resources/graphics/Plants/CherryBomb/CherryBomb_6.png new file mode 100644 index 0000000..c391161 Binary files /dev/null and b/resources/graphics/Plants/CherryBomb/CherryBomb_6.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_0.png b/resources/graphics/Plants/Peashooter/Peashooter_0.png new file mode 100644 index 0000000..4e6c221 Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_0.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_1.png b/resources/graphics/Plants/Peashooter/Peashooter_1.png new file mode 100644 index 0000000..3eb1e3b Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_1.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_10.png b/resources/graphics/Plants/Peashooter/Peashooter_10.png new file mode 100644 index 0000000..76d6600 Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_10.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_11.png b/resources/graphics/Plants/Peashooter/Peashooter_11.png new file mode 100644 index 0000000..12ed0e3 Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_11.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_12.png b/resources/graphics/Plants/Peashooter/Peashooter_12.png new file mode 100644 index 0000000..31ed739 Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_12.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_2.png b/resources/graphics/Plants/Peashooter/Peashooter_2.png new file mode 100644 index 0000000..1e4d802 Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_2.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_3.png b/resources/graphics/Plants/Peashooter/Peashooter_3.png new file mode 100644 index 0000000..ca8e12c Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_3.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_4.png b/resources/graphics/Plants/Peashooter/Peashooter_4.png new file mode 100644 index 0000000..48189b7 Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_4.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_5.png b/resources/graphics/Plants/Peashooter/Peashooter_5.png new file mode 100644 index 0000000..8a8d9ca Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_5.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_6.png b/resources/graphics/Plants/Peashooter/Peashooter_6.png new file mode 100644 index 0000000..4a85651 Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_6.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_7.png b/resources/graphics/Plants/Peashooter/Peashooter_7.png new file mode 100644 index 0000000..d5e13bf Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_7.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_8.png b/resources/graphics/Plants/Peashooter/Peashooter_8.png new file mode 100644 index 0000000..01ca538 Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_8.png differ diff --git a/resources/graphics/Plants/Peashooter/Peashooter_9.png b/resources/graphics/Plants/Peashooter/Peashooter_9.png new file mode 100644 index 0000000..823e553 Binary files /dev/null and b/resources/graphics/Plants/Peashooter/Peashooter_9.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_0.png b/resources/graphics/Plants/SnowPea/SnowPea_0.png new file mode 100644 index 0000000..883e3b8 Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_0.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_1.png b/resources/graphics/Plants/SnowPea/SnowPea_1.png new file mode 100644 index 0000000..528a5de Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_1.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_10.png b/resources/graphics/Plants/SnowPea/SnowPea_10.png new file mode 100644 index 0000000..f5f3f80 Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_10.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_11.png b/resources/graphics/Plants/SnowPea/SnowPea_11.png new file mode 100644 index 0000000..c3afa8a Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_11.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_12.png b/resources/graphics/Plants/SnowPea/SnowPea_12.png new file mode 100644 index 0000000..8683329 Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_12.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_13.png b/resources/graphics/Plants/SnowPea/SnowPea_13.png new file mode 100644 index 0000000..89b582c Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_13.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_14.png b/resources/graphics/Plants/SnowPea/SnowPea_14.png new file mode 100644 index 0000000..feec31f Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_14.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_2.png b/resources/graphics/Plants/SnowPea/SnowPea_2.png new file mode 100644 index 0000000..09ad505 Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_2.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_3.png b/resources/graphics/Plants/SnowPea/SnowPea_3.png new file mode 100644 index 0000000..35e70cd Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_3.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_4.png b/resources/graphics/Plants/SnowPea/SnowPea_4.png new file mode 100644 index 0000000..e3dc09b Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_4.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_5.png b/resources/graphics/Plants/SnowPea/SnowPea_5.png new file mode 100644 index 0000000..c527948 Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_5.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_6.png b/resources/graphics/Plants/SnowPea/SnowPea_6.png new file mode 100644 index 0000000..c527948 Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_6.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_7.png b/resources/graphics/Plants/SnowPea/SnowPea_7.png new file mode 100644 index 0000000..a814f7f Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_7.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_8.png b/resources/graphics/Plants/SnowPea/SnowPea_8.png new file mode 100644 index 0000000..37577dd Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_8.png differ diff --git a/resources/graphics/Plants/SnowPea/SnowPea_9.png b/resources/graphics/Plants/SnowPea/SnowPea_9.png new file mode 100644 index 0000000..a38b89f Binary files /dev/null and b/resources/graphics/Plants/SnowPea/SnowPea_9.png differ diff --git a/resources/graphics/Plants/Sun/Sun_0.png b/resources/graphics/Plants/Sun/Sun_0.png new file mode 100644 index 0000000..00fe109 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_0.png differ diff --git a/resources/graphics/Plants/Sun/Sun_1.png b/resources/graphics/Plants/Sun/Sun_1.png new file mode 100644 index 0000000..0660f29 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_1.png differ diff --git a/resources/graphics/Plants/Sun/Sun_10.png b/resources/graphics/Plants/Sun/Sun_10.png new file mode 100644 index 0000000..3a8dea1 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_10.png differ diff --git a/resources/graphics/Plants/Sun/Sun_11.png b/resources/graphics/Plants/Sun/Sun_11.png new file mode 100644 index 0000000..0ab3e8c Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_11.png differ diff --git a/resources/graphics/Plants/Sun/Sun_12.png b/resources/graphics/Plants/Sun/Sun_12.png new file mode 100644 index 0000000..d271582 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_12.png differ diff --git a/resources/graphics/Plants/Sun/Sun_13.png b/resources/graphics/Plants/Sun/Sun_13.png new file mode 100644 index 0000000..6091215 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_13.png differ diff --git a/resources/graphics/Plants/Sun/Sun_14.png b/resources/graphics/Plants/Sun/Sun_14.png new file mode 100644 index 0000000..ff02470 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_14.png differ diff --git a/resources/graphics/Plants/Sun/Sun_15.png b/resources/graphics/Plants/Sun/Sun_15.png new file mode 100644 index 0000000..33cae34 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_15.png differ diff --git a/resources/graphics/Plants/Sun/Sun_16.png b/resources/graphics/Plants/Sun/Sun_16.png new file mode 100644 index 0000000..b4873d5 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_16.png differ diff --git a/resources/graphics/Plants/Sun/Sun_17.png b/resources/graphics/Plants/Sun/Sun_17.png new file mode 100644 index 0000000..b4873d5 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_17.png differ diff --git a/resources/graphics/Plants/Sun/Sun_18.png b/resources/graphics/Plants/Sun/Sun_18.png new file mode 100644 index 0000000..aa685c2 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_18.png differ diff --git a/resources/graphics/Plants/Sun/Sun_19.png b/resources/graphics/Plants/Sun/Sun_19.png new file mode 100644 index 0000000..a110938 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_19.png differ diff --git a/resources/graphics/Plants/Sun/Sun_2.png b/resources/graphics/Plants/Sun/Sun_2.png new file mode 100644 index 0000000..ec65b13 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_2.png differ diff --git a/resources/graphics/Plants/Sun/Sun_20.png b/resources/graphics/Plants/Sun/Sun_20.png new file mode 100644 index 0000000..2a2e6c5 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_20.png differ diff --git a/resources/graphics/Plants/Sun/Sun_21.png b/resources/graphics/Plants/Sun/Sun_21.png new file mode 100644 index 0000000..3df20e1 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_21.png differ diff --git a/resources/graphics/Plants/Sun/Sun_3.png b/resources/graphics/Plants/Sun/Sun_3.png new file mode 100644 index 0000000..8dfe6ed Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_3.png differ diff --git a/resources/graphics/Plants/Sun/Sun_4.png b/resources/graphics/Plants/Sun/Sun_4.png new file mode 100644 index 0000000..7642083 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_4.png differ diff --git a/resources/graphics/Plants/Sun/Sun_5.png b/resources/graphics/Plants/Sun/Sun_5.png new file mode 100644 index 0000000..18896b7 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_5.png differ diff --git a/resources/graphics/Plants/Sun/Sun_6.png b/resources/graphics/Plants/Sun/Sun_6.png new file mode 100644 index 0000000..2a90326 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_6.png differ diff --git a/resources/graphics/Plants/Sun/Sun_7.png b/resources/graphics/Plants/Sun/Sun_7.png new file mode 100644 index 0000000..8131491 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_7.png differ diff --git a/resources/graphics/Plants/Sun/Sun_8.png b/resources/graphics/Plants/Sun/Sun_8.png new file mode 100644 index 0000000..c810679 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_8.png differ diff --git a/resources/graphics/Plants/Sun/Sun_9.png b/resources/graphics/Plants/Sun/Sun_9.png new file mode 100644 index 0000000..893f511 Binary files /dev/null and b/resources/graphics/Plants/Sun/Sun_9.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_0.png b/resources/graphics/Plants/SunFlower/SunFlower_0.png new file mode 100644 index 0000000..b3637f2 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_0.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_1.png b/resources/graphics/Plants/SunFlower/SunFlower_1.png new file mode 100644 index 0000000..bbeddab Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_1.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_10.png b/resources/graphics/Plants/SunFlower/SunFlower_10.png new file mode 100644 index 0000000..740e116 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_10.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_11.png b/resources/graphics/Plants/SunFlower/SunFlower_11.png new file mode 100644 index 0000000..4cba8a9 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_11.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_12.png b/resources/graphics/Plants/SunFlower/SunFlower_12.png new file mode 100644 index 0000000..2709795 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_12.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_13.png b/resources/graphics/Plants/SunFlower/SunFlower_13.png new file mode 100644 index 0000000..0d08816 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_13.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_14.png b/resources/graphics/Plants/SunFlower/SunFlower_14.png new file mode 100644 index 0000000..ff4c48c Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_14.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_15.png b/resources/graphics/Plants/SunFlower/SunFlower_15.png new file mode 100644 index 0000000..c8d541d Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_15.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_16.png b/resources/graphics/Plants/SunFlower/SunFlower_16.png new file mode 100644 index 0000000..188e2a3 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_16.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_17.png b/resources/graphics/Plants/SunFlower/SunFlower_17.png new file mode 100644 index 0000000..7dca8d9 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_17.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_2.png b/resources/graphics/Plants/SunFlower/SunFlower_2.png new file mode 100644 index 0000000..16bae15 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_2.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_3.png b/resources/graphics/Plants/SunFlower/SunFlower_3.png new file mode 100644 index 0000000..59a5c49 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_3.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_4.png b/resources/graphics/Plants/SunFlower/SunFlower_4.png new file mode 100644 index 0000000..ba1c554 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_4.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_5.png b/resources/graphics/Plants/SunFlower/SunFlower_5.png new file mode 100644 index 0000000..edf68cb Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_5.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_6.png b/resources/graphics/Plants/SunFlower/SunFlower_6.png new file mode 100644 index 0000000..945fc81 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_6.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_7.png b/resources/graphics/Plants/SunFlower/SunFlower_7.png new file mode 100644 index 0000000..73c3c10 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_7.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_8.png b/resources/graphics/Plants/SunFlower/SunFlower_8.png new file mode 100644 index 0000000..7e24f97 Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_8.png differ diff --git a/resources/graphics/Plants/SunFlower/SunFlower_9.png b/resources/graphics/Plants/SunFlower/SunFlower_9.png new file mode 100644 index 0000000..afec52e Binary files /dev/null and b/resources/graphics/Plants/SunFlower/SunFlower_9.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_0.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_0.png new file mode 100644 index 0000000..2e3e773 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_0.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_1.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_1.png new file mode 100644 index 0000000..629af2b Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_1.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_10.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_10.png new file mode 100644 index 0000000..2003f81 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_10.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_11.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_11.png new file mode 100644 index 0000000..2f25f81 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_11.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_12.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_12.png new file mode 100644 index 0000000..c0b773c Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_12.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_13.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_13.png new file mode 100644 index 0000000..cb02396 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_13.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_14.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_14.png new file mode 100644 index 0000000..696b86e Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_14.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_15.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_15.png new file mode 100644 index 0000000..ed307c7 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_15.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_2.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_2.png new file mode 100644 index 0000000..b74243a Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_2.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_3.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_3.png new file mode 100644 index 0000000..de4b2aa Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_3.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_4.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_4.png new file mode 100644 index 0000000..f6415ee Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_4.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_5.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_5.png new file mode 100644 index 0000000..bbad911 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_5.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_6.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_6.png new file mode 100644 index 0000000..9e6485d Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_6.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_7.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_7.png new file mode 100644 index 0000000..b32ec06 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_7.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_8.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_8.png new file mode 100644 index 0000000..76c9258 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_8.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut/WallNut_9.png b/resources/graphics/Plants/WallNut/WallNut/WallNut_9.png new file mode 100644 index 0000000..23d82bd Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut/WallNut_9.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_0.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_0.png new file mode 100644 index 0000000..7b05e80 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_0.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_1.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_1.png new file mode 100644 index 0000000..c065352 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_1.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_10.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_10.png new file mode 100644 index 0000000..acfb94a Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_10.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_2.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_2.png new file mode 100644 index 0000000..9ec165d Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_2.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_3.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_3.png new file mode 100644 index 0000000..5a4da30 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_3.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_4.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_4.png new file mode 100644 index 0000000..91e8b92 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_4.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_5.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_5.png new file mode 100644 index 0000000..f043766 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_5.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_6.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_6.png new file mode 100644 index 0000000..0cdb422 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_6.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_7.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_7.png new file mode 100644 index 0000000..f8dfc23 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_7.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_8.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_8.png new file mode 100644 index 0000000..5c2c2f0 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_8.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_9.png b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_9.png new file mode 100644 index 0000000..757435a Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked1/WallNut_cracked1_9.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_0.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_0.png new file mode 100644 index 0000000..0f57fa2 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_0.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_1.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_1.png new file mode 100644 index 0000000..7783454 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_1.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_10.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_10.png new file mode 100644 index 0000000..3aaecd7 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_10.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_11.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_11.png new file mode 100644 index 0000000..ba221d8 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_11.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_12.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_12.png new file mode 100644 index 0000000..902aad9 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_12.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_13.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_13.png new file mode 100644 index 0000000..58a70aa Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_13.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_14.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_14.png new file mode 100644 index 0000000..acd1612 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_14.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_2.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_2.png new file mode 100644 index 0000000..32e7df6 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_2.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_3.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_3.png new file mode 100644 index 0000000..1462a5f Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_3.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_4.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_4.png new file mode 100644 index 0000000..4aa08ce Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_4.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_5.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_5.png new file mode 100644 index 0000000..c56b855 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_5.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_6.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_6.png new file mode 100644 index 0000000..5ea8219 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_6.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_7.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_7.png new file mode 100644 index 0000000..6c5bd67 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_7.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_8.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_8.png new file mode 100644 index 0000000..d68d405 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_8.png differ diff --git a/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_9.png b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_9.png new file mode 100644 index 0000000..cf18d79 Binary files /dev/null and b/resources/graphics/Plants/WallNut/WallNut_cracked2/WallNut_cracked2_9.png differ diff --git a/resources/graphics/Screen/Adventure_0.png b/resources/graphics/Screen/Adventure_0.png new file mode 100644 index 0000000..78c12fc Binary files /dev/null and b/resources/graphics/Screen/Adventure_0.png differ diff --git a/resources/graphics/Screen/Adventure_1.png b/resources/graphics/Screen/Adventure_1.png new file mode 100644 index 0000000..f2825cb Binary files /dev/null and b/resources/graphics/Screen/Adventure_1.png differ diff --git a/resources/graphics/Screen/Boom.png b/resources/graphics/Screen/Boom.png new file mode 100644 index 0000000..5ac54a4 Binary files /dev/null and b/resources/graphics/Screen/Boom.png differ diff --git a/resources/graphics/Screen/ChooserBackground.png b/resources/graphics/Screen/ChooserBackground.png new file mode 100644 index 0000000..e5e116c Binary files /dev/null and b/resources/graphics/Screen/ChooserBackground.png differ diff --git a/resources/graphics/Screen/GameLoose.png b/resources/graphics/Screen/GameLoose.png new file mode 100644 index 0000000..2ed83f1 Binary files /dev/null and b/resources/graphics/Screen/GameLoose.png differ diff --git a/resources/graphics/Screen/GameVictory.png b/resources/graphics/Screen/GameVictory.png new file mode 100644 index 0000000..978d292 Binary files /dev/null and b/resources/graphics/Screen/GameVictory.png differ diff --git a/resources/graphics/Screen/MainMenu.png b/resources/graphics/Screen/MainMenu.png new file mode 100644 index 0000000..fe2a780 Binary files /dev/null and b/resources/graphics/Screen/MainMenu.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_0.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_0.png new file mode 100644 index 0000000..b5e44f9 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_0.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_1.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_1.png new file mode 100644 index 0000000..e3dec19 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_1.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_10.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_10.png new file mode 100644 index 0000000..c50bdfc Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_10.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_11.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_11.png new file mode 100644 index 0000000..d663d9d Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_11.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_12.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_12.png new file mode 100644 index 0000000..2e9c62e Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_12.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_13.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_13.png new file mode 100644 index 0000000..9eadc66 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_13.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_14.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_14.png new file mode 100644 index 0000000..cfd9bde Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_14.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_2.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_2.png new file mode 100644 index 0000000..f12a3d2 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_2.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_3.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_3.png new file mode 100644 index 0000000..77fdf25 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_3.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_4.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_4.png new file mode 100644 index 0000000..da624e3 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_4.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_5.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_5.png new file mode 100644 index 0000000..a852b51 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_5.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_6.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_6.png new file mode 100644 index 0000000..6217474 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_6.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_7.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_7.png new file mode 100644 index 0000000..6a2572c Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_7.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_8.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_8.png new file mode 100644 index 0000000..7060549 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_8.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_9.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_9.png new file mode 100644 index 0000000..a2c89cc Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombie/BucketheadZombie_9.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_0.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_0.png new file mode 100644 index 0000000..0e44e7b Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_0.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_1.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_1.png new file mode 100644 index 0000000..c617bfe Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_1.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_10.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_10.png new file mode 100644 index 0000000..6396d38 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_10.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_2.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_2.png new file mode 100644 index 0000000..8bb876a Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_2.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_3.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_3.png new file mode 100644 index 0000000..1b2dd04 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_3.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_4.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_4.png new file mode 100644 index 0000000..d4f5d2e Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_4.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_5.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_5.png new file mode 100644 index 0000000..1604012 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_5.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_6.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_6.png new file mode 100644 index 0000000..e2e1155 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_6.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_7.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_7.png new file mode 100644 index 0000000..dfebc74 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_7.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_8.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_8.png new file mode 100644 index 0000000..96f7307 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_8.png differ diff --git a/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_9.png b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_9.png new file mode 100644 index 0000000..e2cf246 Binary files /dev/null and b/resources/graphics/Zombies/BucketheadZombie/BucketheadZombieAttack/BucketheadZombieAttack_9.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_0.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_0.png new file mode 100644 index 0000000..50d53da Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_0.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_1.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_1.png new file mode 100644 index 0000000..ac1e596 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_1.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_10.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_10.png new file mode 100644 index 0000000..b3144ab Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_10.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_11.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_11.png new file mode 100644 index 0000000..392d84b Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_11.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_12.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_12.png new file mode 100644 index 0000000..9be9e34 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_12.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_13.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_13.png new file mode 100644 index 0000000..9a57287 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_13.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_14.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_14.png new file mode 100644 index 0000000..3c755d4 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_14.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_15.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_15.png new file mode 100644 index 0000000..6009edd Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_15.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_16.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_16.png new file mode 100644 index 0000000..ab140fe Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_16.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_17.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_17.png new file mode 100644 index 0000000..3fa7ce5 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_17.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_18.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_18.png new file mode 100644 index 0000000..7ed06b7 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_18.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_19.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_19.png new file mode 100644 index 0000000..08a44ca Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_19.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_2.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_2.png new file mode 100644 index 0000000..4272d89 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_2.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_20.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_20.png new file mode 100644 index 0000000..c84bd94 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_20.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_3.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_3.png new file mode 100644 index 0000000..81a6104 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_3.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_4.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_4.png new file mode 100644 index 0000000..34dfa04 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_4.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_5.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_5.png new file mode 100644 index 0000000..81fee65 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_5.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_6.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_6.png new file mode 100644 index 0000000..2e6a766 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_6.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_7.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_7.png new file mode 100644 index 0000000..d4d9300 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_7.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_8.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_8.png new file mode 100644 index 0000000..55af494 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_8.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_9.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_9.png new file mode 100644 index 0000000..16fb9ef Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombie/ConeheadZombie_9.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_0.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_0.png new file mode 100644 index 0000000..f82d4cf Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_0.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_1.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_1.png new file mode 100644 index 0000000..c120c22 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_1.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_10.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_10.png new file mode 100644 index 0000000..94c122b Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_10.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_2.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_2.png new file mode 100644 index 0000000..962feee Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_2.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_3.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_3.png new file mode 100644 index 0000000..d8c09fa Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_3.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_4.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_4.png new file mode 100644 index 0000000..0f357aa Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_4.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_5.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_5.png new file mode 100644 index 0000000..3ed7f36 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_5.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_6.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_6.png new file mode 100644 index 0000000..fb9f827 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_6.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_7.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_7.png new file mode 100644 index 0000000..eb8f498 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_7.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_8.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_8.png new file mode 100644 index 0000000..d0e87ca Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_8.png differ diff --git a/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_9.png b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_9.png new file mode 100644 index 0000000..8321a06 Binary files /dev/null and b/resources/graphics/Zombies/ConeheadZombie/ConeheadZombieAttack/ConeheadZombieAttack_9.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_0.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_0.png new file mode 100644 index 0000000..4c9c906 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_0.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_1.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_1.png new file mode 100644 index 0000000..2e9ee09 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_1.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_10.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_10.png new file mode 100644 index 0000000..2bffc8c Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_10.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_11.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_11.png new file mode 100644 index 0000000..b0e2656 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_11.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_2.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_2.png new file mode 100644 index 0000000..0d14f70 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_2.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_3.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_3.png new file mode 100644 index 0000000..123498b Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_3.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_4.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_4.png new file mode 100644 index 0000000..6fd048e Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_4.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_5.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_5.png new file mode 100644 index 0000000..cfcc993 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_5.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_6.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_6.png new file mode 100644 index 0000000..57190e4 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_6.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_7.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_7.png new file mode 100644 index 0000000..56cdffb Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_7.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_8.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_8.png new file mode 100644 index 0000000..fd72dcb Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_8.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_9.png b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_9.png new file mode 100644 index 0000000..725e120 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombie/FlagZombie_9.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_0.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_0.png new file mode 100644 index 0000000..9d6b4a1 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_0.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_1.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_1.png new file mode 100644 index 0000000..8c8e861 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_1.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_10.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_10.png new file mode 100644 index 0000000..4002b07 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_10.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_2.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_2.png new file mode 100644 index 0000000..0678523 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_2.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_3.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_3.png new file mode 100644 index 0000000..6288f9c Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_3.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_4.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_4.png new file mode 100644 index 0000000..484a227 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_4.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_5.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_5.png new file mode 100644 index 0000000..d7d5936 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_5.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_6.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_6.png new file mode 100644 index 0000000..c2c68df Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_6.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_7.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_7.png new file mode 100644 index 0000000..5a85555 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_7.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_8.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_8.png new file mode 100644 index 0000000..88cbc5f Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_8.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_9.png b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_9.png new file mode 100644 index 0000000..7729754 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieAttack/FlagZombieAttack_9.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_0.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_0.png new file mode 100644 index 0000000..29460ea Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_0.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_1.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_1.png new file mode 100644 index 0000000..379a8dc Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_1.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_10.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_10.png new file mode 100644 index 0000000..be1fe97 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_10.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_11.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_11.png new file mode 100644 index 0000000..16f4fc8 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_11.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_2.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_2.png new file mode 100644 index 0000000..2d31487 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_2.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_3.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_3.png new file mode 100644 index 0000000..6990d21 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_3.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_4.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_4.png new file mode 100644 index 0000000..f155716 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_4.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_5.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_5.png new file mode 100644 index 0000000..d0baab7 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_5.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_6.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_6.png new file mode 100644 index 0000000..e651c6f Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_6.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_7.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_7.png new file mode 100644 index 0000000..8877a74 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_7.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_8.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_8.png new file mode 100644 index 0000000..2e2f475 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_8.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_9.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_9.png new file mode 100644 index 0000000..19652e3 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHead/FlagZombieLostHead_9.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_0.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_0.png new file mode 100644 index 0000000..494a464 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_0.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_1.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_1.png new file mode 100644 index 0000000..fe2cb32 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_1.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_10.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_10.png new file mode 100644 index 0000000..0556bb8 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_10.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_2.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_2.png new file mode 100644 index 0000000..14b26aa Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_2.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_3.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_3.png new file mode 100644 index 0000000..a19f5ca Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_3.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_4.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_4.png new file mode 100644 index 0000000..9b8d2ae Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_4.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_5.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_5.png new file mode 100644 index 0000000..98f8376 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_5.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_6.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_6.png new file mode 100644 index 0000000..18935e0 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_6.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_7.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_7.png new file mode 100644 index 0000000..b732467 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_7.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_8.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_8.png new file mode 100644 index 0000000..58fd7cc Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_8.png differ diff --git a/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_9.png b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_9.png new file mode 100644 index 0000000..619ebd1 Binary files /dev/null and b/resources/graphics/Zombies/FlagZombie/FlagZombieLostHeadAttack/FlagZombieLostHeadAttack_9.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_0.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_0.png new file mode 100644 index 0000000..7fce736 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_0.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_1.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_1.png new file mode 100644 index 0000000..71aed22 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_1.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_10.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_10.png new file mode 100644 index 0000000..3413592 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_10.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_11.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_11.png new file mode 100644 index 0000000..3b316ce Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_11.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_12.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_12.png new file mode 100644 index 0000000..17d2eee Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_12.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_13.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_13.png new file mode 100644 index 0000000..bd91342 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_13.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_14.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_14.png new file mode 100644 index 0000000..34e07db Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_14.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_15.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_15.png new file mode 100644 index 0000000..ef22939 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_15.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_16.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_16.png new file mode 100644 index 0000000..db716a5 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_16.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_17.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_17.png new file mode 100644 index 0000000..67d885a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_17.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_18.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_18.png new file mode 100644 index 0000000..9715aaa Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_18.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_19.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_19.png new file mode 100644 index 0000000..f737150 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_19.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_2.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_2.png new file mode 100644 index 0000000..141893b Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_2.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_3.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_3.png new file mode 100644 index 0000000..7fce736 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_3.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_4.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_4.png new file mode 100644 index 0000000..0e054dc Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_4.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_5.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_5.png new file mode 100644 index 0000000..7fce736 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_5.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_6.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_6.png new file mode 100644 index 0000000..8659867 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_6.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_7.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_7.png new file mode 100644 index 0000000..e6d85de Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_7.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_8.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_8.png new file mode 100644 index 0000000..47265ea Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_8.png differ diff --git a/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_9.png b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_9.png new file mode 100644 index 0000000..1d42848 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/BoomDie/BoomDie_9.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_0.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_0.png new file mode 100644 index 0000000..7374d07 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_0.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_1.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_1.png new file mode 100644 index 0000000..33f6a2a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_1.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_10.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_10.png new file mode 100644 index 0000000..2a824fc Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_10.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_11.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_11.png new file mode 100644 index 0000000..230036e Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_11.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_12.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_12.png new file mode 100644 index 0000000..0b7e980 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_12.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_13.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_13.png new file mode 100644 index 0000000..f92fca2 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_13.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_14.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_14.png new file mode 100644 index 0000000..4d28e18 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_14.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_15.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_15.png new file mode 100644 index 0000000..4d28e18 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_15.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_16.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_16.png new file mode 100644 index 0000000..465c8d8 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_16.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_17.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_17.png new file mode 100644 index 0000000..a91f9b2 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_17.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_18.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_18.png new file mode 100644 index 0000000..ab1fd30 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_18.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_19.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_19.png new file mode 100644 index 0000000..ddbb66a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_19.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_2.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_2.png new file mode 100644 index 0000000..6ca00cb Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_2.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_20.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_20.png new file mode 100644 index 0000000..b3b5df4 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_20.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_21.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_21.png new file mode 100644 index 0000000..112043c Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_21.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_3.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_3.png new file mode 100644 index 0000000..e8588a0 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_3.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_4.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_4.png new file mode 100644 index 0000000..e10945a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_4.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_5.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_5.png new file mode 100644 index 0000000..6965abe Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_5.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_6.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_6.png new file mode 100644 index 0000000..3d4914f Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_6.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_7.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_7.png new file mode 100644 index 0000000..8fc2f8a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_7.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_8.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_8.png new file mode 100644 index 0000000..7f8a3ad Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_8.png differ diff --git a/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_9.png b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_9.png new file mode 100644 index 0000000..ac88d77 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/Zombie/Zombie_9.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_0.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_0.png new file mode 100644 index 0000000..7d8a709 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_0.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_1.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_1.png new file mode 100644 index 0000000..39b2e9c Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_1.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_10.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_10.png new file mode 100644 index 0000000..e8cd348 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_10.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_11.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_11.png new file mode 100644 index 0000000..6cf81b5 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_11.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_12.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_12.png new file mode 100644 index 0000000..a88abe2 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_12.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_13.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_13.png new file mode 100644 index 0000000..4b14e05 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_13.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_14.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_14.png new file mode 100644 index 0000000..8d534db Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_14.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_15.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_15.png new file mode 100644 index 0000000..7ef5ece Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_15.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_16.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_16.png new file mode 100644 index 0000000..f865ce8 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_16.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_17.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_17.png new file mode 100644 index 0000000..bf862d6 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_17.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_18.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_18.png new file mode 100644 index 0000000..2c79f7a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_18.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_19.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_19.png new file mode 100644 index 0000000..ba51fb4 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_19.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_2.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_2.png new file mode 100644 index 0000000..28b7c67 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_2.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_20.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_20.png new file mode 100644 index 0000000..c85832f Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_20.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_3.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_3.png new file mode 100644 index 0000000..0285bdd Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_3.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_4.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_4.png new file mode 100644 index 0000000..ca725ee Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_4.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_5.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_5.png new file mode 100644 index 0000000..65dad05 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_5.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_6.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_6.png new file mode 100644 index 0000000..9e6aaf1 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_6.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_7.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_7.png new file mode 100644 index 0000000..ce237f8 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_7.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_8.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_8.png new file mode 100644 index 0000000..cbbf419 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_8.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_9.png b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_9.png new file mode 100644 index 0000000..1f11a2f Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieAttack/ZombieAttack_9.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_0.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_0.png new file mode 100644 index 0000000..9d10e8f Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_0.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_1.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_1.png new file mode 100644 index 0000000..60286af Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_1.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_2.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_2.png new file mode 100644 index 0000000..4b53947 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_2.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_3.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_3.png new file mode 100644 index 0000000..13667b5 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_3.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_4.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_4.png new file mode 100644 index 0000000..0ec7ebf Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_4.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_5.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_5.png new file mode 100644 index 0000000..2434fd6 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_5.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_6.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_6.png new file mode 100644 index 0000000..10ab817 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_6.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_7.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_7.png new file mode 100644 index 0000000..89f00b3 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_7.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_8.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_8.png new file mode 100644 index 0000000..41a5356 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_8.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_9.png b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_9.png new file mode 100644 index 0000000..34a36c1 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieDie/ZombieDie_9.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_0.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_0.png new file mode 100644 index 0000000..b871e6a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_0.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_1.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_1.png new file mode 100644 index 0000000..89c3b36 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_1.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_10.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_10.png new file mode 100644 index 0000000..5090327 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_10.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_11.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_11.png new file mode 100644 index 0000000..9c128da Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_11.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_2.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_2.png new file mode 100644 index 0000000..706aac5 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_2.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_3.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_3.png new file mode 100644 index 0000000..e96f3b0 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_3.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_4.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_4.png new file mode 100644 index 0000000..83bf0dc Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_4.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_5.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_5.png new file mode 100644 index 0000000..9b92235 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_5.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_6.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_6.png new file mode 100644 index 0000000..de63f7c Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_6.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_7.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_7.png new file mode 100644 index 0000000..7e5f719 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_7.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_8.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_8.png new file mode 100644 index 0000000..a526300 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_8.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_9.png b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_9.png new file mode 100644 index 0000000..6c74f02 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieHead/ZombieHead_9.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_0.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_0.png new file mode 100644 index 0000000..176d97a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_0.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_1.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_1.png new file mode 100644 index 0000000..262e2ac Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_1.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_10.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_10.png new file mode 100644 index 0000000..8cfab4e Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_10.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_11.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_11.png new file mode 100644 index 0000000..c9fbb02 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_11.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_12.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_12.png new file mode 100644 index 0000000..e06a07a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_12.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_13.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_13.png new file mode 100644 index 0000000..d89db62 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_13.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_14.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_14.png new file mode 100644 index 0000000..35ca03c Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_14.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_15.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_15.png new file mode 100644 index 0000000..be3447c Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_15.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_16.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_16.png new file mode 100644 index 0000000..4731685 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_16.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_17.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_17.png new file mode 100644 index 0000000..d9b2be0 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_17.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_2.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_2.png new file mode 100644 index 0000000..012ddf4 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_2.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_3.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_3.png new file mode 100644 index 0000000..c31c8fe Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_3.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_4.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_4.png new file mode 100644 index 0000000..939ee2d Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_4.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_5.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_5.png new file mode 100644 index 0000000..92e0976 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_5.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_6.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_6.png new file mode 100644 index 0000000..84ed199 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_6.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_7.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_7.png new file mode 100644 index 0000000..40844f6 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_7.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_8.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_8.png new file mode 100644 index 0000000..c89e47a Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_8.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_9.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_9.png new file mode 100644 index 0000000..123b6e4 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHead/ZombieLostHead_9.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_0.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_0.png new file mode 100644 index 0000000..796970b Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_0.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_1.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_1.png new file mode 100644 index 0000000..b5df673 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_1.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_10.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_10.png new file mode 100644 index 0000000..669f612 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_10.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_2.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_2.png new file mode 100644 index 0000000..f8cadf6 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_2.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_3.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_3.png new file mode 100644 index 0000000..1b9f3f3 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_3.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_4.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_4.png new file mode 100644 index 0000000..bed1cf4 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_4.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_5.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_5.png new file mode 100644 index 0000000..3feba6b Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_5.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_6.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_6.png new file mode 100644 index 0000000..81c18a4 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_6.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_7.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_7.png new file mode 100644 index 0000000..90c3138 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_7.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_8.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_8.png new file mode 100644 index 0000000..ac82e38 Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_8.png differ diff --git a/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_9.png b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_9.png new file mode 100644 index 0000000..b47ed7d Binary files /dev/null and b/resources/graphics/Zombies/NormalZombie/ZombieLostHeadAttack/ZombieLostHeadAttack_9.png differ diff --git a/source/__init__.py b/source/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/source/component/__init__.py b/source/component/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/source/component/map.py b/source/component/map.py new file mode 100644 index 0000000..e4ffba9 --- /dev/null +++ b/source/component/map.py @@ -0,0 +1,45 @@ +__author__ = 'marble_xu' + +import random +import pygame as pg +from .. import tool +from .. import constants as c + +class Map(): + def __init__(self, width, height): + self.width = width + self.height = height + self.map = [[0 for x in range(self.width)] for y in range(self.height)] + + def isValid(self, map_x, map_y): + if (map_x < 0 or map_x >= self.width or + map_y < 0 or map_y >= self.height): + return False + return True + + def isMovable(self, map_x, map_y): + return (self.map[map_y][map_x] == c.MAP_EMPTY) + + def getMapIndex(self, x, y): + x -= c.MAP_OFFSET_X + y -= c.MAP_OFFSET_Y + return (x // c.GRID_X_SIZE, y // c.GRID_Y_SIZE) + + def getMapGridPos(self, map_x, map_y): + return (map_x * c.GRID_X_SIZE + c.GRID_X_SIZE//2 + c.MAP_OFFSET_X, + map_y * c.GRID_Y_SIZE + c.GRID_Y_SIZE//5 * 3 + c.MAP_OFFSET_Y) + + def setMapGridType(self, map_x, map_y, type): + self.map[map_y][map_x] = type + + def getRandomMapIndex(self): + map_x = random.randint(0, self.width-1) + map_y = random.randint(0, self.height-1) + return (map_x, map_y) + + def showPlant(self, x, y): + pos = None + map_x, map_y = self.getMapIndex(x, y) + if self.isValid(map_x, map_y) and self.isMovable(map_x, map_y): + pos = self.getMapGridPos(map_x, map_y) + return pos diff --git a/source/component/menubar.py b/source/component/menubar.py new file mode 100644 index 0000000..c10f40a --- /dev/null +++ b/source/component/menubar.py @@ -0,0 +1,129 @@ +__author__ = 'marble_xu' + +import pygame as pg +from .. import tool +from .. import constants as c + +card_name_list = [c.CARD_SUNFLOWER, c.CARD_PEASHOOTER, c.CARD_SNOWPEASHOOTER, c.CARD_WALLNUT, c.CARD_CHERRYBOMB] +plant_name_list = [c.SUNFLOWER, c.PEASHOOTER, c.SNOWPEASHOOTER, c.WALLNUT, c.CHERRYBOMB] +plant_sun_list = [50, 100, 175, 50, 150] +card_list = [0, 1, 2, 3, 4] + +class Card(): + def __init__(self, x, y, name_index): + self.loadFrame(card_name_list[name_index]) + self.rect = self.image.get_rect() + self.rect.x = x + self.rect.y = y + + self.name_index = name_index + self.sun_cost = plant_sun_list[name_index] + + def loadFrame(self, name): + frame = tool.GFX[name] + rect = frame.get_rect() + width, height = rect.w, rect.h + + self.image = tool.get_image(frame, 0, 0, width, height, c.BLACK, 0.8) + + def checkMouseClick(self, mouse_pos): + x, y = mouse_pos + if(x >= self.rect.x and x <= self.rect.right and + y >= self.rect.y and y <= self.rect.bottom): + return True + return False + + def draw(self, surface): + surface.blit(self.image, self.rect) + +class MenuBar(): + def __init__(self, card_list, sun_value): + self.loadFrame(c.MENUBAR_BACKGROUND) + self.rect = self.image.get_rect() + self.rect.x = 10 + self.rect.y = 0 + + self.sun_value = sun_value + self.card_offset_x = 38 + self.setupCards(card_list) + self.font = pg.font.SysFont(None, 20) + + def loadFrame(self, name): + frame_rect = [11, 0, 560, 108] + frame = tool.GFX[name] + rect = frame.get_rect() + width, height = rect.w, rect.h + + self.image = tool.get_image(tool.GFX[name], *frame_rect, c.BLACK, 0.8) + + def createImage(self, x, y, num): + if num == 1: + return + img = self.image + rect = self.image.get_rect() + width = rect.w + height = rect.h + self.image = pg.Surface((width * num, height)).convert() + self.rect = self.image.get_rect() + self.rect.x = x + self.rect.y = y + for i in range(num): + x = i * width + self.image.blit(img, (x,0)) + self.image.set_colorkey(c.BLACK) + + def setupCards(self, card_list): + self.card_list = [] + x = self.card_offset_x + y = 7 + for index in card_list: + x += 55 + self.card_list.append(Card(x, y, index)) + + def checkCardClick(self, mouse_pos): + result = None + for card in self.card_list: + if card.checkMouseClick(mouse_pos): + if card.sun_cost <= self.sun_value: + result = (plant_name_list[card.name_index], card.sun_cost) + break + return result + + def checkMenuBarClick(self, mouse_pos): + x, y = mouse_pos + if(x >= self.rect.x and x <= self.rect.right and + y >= self.rect.y and y <= self.rect.bottom): + return True + return False + + def decreaseSunValue(self, value): + self.sun_value -= value + + def increaseSunValue(self, value): + self.sun_value += value + + def drawSunValue(self): + width = 30 + msg_image = self.font.render(str(self.sun_value), True, c.NAVYBLUE, c.LIGHTYELLOW) + msg_rect = msg_image.get_rect() + msg_w = msg_rect.width + + image = pg.Surface([width, 17]) + x = width - msg_w + + image.fill(c.LIGHTYELLOW) + image.blit(msg_image, (x, 0), (0, 0, msg_rect.w, msg_rect.h)) + image.set_colorkey(c.BLACK) + + self.value_image = image + self.value_rect = self.value_image.get_rect() + self.value_rect.x = 18 + self.value_rect.y = self.rect.bottom - 20 + + self.image.blit(self.value_image, self.value_rect) + + def draw(self, surface): + self.drawSunValue() + surface.blit(self.image, self.rect) + for card in self.card_list: + card.draw(surface) \ No newline at end of file diff --git a/source/component/plant.py b/source/component/plant.py new file mode 100644 index 0000000..895c530 --- /dev/null +++ b/source/component/plant.py @@ -0,0 +1,268 @@ +__author__ = 'marble_xu' + +import pygame as pg +from .. import tool +from .. import constants as c + +class Bullet(pg.sprite.Sprite): + def __init__(self, x, y, name, damage): + pg.sprite.Sprite.__init__(self) + + self.name = name + self.frames = [] + self.frame_index = 0 + self.load_images() + self.image = self.frames[self.frame_index] + self.rect = self.image.get_rect() + self.rect.x = x - 40 + self.rect.y = y + self.x_vel = 4 + self.damage = damage + self.state = c.FLY + self.current_time = 0 + + def loadFrames(self, frames, name): + frame_list = tool.GFX[name] + rect = frame_list[0].get_rect() + width, height = rect.w, rect.h + + for frame in frame_list: + frames.append(tool.get_image(frame, 0, 0, width, height)) + + def load_images(self): + self.fly_frames = [] + self.explode_frames = [] + + fly_name = self.name + explode_name = 'PeaNormalExplode' + + self.loadFrames(self.fly_frames, fly_name) + self.loadFrames(self.explode_frames, explode_name) + + self.frames = self.fly_frames + + def update(self, game_info): + self.current_time = game_info[c.CURRENT_TIME] + if self.state == c.FLY: + self.rect.x += self.x_vel + if self.rect.x > c.SCREEN_WIDTH: + self.kill() + elif self.state == c.EXPLODE: + if(self.current_time - self.explode_timer) > 500: + self.kill() + + def setExplode(self): + self.state = c.EXPLODE + self.explode_timer = self.current_time + self.frames = self.explode_frames + self.image = self.frames[self.frame_index] + + def draw(self, surface): + surface.blit(self.image, self.rect) + +class Plant(pg.sprite.Sprite): + def __init__(self, x, y, name, health, bullet_group, scale=1): + pg.sprite.Sprite.__init__(self) + + self.frames = [] + self.frame_index = 0 + self.loadFrames(self.frames, name, scale) + self.frame_num = len(self.frames) + self.image = self.frames[self.frame_index] + self.rect = self.image.get_rect() + self.rect.centerx = x + self.rect.bottom = y + + self.name = name + self.health = health + self.state = c.IDLE + self.bullet_group = bullet_group + self.animate_timer = 0 + + def loadFrames(self, frames, name, scale): + frame_list = tool.GFX[name] + rect = frame_list[0].get_rect() + width, height = rect.w, rect.h + + for frame in frame_list: + frames.append(tool.get_image(frame, 0, 0, width, height, c.BLACK, scale)) + + def update(self, game_info): + self.current_time = game_info[c.CURRENT_TIME] + self.handleState() + self.animation() + + def handleState(self): + if self.state == c.IDLE: + self.idling() + elif self.state == c.ATTACK: + self.attacking() + elif self.state == c.ATTACKED: + self.attacked() + + def idling(self): + pass + + def attacking(self): + pass + + def attacked(self): + self.attacking() + + def animation(self): + if (self.current_time - self.animate_timer) > 100: + self.frame_index += 1 + if self.frame_index >= self.frame_num: + self.frame_index = 0 + self.animate_timer = self.current_time + + self.image = self.frames[self.frame_index] + + def setAttack(self): + pass + + def setIdle(self): + self.state = c.IDLE + + def setAttacked(self): + self.state = c.ATTACKED + self.frame_index = 0 + + def setDamage(self, damage): + self.health -= damage + +class Sun(Plant): + def __init__(self, x, y, dest_x, dest_y): + Plant.__init__(self, x, y, c.SUN, 0, None, 0.9) + self.move_speed = 1 + self.dest_x = dest_x + self.dest_y = dest_y + self.die_timer = 0 + + def handleState(self): + if self.rect.centerx != self.dest_x: + self.rect.centerx += self.move_speed if self.rect.centerx < self.dest_x else -self.move_speed + if self.rect.bottom != self.dest_y: + self.rect.bottom += self.move_speed if self.rect.bottom < self.dest_y else -self.move_speed + + if self.rect.centerx == self.dest_x and self.rect.bottom == self.dest_y: + if self.die_timer == 0: + self.die_timer = self.current_time + elif(self.current_time - self.die_timer) > c.SUN_LIVE_TIME: + self.state = c.DIE + self.kill() + + def checkCollision(self, x, y): + if self.state == c.DIE: + return False + if(x >= self.rect.x and x <= self.rect.right and + y >= self.rect.y and y <= self.rect.bottom): + self.state = c.DIE + self.kill() + return True + return False + +class SunFlower(Plant): + def __init__(self, x, y, sun_group): + Plant.__init__(self, x, y, c.SUNFLOWER, c.PLANT_HEALTH, None) + self.sun_timer = 0 + self.sun_group = sun_group + + def idling(self): + if self.sun_timer == 0: + self.sun_timer = self.current_time - (c.FLOWER_SUN_INTERVAL - 6000) + elif (self.current_time - self.sun_timer) > c.FLOWER_SUN_INTERVAL: + self.sun_group.add(Sun(self.rect.centerx, self.rect.bottom, self.rect.right, self.rect.bottom + self.rect.h // 2)) + self.sun_timer = self.current_time + +class PeaShooter(Plant): + def __init__(self, x, y, bullet_group): + Plant.__init__(self, x, y, c.PEASHOOTER, c.PLANT_HEALTH, bullet_group) + self.shoot_timer = 0 + + def attacking(self): + if (self.current_time - self.shoot_timer) > 2000: + self.bullet_group.add(Bullet(self.rect.right, self.rect.y, c.BULLET_PEA, c.BULLET_DAMAGE_NORMAL)) + self.shoot_timer = self.current_time + + def setAttack(self): + self.state = c.ATTACK + +class SnowPeaShooter(Plant): + def __init__(self, x, y, bullet_group): + Plant.__init__(self, x, y, c.SNOWPEASHOOTER, c.PLANT_HEALTH, bullet_group) + self.shoot_timer = 0 + + def attacking(self): + if (self.current_time - self.shoot_timer) > 2000: + self.bullet_group.add(Bullet(self.rect.right, self.rect.y, c.BULLET_PEA_ICE, c.BULLET_DAMAGE_NORMAL)) + self.shoot_timer = self.current_time + + def setAttack(self): + self.state = c.ATTACK + +class WallNut(Plant): + def __init__(self, x, y): + Plant.__init__(self, x, y, c.WALLNUT, c.WALLNUT_HEALTH, None) + self.load_images() + self.cracked1 = False + self.cracked2 = False + + def load_images(self): + self.cracked1_frames = [] + self.cracked2_frames = [] + + cracked1_frames_name = self.name + '_cracked1' + cracked2_frames_name = self.name + '_cracked2' + + self.loadFrames(self.cracked1_frames, cracked1_frames_name, 1) + self.loadFrames(self.cracked2_frames, cracked2_frames_name, 1) + + def attacked(self): + if not self.cracked1 and self.health <= c.WALLNUT_CRACKED1_HEALTH: + self.frames = self.cracked1_frames + self.frame_num = len(self.frames) + self.frame_index = 0 + self.cracked1 = True + elif not self.cracked2 and self.health <= c.WALLNUT_CRACKED2_HEALTH: + self.frames = self.cracked2_frames + self.frame_num = len(self.frames) + self.frame_index = 0 + self.cracked2 = True + +class CherryBomb(Plant): + def __init__(self, x, y): + Plant.__init__(self, x, y, c.CHERRYBOMB, c.WALLNUT_HEALTH, None) + self.state = c.ATTACK + self.start_boom = False + self.bomb_timer = 0 + + def setBoom(self): + frame = tool.GFX[c.CHERRY_BOOM_IMAGE] + rect = frame.get_rect() + width, height = rect.w, rect.h + + old_rect = self.rect + image = tool.get_image(frame, 0, 0, width, height, c.BLACK, 1) + self.image = image + self.rect = image.get_rect() + self.rect.centerx = old_rect.centerx + self.rect.centery = old_rect.centery + self.start_boom = True + + def animation(self): + if self.start_boom: + if self.bomb_timer == 0: + self.bomb_timer = self.current_time + elif(self.current_time - self.bomb_timer) > 500: + self.health = 0 + else: + if (self.current_time - self.animate_timer) > 100: + self.frame_index += 1 + if self.frame_index >= self.frame_num: + self.setBoom() + return + self.animate_timer = self.current_time + + self.image = self.frames[self.frame_index] + diff --git a/source/component/zombie.py b/source/component/zombie.py new file mode 100644 index 0000000..f72f404 --- /dev/null +++ b/source/component/zombie.py @@ -0,0 +1,296 @@ +__author__ = 'marble_xu' + +import pygame as pg +from .. import tool +from .. import constants as c + +class Zombie(pg.sprite.Sprite): + def __init__(self, x, y, name, health, head_group=None, damage=1): + pg.sprite.Sprite.__init__(self) + + self.name = name + self.frames = [] + self.frame_index = 0 + self.loadImages() + self.frame_num = len(self.frames) + + self.image = self.frames[self.frame_index] + self.rect = self.image.get_rect() + self.rect.centerx = x + self.rect.bottom = y + + self.health = health + self.damage = damage + self.dead = False + self.losHead = False + self.helmet = False + self.head_group = head_group + + self.walk_timer = 0 + self.animate_timer = 0 + self.attack_timer = 0 + self.state = c.WALK + self.animate_interval = 150 + + def loadFrames(self, frames, name, image_x): + frame_list = tool.GFX[name] + rect = frame_list[0].get_rect() + width, height = rect.w, rect.h + width -= image_x + + for frame in frame_list: + frames.append(tool.get_image(frame, image_x, 0, width, height)) + + def update(self, game_info): + self.current_time = game_info[c.CURRENT_TIME] + self.handleState() + self.animation() + + def handleState(self): + if self.state == c.WALK: + self.walking() + elif self.state == c.ATTACK: + self.attacking() + elif self.state == c.DIE: + self.dying() + + def walking(self): + if self.health <= 0: + self.setDie() + elif self.health <= c.LOSTHEAD_HEALTH and not self.losHead: + self.changeFrames(self.losthead_walk_frames) + self.setLostHead() + elif self.health <= c.NORMAL_HEALTH and self.helmet: + self.changeFrames(self.walk_frames) + self.helmet = False + + if (self.current_time - self.walk_timer) > c.ZOMBIE_WALK_INTERVAL: + self.walk_timer = self.current_time + self.rect.x -= 1 + + def attacking(self): + if self.health <= 0: + self.setDie() + elif self.health <= c.LOSTHEAD_HEALTH and not self.losHead: + self.changeFrames(self.losthead_attack_frames) + self.setLostHead() + if (self.current_time - self.attack_timer) > c.ATTACK_INTERVAL: + self.plant.setDamage(self.damage) + self.attack_timer = self.current_time + + if self.plant.health <= 0: + self.plant = None + self.setWalk() + + def dying(self): + pass + + def setLostHead(self): + self.losHead = True + if self.head_group is not None: + self.head_group.add(ZombieHead(self.rect.centerx, self.rect.bottom)) + + def changeFrames(self, frames): + '''change image frames and modify rect position''' + self.frames = frames + self.frame_num = len(self.frames) + self.frame_index = 0 + + bottom = self.rect.bottom + centerx = self.rect.centerx + self.image = self.frames[self.frame_index] + self.rect = self.image.get_rect() + self.rect.bottom = bottom + self.rect.centerx = centerx + + def animation(self): + if (self.current_time - self.animate_timer) > self.animate_interval: + self.frame_index += 1 + if self.frame_index >= self.frame_num: + if self.state == c.DIE: + self.kill() + return + self.frame_index = 0 + self.animate_timer = self.current_time + + self.image = self.frames[self.frame_index] + + def setDamage(self, damage): + self.health -= damage + + def setWalk(self): + self.state = c.WALK + self.animate_interval = 150 + + if self.helmet: + self.changeFrames(self.helmet_walk_frames) + elif self.losHead: + self.changeFrames(self.losthead_walk_frames) + else: + self.changeFrames(self.walk_frames) + + def setAttack(self, plant): + self.plant = plant + self.state = c.ATTACK + self.animate_interval = 100 + + if self.helmet: + self.changeFrames(self.helmet_attack_frames) + elif self.losHead: + self.changeFrames(self.losthead_attack_frames) + else: + self.changeFrames(self.attack_frames) + + def setDie(self): + self.state = c.DIE + self.animate_interval = 200 + self.changeFrames(self.die_frames) + + def setBoomDie(self): + self.state = c.DIE + self.animate_interval = 200 + self.changeFrames(self.boomdie_frames) + +class ZombieHead(Zombie): + def __init__(self, x, y): + Zombie.__init__(self, x, y, c.ZOMBIE_HEAD, 0) + self.state = c.DIE + + def loadImages(self): + self.die_frames = [] + die_name = self.name + self.loadFrames(self.die_frames, die_name, 0) + self.frames = self.die_frames + + def setWalk(self): + self.animate_interval = 100 + +class NormalZombie(Zombie): + def __init__(self, x, y, head_group): + Zombie.__init__(self, x, y, c.NORMAL_ZOMBIE, c.NORMAL_HEALTH, head_group) + + def loadImages(self): + self.walk_frames = [] + self.attack_frames = [] + self.losthead_walk_frames = [] + self.losthead_attack_frames = [] + self.die_frames = [] + self.boomdie_frames = [] + + walk_name = self.name + attack_name = self.name + 'Attack' + losthead_walk_name = self.name + 'LostHead' + losthead_attack_name = self.name + 'LostHeadAttack' + die_name = self.name + 'Die' + boomdie_name = c.BOOMDIE + + frame_list = [self.walk_frames, self.attack_frames, self.losthead_walk_frames, + self.losthead_attack_frames, self.die_frames, self.boomdie_frames] + name_list = [walk_name, attack_name, losthead_walk_name, + losthead_attack_name, die_name, boomdie_name] + + for i, name in enumerate(name_list): + self.loadFrames(frame_list[i], name, tool.ZOMBIE_RECT[name]['x']) + + self.frames = self.walk_frames + +class ConeHeadZombie(Zombie): + def __init__(self, x, y, head_group): + Zombie.__init__(self, x, y, c.CONEHEAD_ZOMBIE, c.CONEHEAD_HEALTH, head_group) + self.helmet = True + + def loadImages(self): + self.helmet_walk_frames = [] + self.helmet_attack_frames = [] + self.walk_frames = [] + self.attack_frames = [] + self.losthead_walk_frames = [] + self.losthead_attack_frames = [] + self.die_frames = [] + self.boomdie_frames = [] + + helmet_walk_name = self.name + helmet_attack_name = self.name + 'Attack' + walk_name = c.NORMAL_ZOMBIE + attack_name = c.NORMAL_ZOMBIE + 'Attack' + losthead_walk_name = c.NORMAL_ZOMBIE + 'LostHead' + losthead_attack_name = c.NORMAL_ZOMBIE + 'LostHeadAttack' + die_name = c.NORMAL_ZOMBIE + 'Die' + boomdie_name = c.BOOMDIE + + frame_list = [self.helmet_walk_frames, self.helmet_attack_frames, + self.walk_frames, self.attack_frames, self.losthead_walk_frames, + self.losthead_attack_frames, self.die_frames, self.boomdie_frames] + name_list = [helmet_walk_name, helmet_attack_name, + walk_name, attack_name, losthead_walk_name, + losthead_attack_name, die_name, boomdie_name] + + for i, name in enumerate(name_list): + self.loadFrames(frame_list[i], name, tool.ZOMBIE_RECT[name]['x']) + + self.frames = self.helmet_walk_frames + +class BucketHeadZombie(Zombie): + def __init__(self, x, y, head_group): + Zombie.__init__(self, x, y, c.BUCKETHEAD_ZOMBIE, c.BUCKETHEAD_HEALTH, head_group) + self.helmet = True + + def loadImages(self): + self.helmet_walk_frames = [] + self.helmet_attack_frames = [] + self.walk_frames = [] + self.attack_frames = [] + self.losthead_walk_frames = [] + self.losthead_attack_frames = [] + self.die_frames = [] + self.boomdie_frames = [] + + helmet_walk_name = self.name + helmet_attack_name = self.name + 'Attack' + walk_name = c.NORMAL_ZOMBIE + attack_name = c.NORMAL_ZOMBIE + 'Attack' + losthead_walk_name = c.NORMAL_ZOMBIE + 'LostHead' + losthead_attack_name = c.NORMAL_ZOMBIE + 'LostHeadAttack' + die_name = c.NORMAL_ZOMBIE + 'Die' + boomdie_name = c.BOOMDIE + + frame_list = [self.helmet_walk_frames, self.helmet_attack_frames, + self.walk_frames, self.attack_frames, self.losthead_walk_frames, + self.losthead_attack_frames, self.die_frames, self.boomdie_frames] + name_list = [helmet_walk_name, helmet_attack_name, + walk_name, attack_name, losthead_walk_name, + losthead_attack_name, die_name, boomdie_name] + + for i, name in enumerate(name_list): + self.loadFrames(frame_list[i], name, tool.ZOMBIE_RECT[name]['x']) + + self.frames = self.helmet_walk_frames + +class FlagZombie(Zombie): + def __init__(self, x, y, head_group): + Zombie.__init__(self, x, y, c.FLAG_ZOMBIE, c.FLAG_HEALTH, head_group) + + def loadImages(self): + self.walk_frames = [] + self.attack_frames = [] + self.losthead_walk_frames = [] + self.losthead_attack_frames = [] + self.die_frames = [] + self.boomdie_frames = [] + + walk_name = self.name + attack_name = self.name + 'Attack' + losthead_walk_name = self.name + 'LostHead' + losthead_attack_name = self.name + 'LostHeadAttack' + die_name = c.NORMAL_ZOMBIE + 'Die' + boomdie_name = c.BOOMDIE + + frame_list = [self.walk_frames, self.attack_frames, self.losthead_walk_frames, + self.losthead_attack_frames, self.die_frames, self.boomdie_frames] + name_list = [walk_name, attack_name, losthead_walk_name, + losthead_attack_name, die_name, boomdie_name] + + for i, name in enumerate(name_list): + self.loadFrames(frame_list[i], name, tool.ZOMBIE_RECT[name]['x']) + + self.frames = self.walk_frames \ No newline at end of file diff --git a/source/constants.py b/source/constants.py new file mode 100644 index 0000000..0fb3114 --- /dev/null +++ b/source/constants.py @@ -0,0 +1,119 @@ +__author__ = 'marble_xu' + +START_LEVEL_NUM = 1 + +ORIGINAL_CAPTION = 'Plant VS Zombies Game' + +SCREEN_WIDTH = 800 +SCREEN_HEIGHT = 600 +SCREEN_SIZE = (SCREEN_WIDTH, SCREEN_HEIGHT) + +GRID_X_LEN = 9 +GRID_Y_LEN = 5 +GRID_X_SIZE = 80 +GRID_Y_SIZE = 100 + + +WHITE = (255, 255, 255) +NAVYBLUE = ( 60, 60, 100) +SKY_BLUE = ( 39, 145, 251) +BLACK = ( 0, 0, 0) +LIGHTYELLOW = (234, 233, 171) +RED = (255, 0, 0) +PURPLE = (255, 0, 255) +GOLD = (255, 215, 0) +GREEN = ( 0, 255, 0) + +SIZE_MULTIPLIER = 1.3 + +#GAME INFO DICTIONARY KEYS +CURRENT_TIME = 'current time' +LEVEL_NUM = 'level num' + +#STATES FOR ENTIRE GAME +MAIN_MENU = 'main menu' +LOAD_SCREEN = 'load screen' +GAME_LOSE = 'game los' +GAME_VICTORY = 'game victory' +LEVEL = 'level' + +MAIN_MENU_IMAGE = 'MainMenu' +OPTION_ADVENTURE = 'Adventure' +GAME_LOOSE_IMAGE = 'GameLoose' +GAME_VICTORY_IMAGE = 'GameVictory' + +#MAP COMPONENTS +BACKGROUND_NAME = 'Background' +BACKGROUND_TYPE = 'background_type' +INIT_SUN_NAME = 'init_sun_value' +ZOMBIE_LIST = 'zombie_list' + +MAP_EMPTY = 0 +MAP_EXIST = 1 + +MAP_OFFSET_X = 25 +MAP_OFFSET_Y = 100 + +#MENUBAR +MENUBAR_BACKGROUND = 'ChooserBackground' + +#PLANT INFO +SUN = 'Sun' +SUNFLOWER = 'SunFlower' +PEASHOOTER = 'Peashooter' +SNOWPEASHOOTER = 'SnowPea' +WALLNUT = 'WallNut' +CHERRYBOMB = 'CherryBomb' +CHERRY_BOOM_IMAGE = 'Boom' + +PLANT_HEALTH = 5 +WALLNUT_HEALTH = 30 +WALLNUT_CRACKED1_HEALTH = 20 +WALLNUT_CRACKED2_HEALTH = 10 + +PRODUCE_SUN_INTERVAL = 7000 +FLOWER_SUN_INTERVAL = 22000 +SUN_LIVE_TIME = 7000 +SUN_VALUE = 25 + +#PLANT CARD INFO +CARD_SUNFLOWER = 'card_sunflower' +CARD_PEASHOOTER = 'card_peashooter' +CARD_SNOWPEASHOOTER = 'card_snowpea' +CARD_WALLNUT = 'card_wallnut' +CARD_CHERRYBOMB = 'card_cherrybomb' + +#BULLET INFO +BULLET_PEA = 'PeaNormal' +BULLET_PEA_ICE = 'PeaIce' +BULLET_DAMAGE_NORMAL = 1 + +#ZOMBIE INFO +ZOMBIE_IMAGE_RECT = 'zombie_image_rect' +ZOMBIE_HEAD = 'ZombieHead' +NORMAL_ZOMBIE = 'Zombie' +CONEHEAD_ZOMBIE = 'ConeheadZombie' +BUCKETHEAD_ZOMBIE = 'BucketheadZombie' +FLAG_ZOMBIE = 'FlagZombie' +BOOMDIE = 'BoomDie' + +LOSTHEAD_HEALTH = 5 +NORMAL_HEALTH = 10 +FLAG_HEALTH = 15 +CONEHEAD_HEALTH = 15 +BUCKETHEAD_HEALTH = 20 + +ATTACK_INTERVAL = 1000 +ZOMBIE_WALK_INTERVAL = 70 + +ZOMBIE_START_X = SCREEN_WIDTH + 50 + +#STATE +IDLE = 'idle' +FLY = 'fly' +EXPLODE = 'explode' +ATTACK = 'attack' +ATTACKED = 'attacked' +WALK = 'walk' +DIE = 'die' + diff --git a/source/data/entity/plant.json b/source/data/entity/plant.json new file mode 100644 index 0000000..e69de29 diff --git a/source/data/entity/zombie.json b/source/data/entity/zombie.json new file mode 100644 index 0000000..320d0b8 --- /dev/null +++ b/source/data/entity/zombie.json @@ -0,0 +1,18 @@ +{ + "zombie_image_rect":{ + "Zombie":{"x":62, "width":90}, + "ZombieAttack":{"x":62, "width":90}, + "ZombieLostHead":{"x":62, "width":90}, + "ZombieLostHeadAttack":{"x":62, "width":90}, + "ZombieDie":{"x":0, "width":164}, + "BoomDie":{"x":68, "width":80}, + "ConeheadZombie":{"x":80, "width":80}, + "ConeheadZombieAttack":{"x":79, "width":87}, + "BucketheadZombie":{"x":54, "width":90}, + "BucketheadZombieAttack":{"x":46, "width":90}, + "FlagZombie":{"x":56, "width":110}, + "FlagZombieAttack":{"x":60, "width":100}, + "FlagZombieLostHead":{"x":55, "width":110}, + "FlagZombieLostHeadAttack":{"x":55, "width":110} + } +} \ No newline at end of file diff --git a/source/data/map/level_0.json b/source/data/map/level_0.json new file mode 100644 index 0000000..c22fd75 --- /dev/null +++ b/source/data/map/level_0.json @@ -0,0 +1,7 @@ +{ + "background_type":0, + "init_sun_value":500, + "zombie_list":[ + {"time":1000, "map_y":2, "name":"Zombie"} + ] +} \ No newline at end of file diff --git a/source/data/map/level_1.json b/source/data/map/level_1.json new file mode 100644 index 0000000..59801a4 --- /dev/null +++ b/source/data/map/level_1.json @@ -0,0 +1,19 @@ +{ + "background_type":0, + "init_sun_value":50, + "zombie_list":[ + {"time":20000, "map_y":0, "name":"Zombie"}, + {"time":40000, "map_y":2, "name":"FlagZombie"}, + {"time":50000, "map_y":4, "name":"Zombie"}, + {"time":70000, "map_y":3, "name":"Zombie"}, + {"time":72000, "map_y":1, "name":"FlagZombie"}, + {"time":74000, "map_y":2, "name":"Zombie"}, + {"time":90000, "map_y":0, "name":"Zombie"}, + {"time":91000, "map_y":1, "name":"FlagZombie"}, + {"time":92000, "map_y":2, "name":"Zombie"}, + {"time":93000, "map_y":3, "name":"FlagZombie"}, + {"time":94000, "map_y":0, "name":"Zombie"}, + {"time":95000, "map_y":4, "name":"FlagZombie"}, + {"time":96000, "map_y":1, "name":"Zombie"} + ] +} \ No newline at end of file diff --git a/source/data/map/level_2.json b/source/data/map/level_2.json new file mode 100644 index 0000000..b3d9170 --- /dev/null +++ b/source/data/map/level_2.json @@ -0,0 +1,19 @@ +{ + "background_type":0, + "init_sun_value":50, + "zombie_list":[ + {"time":20000, "map_y":0, "name":"Zombie"}, + {"time":40000, "map_y":2, "name":"FlagZombie"}, + {"time":50000, "map_y":4, "name":"ConeheadZombie"}, + {"time":70000, "map_y":3, "name":"ConeheadZombie"}, + {"time":72000, "map_y":1, "name":"FlagZombie"}, + {"time":74000, "map_y":2, "name":"ConeheadZombie"}, + {"time":90000, "map_y":0, "name":"FlagZombie"}, + {"time":91000, "map_y":1, "name":"ConeheadZombie"}, + {"time":92000, "map_y":2, "name":"Zombie"}, + {"time":93000, "map_y":3, "name":"ConeheadZombie"}, + {"time":94000, "map_y":0, "name":"Zombie"}, + {"time":95000, "map_y":4, "name":"FlagZombie"}, + {"time":96000, "map_y":1, "name":"ConeheadZombie"} + ] +} \ No newline at end of file diff --git a/source/data/map/level_3.json b/source/data/map/level_3.json new file mode 100644 index 0000000..dc05421 --- /dev/null +++ b/source/data/map/level_3.json @@ -0,0 +1,20 @@ +{ + "background_type":0, + "init_sun_value":50, + "zombie_list":[ + {"time":20000, "map_y":0, "name":"Zombie"}, + {"time":40000, "map_y":2, "name":"ConeheadZombie"}, + {"time":50000, "map_y":4, "name":"BucketheadZombie"}, + {"time":70000, "map_y":3, "name":"BucketheadZombie"}, + {"time":72000, "map_y":1, "name":"FlagZombie"}, + {"time":74000, "map_y":2, "name":"ConeheadZombie"}, + {"time":90000, "map_y":0, "name":"BucketheadZombie"}, + {"time":91000, "map_y":1, "name":"ConeheadZombie"}, + {"time":92000, "map_y":2, "name":"Zombie"}, + {"time":93000, "map_y":3, "name":"BucketheadZombie"}, + {"time":94000, "map_y":0, "name":"Zombie"}, + {"time":95000, "map_y":4, "name":"FlagZombie"}, + {"time":96000, "map_y":1, "name":"BucketheadZombie"}, + {"time":97000, "map_y":1, "name":"FlagZombie"} + ] +} \ No newline at end of file diff --git a/source/main.py b/source/main.py new file mode 100644 index 0000000..92fcdc1 --- /dev/null +++ b/source/main.py @@ -0,0 +1,14 @@ +__author__ = 'marble_xu' + +from . import tool +from . import constants as c +from .state import mainmenu, screen, level + +def main(): + game = tool.Control() + state_dict = {c.MAIN_MENU: mainmenu.Menu(), + c.GAME_VICTORY: screen.GameVictoryScreen(), + c.GAME_LOSE: screen.GameLoseScreen(), + c.LEVEL: level.Level()} + game.setup_states(state_dict, c.MAIN_MENU) + game.main() \ No newline at end of file diff --git a/source/state/__init__.py b/source/state/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/source/state/level.py b/source/state/level.py new file mode 100644 index 0000000..21dc9dc --- /dev/null +++ b/source/state/level.py @@ -0,0 +1,295 @@ +__author__ = 'marble_xu' + +import os +import json +import pygame as pg +from .. import tool +from .. import constants as c +from ..component import map, plant, zombie, menubar + +class Level(tool.State): + def __init__(self): + tool.State.__init__(self) + + def startup(self, current_time, persist): + self.game_info = persist + self.persist = self.game_info + self.game_info[c.CURRENT_TIME] = current_time + self.map_y_len = c.GRID_Y_LEN + self.map = map.Map(c.GRID_X_LEN, self.map_y_len) + + self.loadMap() + + self.menubar = menubar.MenuBar(menubar.card_list, self.map_data[c.INIT_SUN_NAME]) + self.drag_plant = False + self.hint_image = None + self.hint_plant = False + + self.produce_sun = True + self.sun_timer = current_time + + self.removeMouseImage() + self.setupBackground() + self.setupGroups() + self.setupZombies() + + def loadMap(self): + map_file = 'level_' + str(self.game_info[c.LEVEL_NUM]) + '.json' + file_path = os.path.join('source', 'data', 'map', map_file) + f = open(file_path) + self.map_data = json.load(f) + f.close() + + def setupBackground(self): + img_index = self.map_data[c.BACKGROUND_TYPE] + self.background = tool.GFX[c.BACKGROUND_NAME][img_index] + self.bg_rect = self.background.get_rect() + + self.level = pg.Surface((self.bg_rect.w, self.bg_rect.h)).convert() + self.viewport = tool.SCREEN.get_rect(bottom=self.bg_rect.bottom) + self.viewport.x += 230 + + def setupGroups(self): + self.sun_group = pg.sprite.Group() + self.head_group = pg.sprite.Group() + + self.plant_groups = [] + self.zombie_groups = [] + self.bullet_groups = [] + for i in range(self.map_y_len): + self.plant_groups.append(pg.sprite.Group()) + self.zombie_groups.append(pg.sprite.Group()) + self.bullet_groups.append(pg.sprite.Group()) + + def setupZombies(self): + def takeTime(element): + return element[0] + + self.zombie_list = [] + for data in self.map_data[c.ZOMBIE_LIST]: + self.zombie_list.append((data['time'], data['name'], data['map_y'])) + self.zombie_start_time = 0 + self.zombie_list.sort(key=takeTime) + + def update(self, surface, current_time, mouse_pos, mouse_click): + self.current_time = self.game_info[c.CURRENT_TIME] = current_time + + if self.zombie_start_time == 0: + self.zombie_start_time = self.current_time + elif len(self.zombie_list) > 0: + data = self.zombie_list[0] + if data[0] <= (self.current_time - self.zombie_start_time): + self.createZombie(data[1], data[2]) + self.zombie_list.remove(data) + + for i in range(self.map_y_len): + self.bullet_groups[i].update(self.game_info) + self.plant_groups[i].update(self.game_info) + self.zombie_groups[i].update(self.game_info) + self.head_group.update(self.game_info) + self.sun_group.update(self.game_info) + + if not self.drag_plant and mouse_pos and mouse_click[0]: + result = self.menubar.checkCardClick(mouse_pos) + if result: + self.setupMouseImage(result[0], result[1]) + elif self.drag_plant: + if mouse_click[1]: + self.removeMouseImage() + elif mouse_click[0]: + if self.menubar.checkMenuBarClick(mouse_pos): + self.removeMouseImage() + else: + self.addPlant() + elif mouse_pos is None: + self.setupHintImage() + + if self.produce_sun: + if(self.current_time - self.sun_timer) > c.PRODUCE_SUN_INTERVAL: + self.sun_timer = self.current_time + map_x, map_y = self.map.getRandomMapIndex() + x, y = self.map.getMapGridPos(map_x, map_y) + self.sun_group.add(plant.Sun(x, 0, x, y)) + if not self.drag_plant and mouse_pos and mouse_click[0]: + for sun in self.sun_group: + if sun.checkCollision(mouse_pos[0], mouse_pos[1]): + self.menubar.increaseSunValue(c.SUN_VALUE) + + self.checkBulletCollisions() + self.checkZombieCollisions() + self.checkPlants() + self.checkGameState() + self.draw(surface) + + def createZombie(self, name, map_y): + x, y = self.map.getMapGridPos(0, map_y) + if name == c.NORMAL_ZOMBIE: + self.zombie_groups[map_y].add(zombie.NormalZombie(c.ZOMBIE_START_X, y, self.head_group)) + elif name == c.CONEHEAD_ZOMBIE: + self.zombie_groups[map_y].add(zombie.ConeHeadZombie(c.ZOMBIE_START_X, y, self.head_group)) + elif name == c.BUCKETHEAD_ZOMBIE: + self.zombie_groups[map_y].add(zombie.BucketHeadZombie(c.ZOMBIE_START_X, y, self.head_group)) + elif name == c.FLAG_ZOMBIE: + self.zombie_groups[map_y].add(zombie.FlagZombie(c.ZOMBIE_START_X, y, self.head_group)) + + def canSeedPlant(self): + x, y = pg.mouse.get_pos() + return self.map.showPlant(x, y) + + def addPlant(self): + pos = self.canSeedPlant() + if pos is None: + return + + if self.hint_image is None: + self.setupHintImage() + x, y = self.hint_rect.centerx, self.hint_rect.bottom + map_x, map_y = self.map.getMapIndex(x, y) + if self.plant_name == c.SUNFLOWER: + self.plant_groups[map_y].add(plant.SunFlower(x, y, self.sun_group)) + elif self.plant_name == c.PEASHOOTER: + self.plant_groups[map_y].add(plant.PeaShooter(x, y, self.bullet_groups[map_y])) + elif self.plant_name == c.SNOWPEASHOOTER: + self.plant_groups[map_y].add(plant.SnowPeaShooter(x, y, self.bullet_groups[map_y])) + elif self.plant_name == c.WALLNUT: + self.plant_groups[map_y].add(plant.WallNut(x, y)) + elif self.plant_name == c.CHERRYBOMB: + self.plant_groups[map_y].add(plant.CherryBomb(x, y)) + + self.menubar.decreaseSunValue(self.plant_cost) + self.map.setMapGridType(map_x, map_y, c.MAP_EXIST) + self.removeMouseImage() + #print('addPlant map[%d,%d], grid pos[%d, %d] pos[%d, %d]' % (map_x, map_y, x, y, pos[0], pos[1])) + + def setupHintImage(self): + pos = self.canSeedPlant() + if pos and self.mouse_image: + if (self.hint_image and pos[0] == self.hint_rect.x and + pos[1] == self.hint_rect.y): + return + width, height = self.mouse_rect.w, self.mouse_rect.h + image = pg.Surface([width, height]) + image.blit(self.mouse_image, (0, 0), (0, 0, width, height)) + image.set_colorkey(c.BLACK) + image.set_alpha(128) + self.hint_image = image + self.hint_rect = image.get_rect() + self.hint_rect.centerx = pos[0] + self.hint_rect.bottom = pos[1] + self.hint_plant = True + else: + self.hint_plant = False + + def setupMouseImage(self, plant_name, plant_cost): + frame_list = tool.GFX[plant_name] + rect = frame_list[0].get_rect() + width, height = rect.w, rect.h + + self.mouse_image = tool.get_image(frame_list[0], 0, 0, width, height, c.BLACK, 1) + self.mouse_rect = self.mouse_image.get_rect() + pg.mouse.set_visible(False) + self.drag_plant = True + self.plant_name = plant_name + self.plant_cost = plant_cost + + def removeMouseImage(self): + pg.mouse.set_visible(True) + self.drag_plant = False + self.mouse_image = None + self.hint_image = None + self.hint_plant = False + + def checkBulletCollisions(self): + collided_func = pg.sprite.collide_circle_ratio(0.7) + for i in range(self.map_y_len): + for bullet in self.bullet_groups[i]: + if bullet.state == c.FLY: + zombie = pg.sprite.spritecollideany(bullet, self.zombie_groups[i], collided_func) + if zombie and zombie.state != c.DIE: + zombie.setDamage(bullet.damage) + bullet.setExplode() + + def checkZombieCollisions(self): + collided_func = pg.sprite.collide_circle_ratio(0.7) + for i in range(self.map_y_len): + for zombie in self.zombie_groups[i]: + plant = pg.sprite.spritecollideany(zombie, self.plant_groups[i], collided_func) + if plant and zombie.state == c.WALK: + zombie.setAttack(plant) + plant.setAttacked() + + def boomZombies(self, x, map_y): + for i in range(self.map_y_len): + if abs(i - map_y) > 1: + continue + for zombie in self.zombie_groups[i]: + if abs(zombie.rect.x - x) <= c.GRID_X_SIZE: + zombie.setBoomDie() + + def killPlant(self, plant): + map_x, map_y = self.map.getMapIndex(plant.rect.centerx, plant.rect.bottom) + self.map.setMapGridType(map_x, map_y, c.MAP_EMPTY) + if plant.name == c.CHERRYBOMB: + self.boomZombies(plant.rect.centerx, map_y) + plant.kill() + + def checkPlants(self): + for i in range(self.map_y_len): + if len(self.zombie_groups[i]) > 0: + for plant in self.plant_groups[i]: + if plant.state == c.IDLE: + plant.setAttack() + if plant.health <= 0: + self.killPlant(plant) + else: + for plant in self.plant_groups[i]: + if plant.state == c.ATTACK: + plant.setIdle() + if plant.health <= 0: + self.killPlant(plant) + + def checkVictory(self): + if len(self.zombie_list) > 0: + return False + for i in range(self.map_y_len): + if len(self.zombie_groups[i]) > 0: + return False + return True + + def checkLose(self): + for i in range(self.map_y_len): + for zombie in self.zombie_groups[i]: + if zombie.rect.right < 0: + return True + return False + + def checkGameState(self): + if self.checkVictory(): + self.game_info[c.LEVEL_NUM] += 1 + self.next = c.GAME_VICTORY + self.done = True + elif self.checkLose(): + self.next = c.GAME_LOSE + self.done = True + + def drawMouseShow(self, surface): + if self.hint_plant: + surface.blit(self.hint_image, self.hint_rect) + x, y = pg.mouse.get_pos() + self.mouse_rect.centerx = x + self.mouse_rect.centery = y + surface.blit(self.mouse_image, self.mouse_rect) + + def draw(self, surface): + self.level.blit(self.background, self.viewport, self.viewport) + surface.blit(self.level, (0,0), self.viewport) + self.menubar.draw(surface) + for i in range(self.map_y_len): + self.plant_groups[i].draw(surface) + self.zombie_groups[i].draw(surface) + self.bullet_groups[i].draw(surface) + self.head_group.draw(surface) + self.sun_group.draw(surface) + + if self.drag_plant: + self.drawMouseShow(surface) \ No newline at end of file diff --git a/source/state/mainmenu.py b/source/state/mainmenu.py new file mode 100644 index 0000000..6ac345f --- /dev/null +++ b/source/state/mainmenu.py @@ -0,0 +1,69 @@ +__author__ = 'marble_xu' + +import pygame as pg +from .. import tool +from .. import constants as c + +class Menu(tool.State): + def __init__(self): + tool.State.__init__(self) + + def startup(self, current_time, persist): + self.next = c.LEVEL + self.persist = persist + self.game_info = persist + + self.setupBackground() + self.setupOption() + + def setupBackground(self): + frame_rect = [80, 0, 800, 600] + self.bg_image = tool.get_image(tool.GFX[c.MAIN_MENU_IMAGE], *frame_rect) + self.bg_rect = self.bg_image.get_rect() + self.bg_rect.x = 0 + self.bg_rect.y = 0 + + def setupOption(self): + self.option_frames = [] + frame_names = [c.OPTION_ADVENTURE + '_0', c.OPTION_ADVENTURE + '_1'] + frame_rect = [0, 0, 165, 77] + + for name in frame_names: + self.option_frames.append(tool.get_image(tool.GFX[name], *frame_rect, c.BLACK, 1.7)) + + self.option_frame_index = 0 + self.option_image = self.option_frames[self.option_frame_index] + self.option_rect = self.option_image.get_rect() + self.option_rect.x = 435 + self.option_rect.y = 75 + + self.option_start = 0 + self.option_timer = 0 + self.option_clicked = False + + def checkOptionClick(self, mouse_pos): + x, y = mouse_pos + if(x >= self.option_rect.x and x <= self.option_rect.right and + y >= self.option_rect.y and y <= self.option_rect.bottom): + self.option_clicked = True + self.option_timer = self.option_start = self.current_time + return False + + def update(self, surface, current_time, mouse_pos, mouse_click): + self.current_time = self.game_info[c.CURRENT_TIME] = current_time + + if not self.option_clicked: + if mouse_pos: + self.checkOptionClick(mouse_pos) + else: + if(self.current_time - self.option_timer) > 200: + self.option_frame_index += 1 + if self.option_frame_index >= 2: + self.option_frame_index = 0 + self.option_timer = self.current_time + self.option_image = self.option_frames[self.option_frame_index] + if(self.current_time - self.option_start) > 1300: + self.done = True + + surface.blit(self.bg_image, self.bg_rect) + surface.blit(self.option_image, self.option_rect) \ No newline at end of file diff --git a/source/state/screen.py b/source/state/screen.py new file mode 100644 index 0000000..a624460 --- /dev/null +++ b/source/state/screen.py @@ -0,0 +1,59 @@ +__author__ = 'marble_xu' + +import pygame as pg +from .. import tool +from .. import constants as c + +class Screen(tool.State): + def __init__(self): + tool.State.__init__(self) + self.end_time = 3000 + + def startup(self, current_time, persist): + self.start_time = current_time + self.next = c.LEVEL + self.persist = persist + self.game_info = persist + name = self.getImageName() + self.setupImage(name) + self.next = self.set_next_state() + + def getImageName(self): + pass + + def set_next_state(self): + pass + + def setupImage(self, name): + frame_rect = [0, 0, 800, 600] + self.image = tool.get_image(tool.GFX[name], *frame_rect) + self.rect = self.image.get_rect() + self.rect.x = 0 + self.rect.y = 0 + + def update(self, surface, current_time, mouse_pos, mouse_click): + if(current_time - self.start_time) < self.end_time: + surface.fill(c.WHITE) + surface.blit(self.image, self.rect) + else: + self.done = True + +class GameVictoryScreen(Screen): + def __init__(self): + Screen.__init__(self) + + def getImageName(self): + return c.GAME_VICTORY_IMAGE + + def set_next_state(self): + return c.LEVEL + +class GameLoseScreen(Screen): + def __init__(self): + Screen.__init__(self) + + def getImageName(self): + return c.GAME_LOOSE_IMAGE + + def set_next_state(self): + return c.MAIN_MENU \ No newline at end of file diff --git a/source/tool.py b/source/tool.py new file mode 100644 index 0000000..4cd4239 --- /dev/null +++ b/source/tool.py @@ -0,0 +1,171 @@ +__author__ = 'marble_xu' + +import os +import json +from abc import abstractmethod +import pygame as pg +from . import constants as c + +class State(): + def __init__(self): + self.start_time = 0.0 + self.current_time = 0.0 + self.done = False + self.next = None + self.persist = {} + + @abstractmethod + def startup(self, current_time, persist): + '''abstract method''' + + def cleanup(self): + self.done = False + return self.persist + + @abstractmethod + def update(sefl, surface, keys, current_time): + '''abstract method''' + +class Control(): + def __init__(self): + self.screen = pg.display.get_surface() + self.done = False + self.clock = pg.time.Clock() + self.fps = 60 + self.keys = pg.key.get_pressed() + self.mouse_pos = None + self.mouse_click = [False, False] # value:[left mouse click, right mouse click] + self.current_time = 0.0 + self.state_dict = {} + self.state_name = None + self.state = None + self.game_info = {c.CURRENT_TIME:0.0, + c.LEVEL_NUM:c.START_LEVEL_NUM} + + def setup_states(self, state_dict, start_state): + self.state_dict = state_dict + self.state_name = start_state + self.state = self.state_dict[self.state_name] + self.state.startup(self.current_time, self.game_info) + + def update(self): + self.current_time = pg.time.get_ticks() + if self.state.done: + self.flip_state() + self.state.update(self.screen, self.current_time, self.mouse_pos, self.mouse_click) + self.mouse_pos = None + self.mouse_click[0] = False + self.mouse_click[1] = False + + def flip_state(self): + previous, self.state_name = self.state_name, self.state.next + persist = self.state.cleanup() + self.state = self.state_dict[self.state_name] + self.state.startup(self.current_time, persist) + + def event_loop(self): + for event in pg.event.get(): + if event.type == pg.QUIT: + self.done = True + elif event.type == pg.KEYDOWN: + self.keys = pg.key.get_pressed() + elif event.type == pg.KEYUP: + self.keys = pg.key.get_pressed() + elif event.type == pg.MOUSEBUTTONDOWN: + self.mouse_pos = pg.mouse.get_pos() + self.mouse_click[0], _, self.mouse_click[1] = pg.mouse.get_pressed() + print('pos:', self.mouse_pos, ' mouse:', self.mouse_click) + + def main(self): + while not self.done: + self.event_loop() + self.update() + pg.display.update() + self.clock.tick(self.fps) + print('game over') + +def get_image(sheet, x, y, width, height, colorkey=c.BLACK, scale=1): + image = pg.Surface([width, height]) + rect = image.get_rect() + + image.blit(sheet, (0, 0), (x, y, width, height)) + image.set_colorkey(colorkey) + image = pg.transform.scale(image, + (int(rect.width*scale), + int(rect.height*scale))) + return image + +def load_image_frames(directory, image_name, colorkey, accept): + frame_list = [] + tmp = {} + # image_name is "Peashooter", pic name is 'Peashooter_1', get the index 1 + index_start = len(image_name) + 1 + frame_num = 0; + for pic in os.listdir(directory): + name, ext = os.path.splitext(pic) + if ext.lower() in accept: + index = int(name[index_start:]) + img = pg.image.load(os.path.join(directory, pic)) + if img.get_alpha(): + img = img.convert_alpha() + else: + img = img.convert() + img.set_colorkey(colorkey) + tmp[index]= img + frame_num += 1 + + for i in range(frame_num): + frame_list.append(tmp[i]) + return frame_list + +def load_all_gfx(directory, colorkey=(255,0,255), accept=('.png', '.jpg', '.bmp', '.gif')): + graphics = {} + for name1 in os.listdir(directory): + # subfolders under the folder resources\graphics + dir1 = os.path.join(directory, name1) + print(dir1) + if os.path.isdir(dir1): + for name2 in os.listdir(dir1): + dir2 = os.path.join(dir1, name2) + print(dir2) + # e.g. subfolders under the folder resources\graphics\Plants + if os.path.isdir(dir2): + for name3 in os.listdir(dir2): + dir3 = os.path.join(dir2, name3) + print(dir3) + # e.g. subfolders or pics under the folder resources\graphics\Plants\Peashooter + if os.path.isdir(dir3): + # e.g. subfolders under the folder resources\graphics\Plants\WallNut + image_name, _ = os.path.splitext(name3) + graphics[image_name] = load_image_frames(dir3, image_name, colorkey, accept) + else: + # e.g. pics under the folder resources\graphics\Plants\Peashooter + image_name, _ = os.path.splitext(name2) + graphics[image_name] = load_image_frames(dir2, image_name, colorkey, accept) + break + else: + # e.g. pics under the folder resources\graphics\Menubar + name, ext = os.path.splitext(name2) + if ext.lower() in accept: + img = pg.image.load(dir2) + if img.get_alpha(): + img = img.convert_alpha() + else: + img = img.convert() + img.set_colorkey(colorkey) + graphics[name] = img + return graphics + +def loadZombieImageRect(): + file_path = os.path.join('source', 'data', 'entity', 'zombie.json') + f = open(file_path) + data = json.load(f) + f.close() + return data[c.ZOMBIE_IMAGE_RECT] + +pg.init() +pg.display.set_caption(c.ORIGINAL_CAPTION) +SCREEN = pg.display.set_mode(c.SCREEN_SIZE) + +GFX = load_all_gfx(os.path.join("resources","graphics")) +ZOMBIE_RECT = loadZombieImageRect() \ No newline at end of file