进一步将常数性内容汇总到constants.py中
This commit is contained in:
parent
c4a756756b
commit
d054ff498b
@ -4,129 +4,6 @@ import pygame as pg
|
|||||||
from .. import tool
|
from .. import tool
|
||||||
from .. import constants as c
|
from .. import constants as c
|
||||||
|
|
||||||
plantInfo = (# 元组 (植物名称, 卡片名称, 阳光, 冷却时间)
|
|
||||||
(c.PEASHOOTER,
|
|
||||||
c.CARD_PEASHOOTER,
|
|
||||||
100,
|
|
||||||
7500),
|
|
||||||
(c.SUNFLOWER,
|
|
||||||
c.CARD_SUNFLOWER,
|
|
||||||
50,
|
|
||||||
7500),
|
|
||||||
(c.CHERRYBOMB,
|
|
||||||
c.CARD_CHERRYBOMB,
|
|
||||||
150,
|
|
||||||
50000),
|
|
||||||
(c.WALLNUT,
|
|
||||||
c.CARD_WALLNUT,
|
|
||||||
50,
|
|
||||||
30000),
|
|
||||||
(c.POTATOMINE,
|
|
||||||
c.CARD_POTATOMINE,
|
|
||||||
25,
|
|
||||||
30000),
|
|
||||||
(c.SNOWPEASHOOTER,
|
|
||||||
c.CARD_SNOWPEASHOOTER,
|
|
||||||
175,
|
|
||||||
7500),
|
|
||||||
(c.CHOMPER,
|
|
||||||
c.CARD_CHOMPER,
|
|
||||||
150,
|
|
||||||
7500),
|
|
||||||
(c.REPEATERPEA,
|
|
||||||
c.CARD_REPEATERPEA,
|
|
||||||
200,
|
|
||||||
7500),
|
|
||||||
(c.PUFFSHROOM,
|
|
||||||
c.CARD_PUFFSHROOM,
|
|
||||||
0,
|
|
||||||
7500),
|
|
||||||
(c.SUNSHROOM,
|
|
||||||
c.CARD_SUNSHROOM,
|
|
||||||
25,
|
|
||||||
7500),
|
|
||||||
(c.FUMESHROOM,
|
|
||||||
c.CARD_FUMESHROOM,
|
|
||||||
75,
|
|
||||||
7500),
|
|
||||||
(c.GRAVEBUSTER,
|
|
||||||
c.CARD_GRAVEBUSTER,
|
|
||||||
75,
|
|
||||||
7500),
|
|
||||||
(c.HYPNOSHROOM,
|
|
||||||
c.CARD_HYPNOSHROOM,
|
|
||||||
75,
|
|
||||||
30000),
|
|
||||||
(c.SCAREDYSHROOM,
|
|
||||||
c.CARD_SCAREDYSHROOM,
|
|
||||||
25,
|
|
||||||
7500),
|
|
||||||
(c.ICESHROOM,
|
|
||||||
c.CARD_ICESHROOM,
|
|
||||||
75,
|
|
||||||
50000),
|
|
||||||
(c.DOOMSHROOM,
|
|
||||||
c.CARD_DOOMSHROOM,
|
|
||||||
75,
|
|
||||||
50000),
|
|
||||||
(c.LILYPAD,
|
|
||||||
c.CARD_LILYPAD,
|
|
||||||
25,
|
|
||||||
7500),
|
|
||||||
(c.SQUASH,
|
|
||||||
c.CARD_SQUASH,
|
|
||||||
50,
|
|
||||||
30000),
|
|
||||||
(c.TANGLEKLEP,
|
|
||||||
c.CARD_TANGLEKLEP,
|
|
||||||
25,
|
|
||||||
30000),
|
|
||||||
(c.THREEPEASHOOTER,
|
|
||||||
c.CARD_THREEPEASHOOTER,
|
|
||||||
325,
|
|
||||||
7500),
|
|
||||||
(c.JALAPENO,
|
|
||||||
c.CARD_JALAPENO,
|
|
||||||
125,
|
|
||||||
50000),
|
|
||||||
(c.SPIKEWEED,
|
|
||||||
c.CARD_SPIKEWEED,
|
|
||||||
100,
|
|
||||||
7500),
|
|
||||||
(c.TORCHWOOD,
|
|
||||||
c.CARD_TORCHWOOD,
|
|
||||||
175,
|
|
||||||
7500),
|
|
||||||
(c.TALLNUT,
|
|
||||||
c.CARD_TALLNUT,
|
|
||||||
125,
|
|
||||||
30000),
|
|
||||||
(c.SEASHROOM,
|
|
||||||
c.CARD_SEASHROOM,
|
|
||||||
125,
|
|
||||||
30000),
|
|
||||||
(c.STARFRUIT,
|
|
||||||
c.CARD_STARFRUIT,
|
|
||||||
125,
|
|
||||||
7500),
|
|
||||||
(c.COFFEEBEAN,
|
|
||||||
c.CARD_COFFEEBEAN,
|
|
||||||
75,
|
|
||||||
7500),
|
|
||||||
# 应当保证这两个在一般模式下不可选的特殊植物恒在最后
|
|
||||||
(c.WALLNUTBOWLING,
|
|
||||||
c.CARD_WALLNUT,
|
|
||||||
0,
|
|
||||||
0),
|
|
||||||
(c.REDWALLNUTBOWLING,
|
|
||||||
c.CARD_REDWALLNUT,
|
|
||||||
0,
|
|
||||||
0),
|
|
||||||
)
|
|
||||||
|
|
||||||
# 指定了哪些卡可选
|
|
||||||
cards_to_choose = range(len(plantInfo) - 2)
|
|
||||||
|
|
||||||
|
|
||||||
def getSunValueImage(sun_value):
|
def getSunValueImage(sun_value):
|
||||||
# for pack, must include ttf
|
# for pack, must include ttf
|
||||||
@ -148,7 +25,7 @@ def getSunValueImage(sun_value):
|
|||||||
def getCardPool(data):
|
def getCardPool(data):
|
||||||
card_pool = []
|
card_pool = []
|
||||||
for card in data:
|
for card in data:
|
||||||
for i,name in enumerate(plantInfo):
|
for i,name in enumerate(c.PLANT_CARD_INFO):
|
||||||
if name[c.PLANT_NAME_INDEX] == card:
|
if name[c.PLANT_NAME_INDEX] == card:
|
||||||
card_pool.append(i)
|
card_pool.append(i)
|
||||||
break
|
break
|
||||||
@ -156,14 +33,14 @@ def getCardPool(data):
|
|||||||
|
|
||||||
class Card():
|
class Card():
|
||||||
def __init__(self, x, y, index, scale=0.5):
|
def __init__(self, x, y, index, scale=0.5):
|
||||||
self.loadFrame(plantInfo[index][c.CARD_INDEX], scale)
|
self.loadFrame(c.PLANT_CARD_INFO[index][c.CARD_INDEX], scale)
|
||||||
self.rect = self.orig_image.get_rect()
|
self.rect = self.orig_image.get_rect()
|
||||||
self.rect.x = x
|
self.rect.x = x
|
||||||
self.rect.y = y
|
self.rect.y = y
|
||||||
|
|
||||||
self.index = index
|
self.index = index
|
||||||
self.sun_cost = plantInfo[index][c.SUN_INDEX]
|
self.sun_cost = c.PLANT_CARD_INFO[index][c.SUN_INDEX]
|
||||||
self.frozen_time = plantInfo[index][c.FROZEN_INDEX]
|
self.frozen_time = c.PLANT_CARD_INFO[index][c.FROZEN_INDEX]
|
||||||
self.frozen_timer = -self.frozen_time
|
self.frozen_timer = -self.frozen_time
|
||||||
self.refresh_timer = 0
|
self.refresh_timer = 0
|
||||||
self.select = True
|
self.select = True
|
||||||
@ -285,7 +162,7 @@ class MenuBar():
|
|||||||
for card in self.card_list:
|
for card in self.card_list:
|
||||||
if card.checkMouseClick(mouse_pos):
|
if card.checkMouseClick(mouse_pos):
|
||||||
if card.canClick(self.sun_value, self.current_time):
|
if card.canClick(self.sun_value, self.current_time):
|
||||||
result = (plantInfo[card.index][c.PLANT_NAME_INDEX], card)
|
result = (c.PLANT_CARD_INFO[card.index][c.PLANT_NAME_INDEX], card)
|
||||||
break
|
break
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@ -306,7 +183,7 @@ class MenuBar():
|
|||||||
|
|
||||||
def setCardFrozenTime(self, plant_name):
|
def setCardFrozenTime(self, plant_name):
|
||||||
for card in self.card_list:
|
for card in self.card_list:
|
||||||
if plantInfo[card.index][c.PLANT_NAME_INDEX] == plant_name:
|
if c.PLANT_CARD_INFO[card.index][c.PLANT_NAME_INDEX] == plant_name:
|
||||||
card.setFrozenTime(self.current_time)
|
card.setFrozenTime(self.current_time)
|
||||||
break
|
break
|
||||||
|
|
||||||
@ -522,8 +399,8 @@ class MoveBar():
|
|||||||
y = 6
|
y = 6
|
||||||
index = random.randint(0, len(self.card_pool) - 1)
|
index = random.randint(0, len(self.card_pool) - 1)
|
||||||
card_index = self.card_pool[index]
|
card_index = self.card_pool[index]
|
||||||
card_name = plantInfo[card_index][c.CARD_INDEX] + '_move'
|
card_name = c.PLANT_CARD_INFO[card_index][c.CARD_INDEX] + '_move'
|
||||||
plant_name = plantInfo[card_index][c.PLANT_NAME_INDEX]
|
plant_name = c.PLANT_CARD_INFO[card_index][c.PLANT_NAME_INDEX]
|
||||||
self.card_list.append(MoveCard(x, y, card_name, plant_name))
|
self.card_list.append(MoveCard(x, y, card_name, plant_name))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|||||||
@ -368,6 +368,131 @@ CARD_DOOMSHROOM = 'card_doomshroom'
|
|||||||
CARD_GRAVEBUSTER = 'card_gravebuster'
|
CARD_GRAVEBUSTER = 'card_gravebuster'
|
||||||
CARD_FUMESHROOM = 'card_fumeshroom'
|
CARD_FUMESHROOM = 'card_fumeshroom'
|
||||||
|
|
||||||
|
|
||||||
|
# 植物卡片信息(包括植物名称, 卡片名称, 阳光, 冷却时间)
|
||||||
|
PLANT_CARD_INFO = (# 元组 (植物名称, 卡片名称, 阳光, 冷却时间)
|
||||||
|
(PEASHOOTER,
|
||||||
|
CARD_PEASHOOTER,
|
||||||
|
100,
|
||||||
|
7500),
|
||||||
|
(SUNFLOWER,
|
||||||
|
CARD_SUNFLOWER,
|
||||||
|
50,
|
||||||
|
7500),
|
||||||
|
(CHERRYBOMB,
|
||||||
|
CARD_CHERRYBOMB,
|
||||||
|
150,
|
||||||
|
50000),
|
||||||
|
(WALLNUT,
|
||||||
|
CARD_WALLNUT,
|
||||||
|
50,
|
||||||
|
30000),
|
||||||
|
(POTATOMINE,
|
||||||
|
CARD_POTATOMINE,
|
||||||
|
25,
|
||||||
|
30000),
|
||||||
|
(SNOWPEASHOOTER,
|
||||||
|
CARD_SNOWPEASHOOTER,
|
||||||
|
175,
|
||||||
|
7500),
|
||||||
|
(CHOMPER,
|
||||||
|
CARD_CHOMPER,
|
||||||
|
150,
|
||||||
|
7500),
|
||||||
|
(REPEATERPEA,
|
||||||
|
CARD_REPEATERPEA,
|
||||||
|
200,
|
||||||
|
7500),
|
||||||
|
(PUFFSHROOM,
|
||||||
|
CARD_PUFFSHROOM,
|
||||||
|
0,
|
||||||
|
7500),
|
||||||
|
(SUNSHROOM,
|
||||||
|
CARD_SUNSHROOM,
|
||||||
|
25,
|
||||||
|
7500),
|
||||||
|
(FUMESHROOM,
|
||||||
|
CARD_FUMESHROOM,
|
||||||
|
75,
|
||||||
|
7500),
|
||||||
|
(GRAVEBUSTER,
|
||||||
|
CARD_GRAVEBUSTER,
|
||||||
|
75,
|
||||||
|
7500),
|
||||||
|
(HYPNOSHROOM,
|
||||||
|
CARD_HYPNOSHROOM,
|
||||||
|
75,
|
||||||
|
30000),
|
||||||
|
(SCAREDYSHROOM,
|
||||||
|
CARD_SCAREDYSHROOM,
|
||||||
|
25,
|
||||||
|
7500),
|
||||||
|
(ICESHROOM,
|
||||||
|
CARD_ICESHROOM,
|
||||||
|
75,
|
||||||
|
50000),
|
||||||
|
(DOOMSHROOM,
|
||||||
|
CARD_DOOMSHROOM,
|
||||||
|
75,
|
||||||
|
50000),
|
||||||
|
(LILYPAD,
|
||||||
|
CARD_LILYPAD,
|
||||||
|
25,
|
||||||
|
7500),
|
||||||
|
(SQUASH,
|
||||||
|
CARD_SQUASH,
|
||||||
|
50,
|
||||||
|
30000),
|
||||||
|
(TANGLEKLEP,
|
||||||
|
CARD_TANGLEKLEP,
|
||||||
|
25,
|
||||||
|
30000),
|
||||||
|
(THREEPEASHOOTER,
|
||||||
|
CARD_THREEPEASHOOTER,
|
||||||
|
325,
|
||||||
|
7500),
|
||||||
|
(JALAPENO,
|
||||||
|
CARD_JALAPENO,
|
||||||
|
125,
|
||||||
|
50000),
|
||||||
|
(SPIKEWEED,
|
||||||
|
CARD_SPIKEWEED,
|
||||||
|
100,
|
||||||
|
7500),
|
||||||
|
(TORCHWOOD,
|
||||||
|
CARD_TORCHWOOD,
|
||||||
|
175,
|
||||||
|
7500),
|
||||||
|
(TALLNUT,
|
||||||
|
CARD_TALLNUT,
|
||||||
|
125,
|
||||||
|
30000),
|
||||||
|
(SEASHROOM,
|
||||||
|
CARD_SEASHROOM,
|
||||||
|
125,
|
||||||
|
30000),
|
||||||
|
(STARFRUIT,
|
||||||
|
CARD_STARFRUIT,
|
||||||
|
125,
|
||||||
|
7500),
|
||||||
|
(COFFEEBEAN,
|
||||||
|
CARD_COFFEEBEAN,
|
||||||
|
75,
|
||||||
|
7500),
|
||||||
|
# 应当保证这两个在一般模式下不可选的特殊植物恒在最后
|
||||||
|
(WALLNUTBOWLING,
|
||||||
|
CARD_WALLNUT,
|
||||||
|
0,
|
||||||
|
0),
|
||||||
|
(REDWALLNUTBOWLING,
|
||||||
|
CARD_REDWALLNUT,
|
||||||
|
0,
|
||||||
|
0),
|
||||||
|
)
|
||||||
|
|
||||||
|
# 指定了哪些卡可选
|
||||||
|
CARDS_TO_CHOOSE = range(len(PLANT_CARD_INFO) - 2)
|
||||||
|
|
||||||
# 子弹信息
|
# 子弹信息
|
||||||
# 子弹类型
|
# 子弹类型
|
||||||
BULLET_PEA = 'PeaNormal'
|
BULLET_PEA = 'PeaNormal'
|
||||||
|
|||||||
@ -364,7 +364,7 @@ class Level(tool.State):
|
|||||||
|
|
||||||
def initChoose(self):
|
def initChoose(self):
|
||||||
self.state = c.CHOOSE
|
self.state = c.CHOOSE
|
||||||
self.panel = menubar.Panel(menubar.cards_to_choose, self.map_data[c.INIT_SUN_NAME])
|
self.panel = menubar.Panel(c.CARDS_TO_CHOOSE, self.map_data[c.INIT_SUN_NAME])
|
||||||
|
|
||||||
# 播放选卡音乐
|
# 播放选卡音乐
|
||||||
pg.mixer.music.stop()
|
pg.mixer.music.stop()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user