52 | def draw(self): |
53 | self.screen.fill((0, 100, 0)) |
54 | pygame.draw.rect(self.screen, (135, 206, 235), pygame.Rect(0, 0, self.width, 100)) |
55 | for i in range(2): |
56 | if self.dead[i]: |
57 | img = CrackGame.DEAD_IMAGE |
58 | elif not self.jumps[i]: |
59 | img = CrackGame.IMAGES[self.current_frame] |
60 | else: |
61 | img = CrackGame.JUMP_IMAGE |
62 | |
63 | pygame.draw.rect(self.screen, (200, 200, 200), pygame.Rect(0, self.sidewalk_y + i*2*self.sidewalk_height, self.width, self.sidewalk_height)) |
64 | pygame.draw.rect(self.screen, (150, 150, 150), pygame.Rect(0, self.sidewalk_y+self.sidewalk_height + i*2*self.sidewalk_height, self.width, self.sidewalk_height/5)) |
65 | p = 0 |
66 | for crack in self.cracks: |
67 | pygame.draw.aaline(self.screen, (0, 0, 0), (p + crack - 10, self.sidewalk_y+self.sidewalk_height + i*2*self.sidewalk_height), (p + crack + 10, self.sidewalk_y + i*2*self.sidewalk_height)) |
68 | pygame.draw.aaline(self.screen, (0, 0, 0), (p + crack - 10, self.sidewalk_y+self.sidewalk_height + i*2*self.sidewalk_height), (p + crack - 10, self.sidewalk_y+self.sidewalk_height + i*2*self.sidewalk_height + self.sidewalk_height/5)) |
69 | p += crack |
70 | if not self.jumping[i]: |
71 | if (self.positions[i][0] < self.width) and (self.positions[i][0] - img.get_rect().width/4 < p < self.positions[i][0] + img.get_rect().width/4): |
72 | self.dead[i] = True |
73 | |
74 | if not self.dead[i]: |
75 | width = img.get_rect().width - ((self.sidewalk_y+self.sidewalk_height/2 + 2*i*self.sidewalk_height - self.positions[i][1]) / 8) |
76 | pygame.draw.ellipse(self.screen, (180, 180, 180), pygame.Rect(self.positions[i][0] - img.get_rect().width/2, self.sidewalk_y + i*2*self.sidewalk_height + 60, width, 20)) |
77 | self.screen.blit(img, pygame.Rect(self.positions[i][0] - img.get_rect().width/2, self.positions[i][1] - 0.75*img.get_rect().height, img.get_rect().width, img.get_rect().height)) |