From 05afc2fbaef961f828efd72fc390d34e19f2ecb4 Mon Sep 17 00:00:00 2001 From: marblexu <314299052@qq.com> Date: Sun, 10 Nov 2019 16:30:49 +0800 Subject: [PATCH] add potatomine --- resources/graphics/Cards/card_potatomine.png | Bin 0 -> 10689 bytes .../PotatoMine/PotatoMine/PotatoMine_0.png | Bin 0 -> 3873 bytes .../PotatoMine/PotatoMine/PotatoMine_1.png | Bin 0 -> 3718 bytes .../PotatoMine/PotatoMine/PotatoMine_2.png | Bin 0 -> 4044 bytes .../PotatoMine/PotatoMine/PotatoMine_3.png | Bin 0 -> 3873 bytes .../PotatoMine/PotatoMine/PotatoMine_4.png | Bin 0 -> 3726 bytes .../PotatoMine/PotatoMine/PotatoMine_5.png | Bin 0 -> 3718 bytes .../PotatoMine/PotatoMine/PotatoMine_6.png | Bin 0 -> 4044 bytes .../PotatoMine/PotatoMine/PotatoMine_7.png | Bin 0 -> 3873 bytes .../PotatoMineExplode/PotatoMineExplode_0.png | Bin 0 -> 4717 bytes .../PotatoMineInit/PotatoMineInit_0.png | Bin 0 -> 1380 bytes source/component/menubar.py | 10 +- source/component/plant.py | 96 ++++++++++++------ source/component/zombie.py | 6 +- source/constants.py | 2 + source/data/entity/plant.json | 3 +- source/state/level.py | 25 +++-- 17 files changed, 98 insertions(+), 44 deletions(-) create mode 100644 resources/graphics/Cards/card_potatomine.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_0.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_1.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_2.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_3.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_4.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_5.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_6.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_7.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMineExplode/PotatoMineExplode_0.png create mode 100644 resources/graphics/Plants/PotatoMine/PotatoMineInit/PotatoMineInit_0.png diff --git a/resources/graphics/Cards/card_potatomine.png b/resources/graphics/Cards/card_potatomine.png new file mode 100644 index 0000000000000000000000000000000000000000..192fe4b8b62ba7ae922eebb2fba271e62d22e8a4 GIT binary patch literal 10689 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 literal 0 HcmV?d00001 diff --git a/resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_1.png b/resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b8c37ee6073ca577a25a9289cac9dba0926396ba GIT binary patch literal 3718 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 literal 0 HcmV?d00001 diff --git a/resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_4.png b/resources/graphics/Plants/PotatoMine/PotatoMine/PotatoMine_4.png new file mode 100644 index 0000000000000000000000000000000000000000..23e4eff235478673f2b1745ec73b993208c4dba4 GIT binary patch literal 3726 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 literal 0 HcmV?d00001 diff --git a/resources/graphics/Plants/PotatoMine/PotatoMineExplode/PotatoMineExplode_0.png b/resources/graphics/Plants/PotatoMine/PotatoMineExplode/PotatoMineExplode_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f12ca5ff8bef50fa17e04ee7e2f9f73b2f71ec38 GIT binary patch literal 4717 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 X$|a%2jfG2rB_o5UtDnm{r-UW|cLsNy literal 0 HcmV?d00001 diff --git a/source/component/menubar.py b/source/component/menubar.py index 21222ce..0e41981 100644 --- a/source/component/menubar.py +++ b/source/component/menubar.py @@ -6,13 +6,13 @@ from .. import constants as c card_name_list = [c.CARD_SUNFLOWER, c.CARD_PEASHOOTER, c.CARD_SNOWPEASHOOTER, c.CARD_WALLNUT, c.CARD_CHERRYBOMB, c.CARD_THREEPEASHOOTER, c.CARD_REPEATERPEA, c.CARD_CHOMPER, - c.CARD_PUFFMUSHROOM] + c.CARD_PUFFMUSHROOM, c.CARD_POTATOMINE] plant_name_list = [c.SUNFLOWER, c.PEASHOOTER, c.SNOWPEASHOOTER, c.WALLNUT, c.CHERRYBOMB, c.THREEPEASHOOTER, c.REPEATERPEA, c.CHOMPER, - c.PUFFMUSHROOM] -plant_sun_list = [50, 100, 175, 50, 150, 325, 200, 150, 0] -plant_frozen_time_list = [0, 0, 0, 0, 0, 0, 0, 0, 8000] -card_list = [0, 1, 2, 3, 4, 8, 7] + c.PUFFMUSHROOM, c.POTATOMINE] +plant_sun_list = [50, 100, 175, 50, 150, 325, 200, 150, 0, 25] +plant_frozen_time_list = [5000, 5000, 5000, 10000, 5000, 5000, 5000, 5000, 8000, 8000] +card_list = [0, 1, 2, 3, 4, 8, 9] class Card(): def __init__(self, x, y, name_index): diff --git a/source/component/plant.py b/source/component/plant.py index 6498538..bd5a27b 100644 --- a/source/component/plant.py +++ b/source/component/plant.py @@ -126,7 +126,7 @@ class Plant(pg.sprite.Sprite): self.animate_interval = 100 self.is_attacked = False - def loadFrames(self, frames, name, scale): + def loadFrames(self, frames, name, scale, color=c.BLACK): frame_list = tool.GFX[name] if name in tool.PLANT_RECT: data = tool.PLANT_RECT[name] @@ -137,11 +137,24 @@ class Plant(pg.sprite.Sprite): width, height = rect.w, rect.h for frame in frame_list: - frames.append(tool.get_image(frame, x, y, width, height, c.BLACK, scale)) + frames.append(tool.get_image(frame, x, y, width, height, color, scale)) def loadImages(self, name, scale): self.loadFrames(self.frames, name, scale) + 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 + x = self.rect.x + self.image = self.frames[self.frame_index] + self.rect = self.image.get_rect() + self.rect.bottom = bottom + self.rect.x = x + def update(self, game_info): self.current_time = game_info[c.CURRENT_TIME] self.handleState() @@ -185,8 +198,8 @@ class Plant(pg.sprite.Sprite): return False def setAttack(self): - pass - + self.state = c.ATTACK + def setIdle(self): self.state = c.IDLE self.is_attacked = False @@ -252,9 +265,6 @@ class PeaShooter(Plant): c.BULLET_PEA, c.BULLET_DAMAGE_NORMAL, False)) self.shoot_timer = self.current_time - def setAttack(self): - self.state = c.ATTACK - class RepeaterPea(Plant): def __init__(self, x, y, bullet_group): Plant.__init__(self, x, y, c.REPEATERPEA, c.PLANT_HEALTH, bullet_group) @@ -268,9 +278,6 @@ class RepeaterPea(Plant): c.BULLET_PEA, c.BULLET_DAMAGE_NORMAL, False)) self.shoot_timer = self.current_time - def setAttack(self): - self.state = c.ATTACK - class ThreePeaShooter(Plant): def __init__(self, x, y, bullet_groups, map_y): Plant.__init__(self, x, y, c.THREEPEASHOOTER, c.PLANT_HEALTH, None) @@ -289,9 +296,6 @@ class ThreePeaShooter(Plant): self.bullet_groups[tmp_y].add(Bullet(self.rect.right, self.rect.y, dest_y, c.BULLET_PEA, c.BULLET_DAMAGE_NORMAL, False)) self.shoot_timer = self.current_time - - def setAttack(self): - self.state = c.ATTACK class SnowPeaShooter(Plant): def __init__(self, x, y, bullet_group): @@ -304,9 +308,6 @@ class SnowPeaShooter(Plant): c.BULLET_PEA_ICE, c.BULLET_DAMAGE_NORMAL, True)) 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) @@ -342,6 +343,8 @@ class CherryBomb(Plant): self.state = c.ATTACK self.start_boom = False self.bomb_timer = 0 + self.explode_y_range = 1 + self.explode_x_range = c.GRID_X_SIZE def setBoom(self): frame = tool.GFX[c.CHERRY_BOOM_IMAGE] @@ -435,19 +438,6 @@ class Chomper(Plant): self.attack_zombie.kill() self.setIdle() - 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 - x = self.rect.x - self.image = self.frames[self.frame_index] - self.rect = self.image.get_rect() - self.rect.bottom = bottom - self.rect.x = x - class PuffMushroom(Plant): def __init__(self, x, y, bullet_group): Plant.__init__(self, x, y, c.PUFFMUSHROOM, c.PLANT_HEALTH, bullet_group) @@ -468,5 +458,49 @@ class PuffMushroom(Plant): return True return False - def setAttack(self): - self.state = c.ATTACK \ No newline at end of file +class PotatoMine(Plant): + def __init__(self, x, y): + Plant.__init__(self, x, y, c.POTATOMINE, c.PLANT_HEALTH, None) + self.animate_interval = 300 + self.is_init = True + self.init_timer = 0 + self.bomb_timer = 0 + self.explode_y_range = 0 + self.explode_x_range = c.GRID_X_SIZE//2 + + def loadImages(self, name, scale): + self.init_frames = [] + self.idle_frames = [] + self.explode_frames = [] + + init_name = name + 'Init' + idle_name = name + explode_name = name + 'Explode' + + frame_list = [self.init_frames, self.idle_frames, self.explode_frames] + name_list = [init_name, idle_name, explode_name] + + for i, name in enumerate(name_list): + self.loadFrames(frame_list[i], name, 1, c.WHITE) + + self.frames = self.init_frames + + def idling(self): + if self.is_init: + if self.init_timer == 0: + self.init_timer = self.current_time + elif (self.current_time - self.init_timer) > 15000: + self.changeFrames(self.idle_frames) + self.is_init = False + + def canAttack(self, zombie): + if not self.is_init and abs(zombie.rect.x - self.rect.x) <= self.explode_x_range: + return True + return False + + def attacking(self): + if self.bomb_timer == 0: + self.bomb_timer = self.current_time + self.changeFrames(self.explode_frames) + elif (self.current_time - self.bomb_timer) > 500: + self.health = 0 \ No newline at end of file diff --git a/source/component/zombie.py b/source/component/zombie.py index c89f6cc..75a2842 100644 --- a/source/component/zombie.py +++ b/source/component/zombie.py @@ -348,6 +348,10 @@ class NewspaperZombie(Zombie): 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'], c.WHITE) + if name == c.BOOMDIE: + color = c.BLACK + else: + color = c.WHITE + self.loadFrames(frame_list[i], name, tool.ZOMBIE_RECT[name]['x'], color) self.frames = self.helmet_walk_frames \ No newline at end of file diff --git a/source/constants.py b/source/constants.py index b43e5fe..44f0cfa 100644 --- a/source/constants.py +++ b/source/constants.py @@ -72,6 +72,7 @@ REPEATERPEA = 'RepeaterPea' CHOMPER = 'Chomper' CHERRY_BOOM_IMAGE = 'Boom' PUFFMUSHROOM = 'PuffMushroom' +POTATOMINE = 'PotatoMine' SPIKEWEED = 'Spikeweed' PLANT_HEALTH = 5 @@ -96,6 +97,7 @@ CARD_THREEPEASHOOTER = 'card_threepeashooter' CARD_REPEATERPEA = 'card_repeaterpea' CARD_CHOMPER = 'card_chomper' CARD_PUFFMUSHROOM = 'card_puffmushroom' +CARD_POTATOMINE = 'card_potatomine' CARD_SPIKEWEED = 'card_spikeweed' #BULLET INFO diff --git a/source/data/entity/plant.json b/source/data/entity/plant.json index 94222aa..5d5c4c3 100644 --- a/source/data/entity/plant.json +++ b/source/data/entity/plant.json @@ -4,6 +4,7 @@ "PeaIce":{"x":26, "y":0, "width":30, "height":34}, "Chomper":{"x":0, "y":0, "width":100, "height":114}, "PuffMushroom":{"x":0, "y":28, "width":35, "height":38}, - "BulletMushRoom":{"x":0, "y":1, "width":55, "height":21} + "BulletMushRoom":{"x":0, "y":1, "width":55, "height":21}, + "PotatoMine":{"x":0, "y":0, "width":75, "height":55} } } \ No newline at end of file diff --git a/source/state/level.py b/source/state/level.py index 65c216a..79aa928 100644 --- a/source/state/level.py +++ b/source/state/level.py @@ -178,6 +178,8 @@ class Level(tool.State): self.plant_groups[map_y].add(plant.Chomper(x, y)) elif self.plant_name == c.PUFFMUSHROOM: self.plant_groups[map_y].add(plant.PuffMushroom(x, y, self.bullet_groups[map_y])) + elif self.plant_name == c.POTATOMINE: + self.plant_groups[map_y].add(plant.PotatoMine(x, y)) self.menubar.decreaseSunValue(self.plant_cost) self.menubar.setCardFrozenTime(self.plant_name) @@ -214,7 +216,11 @@ class Level(tool.State): rect = frame_list[0].get_rect() width, height = rect.w, rect.h - self.mouse_image = tool.get_image(frame_list[0], x, y, width, height, c.BLACK, 1) + if plant_name == c.POTATOMINE: + color = c.WHITE + else: + color = c.BLACK + self.mouse_image = tool.get_image(frame_list[0], x, y, width, height, color, 1) self.mouse_rect = self.mouse_image.get_rect() pg.mouse.set_visible(False) self.drag_plant = True @@ -258,19 +264,21 @@ class Level(tool.State): if car.dead: self.cars.remove(car) - def boomZombies(self, x, map_y): + def boomZombies(self, x, map_y, y_range, x_range): for i in range(self.map_y_len): - if abs(i - map_y) > 1: + if abs(i - map_y) > y_range: continue for zombie in self.zombie_groups[i]: - if abs(zombie.rect.x - x) <= c.GRID_X_SIZE: + if abs(zombie.rect.x - x) <= x_range: 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) + if (plant.name == c.CHERRYBOMB or + (plant.name == c.POTATOMINE and not plant.is_init)): + self.boomZombies(plant.rect.centerx, map_y, plant.explode_y_range, + plant.explode_x_range) plant.kill() def checkPlant(self, plant, i): @@ -297,6 +305,11 @@ class Level(tool.State): if plant.canAttack(zombie): plant.setAttack(zombie, self.zombie_groups[i]) break + elif plant.name == c.POTATOMINE: + for zombie in self.zombie_groups[i]: + if plant.canAttack(zombie): + plant.setAttack() + break else: if (plant.state == c.IDLE and zombie_len > 0): for zombie in self.zombie_groups[i]: