Field.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:Jeff-Long-Run 作者: matthiasrigaud 项目源码 文件源码
def check_collisions(self, jeff, level_select):
        for j in range(len(self.level_data["DATA"])):
            # if self.y - 50 * (j + 1) < jeff.get_pos()[1]:
            #     break
            for i in range(int(self.level_cursor), int(self.level_cursor) + int(Constant.WIN_WIDTH / 50) + 1):
                if i >= len(self.level_data["DATA"][j]) or (i - self.level_cursor) * 50 > jeff.get_pos()[0] + 50:
                    break
                if self.level_data["TILES"][self.level_data["DATA"][j][i]]["NAME"] == "End":
                    self.lvl_end = True
                    level_select.unlock_next_level(self.last_level)
                if pygame.Rect([jeff.get_pos()[0] + 2, jeff.get_pos()[1] - 2],
                               [46, 46]).colliderect(pygame.Rect([(i - self.level_cursor) * 50, self.y - 50 * (j + 1)], [50, 50])) and \
                               self.level_data["TILES"][self.level_data["DATA"][j][i]]["NAME"] == "Bloc":
                    print(self.level_data["TILES"][self.level_data["DATA"][j][i]]["NAME"])
                    jeff.die()
                elif pygame.Rect([jeff.get_pos()[0] + 10, jeff.get_pos()[1] - 10],
                                 [30, 30]).colliderect(pygame.Rect([(i - self.level_cursor) * 50, self.y - 50 * (j + 1)], [50, 50])):
                    if self.level_data["TILES"][self.level_data["DATA"][j][i]]["NAME"] == "Pic":
                        print(self.level_data["TILES"][self.level_data["DATA"][j][i]]["NAME"])
                        jeff.die()
                    elif self.level_data["TILES"][self.level_data["DATA"][j][i]]["NAME"] == "Energy":
                        self.level_data["DATA"][j][i] = 0
                        jeff.obtain_energy()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号