之前的进度忘了写文章记录了,从今天开始记录日志
今日进度:
- 在Map类里初始化5个GrassRow对象,并绘制背景(草地)
(x, y) = self.Benchmark
self.all_GrRows = [GrassRow(i, (x, y+self.cell_h*i)) for i in range(5)]
self.all_ZBQs = [ZBQueue((1100, y+self.cell_h*i)) for i in range(5)]
- 点击种植植物
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
lm_pressed = True
elif event.type == pygame.MOUSEBUTTONUP:
if lm_pressed is True:
lm_pressed = False
mouse_pos = pygame.mouse.get_pos()
logic_pos = [(i - 100) // 100 for i in mouse_pos]
if 0 <= logic_pos[0] <= 8 and 0 <= logic_pos[1] <= 4:
gameMap.deal_events(logic_pos, 1)
不足之处:植物的种植取决于鼠标左键松开的位置
3. 按“1、2、3”键切换植物
# Map类添加如下代码
def deal_events(self, logic_pos, key):
if key is None:
print("呃呃呃")
return
col = logic_pos[0]
row = logic_pos[1]
if key == 0:
self.all_GrRows[row].add(PL_peashooter, col)
elif key == 1:
self.all_GrRows[row].add(PL_sunflower, col)
elif key == 2:
self.all_GrRows[row].add(PL_nut, col)
# 主游戏添加全局变量记录每次按键
key_record = None
# 主进程添加如下:
for event in pygame.event.get():
if ...
elif event.type == pygame.KEYDOWN:
key_record = event.key - 49
elif ...
# 松开按键处改动
gameMap.deal_events(logic_pos, key_record)