From 170ab8b269ca0cbb2fc5608cb750dbd93e3929b2 Mon Sep 17 00:00:00 2001 From: "LAPTOP-HEA5G78D\\17592" <1759251493@qq.com> Date: Mon, 18 Dec 2023 21:17:50 +0800 Subject: [PATCH 01/51] =?UTF-8?q?=E8=BF=9E=E7=BB=AD=E9=80=9A=E8=BF=875?= =?UTF-8?q?=E5=85=B3=E5=8F=8A=E4=BB=A5=E4=B8=8A=E8=8E=B7=E5=BE=97=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E5=A4=8D=E6=B4=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- map.py | 15 ++++++++++++++- revive.py | 0 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 revive.py diff --git a/map.py b/map.py index 3c7c79f..36be579 100644 --- a/map.py +++ b/map.py @@ -1,6 +1,7 @@ from fights import * +from revive import * - +revive=revive() class Level: """ 关卡父类 @@ -36,6 +37,11 @@ class Map(Level): # 判断当前蛇是否死亡 def is_dead(self): + if (self.snake.hp < 0): + if (revive.revive_count >= 1): + revive.judge() + self.snake.hp = 100 + revive.reset_revive_count() return self.snake.hp < 0 # 绘制四周边框,是动画 @@ -177,6 +183,7 @@ class Level1(Map): # 同父类 def is_passed(self): if self.snake.level >= self.pass_level: + revive.increment_revive_count() return True return False @@ -202,6 +209,7 @@ class Level2(Map): # 同父类 def is_passed(self): if self.snake.level >= self.pass_level: + revive.increment_revive_count() return True return False @@ -232,6 +240,7 @@ class Level3(Map): # 同父类 def is_passed(self): if self.snake.level >= self.pass_level: + revive.increment_revive_count() return True return False @@ -258,6 +267,7 @@ class Level4(Map): # 同父类 def is_passed(self): if self.snake.level >= self.pass_level: + revive.increment_revive_count() return True return False @@ -308,6 +318,7 @@ class Level5(Map): # 同父类 def is_passed(self): if self.snake.level >= self.pass_level: + revive.increment_revive_count() return True return False @@ -338,6 +349,7 @@ class Level6(Map): # 同父类 def is_passed(self): if self.snake.level >= self.pass_level: + revive.increment_revive_count() return True return False @@ -383,6 +395,7 @@ class Level7(Map): # 同父类 def is_passed(self): if self.snake.level >= self.pass_level: + revive.increment_revive_count() return True return False diff --git a/revive.py b/revive.py new file mode 100644 index 0000000..e69de29 -- Gitee From d6a52513b52eff48a8ee3f66a822dbab2e95ec88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=95=E7=9D=80=E6=9C=88=E4=BA=AE=E7=9C=8B=E6=98=9F?= =?UTF-8?q?=E6=98=9F?= <1759251493@qq.com> Date: Mon, 18 Dec 2023 13:25:19 +0000 Subject: [PATCH 02/51] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20re?= =?UTF-8?q?vive.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- revive.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 revive.py diff --git a/revive.py b/revive.py deleted file mode 100644 index e69de29..0000000 -- Gitee From 117bbf12ad0bfc99742db9f148520a63a3cc8739 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=95=E7=9D=80=E6=9C=88=E4=BA=AE=E7=9C=8B=E6=98=9F?= =?UTF-8?q?=E6=98=9F?= <1759251493@qq.com> Date: Mon, 18 Dec 2023 13:26:10 +0000 Subject: [PATCH 03/51] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20ma?= =?UTF-8?q?p.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- map.py | 451 --------------------------------------------------------- 1 file changed, 451 deletions(-) delete mode 100644 map.py diff --git a/map.py b/map.py deleted file mode 100644 index 36be579..0000000 --- a/map.py +++ /dev/null @@ -1,451 +0,0 @@ -from fights import * -from revive import * - -revive=revive() -class Level: - """ - 关卡父类 - """ - def __init__(self): - pass - - # 判断是否过关 - def is_passed(self): - return False - - -class Map(Level): - """ - 地图,存储数据有所有攻击,经验球,动画以及物品(大炮,激光炮等) - per_exp为每个经验球的经验,food_count是场上经验球数量,pass_level是过关等级 - """ - def __init__(self, game): - Level.__init__(self) - self.game = game - self.objects = [] - self.exp_balls = [] - self.deme = [300, 300] - self.snake = None - self.attacks = [] - self.food_count = 5 - self.per_exp = 10 - self.pass_level = 1 - - self.boarder_cycle = ReCycle(6, 1) - - self.animations = [] - - # 判断当前蛇是否死亡 - def is_dead(self): - if (self.snake.hp < 0): - if (revive.revive_count >= 1): - revive.judge() - self.snake.hp = 100 - revive.reset_revive_count() - return self.snake.hp < 0 - - # 绘制四周边框,是动画 - def draw_boarder(self, offset): - c = self.boarder_cycle.get() - pygame.draw.line(screen, (255, 255, 255), - (-self.deme[0] + offset[0] + c, -self.deme[1] + offset[1]), - (-self.deme[0] + offset[0] + c, self.deme[1] + offset[1]), 2) - pygame.draw.line(screen, (255, 255, 255), - (-self.deme[0] + offset[0] - c, -self.deme[1] + offset[1]), - (-self.deme[0] + offset[0] - c, self.deme[1] + offset[1]), 2) - - pygame.draw.line(screen, (255, 255, 255), - (self.deme[0] + offset[0] + c, -self.deme[1] + offset[1]), - (self.deme[0] + offset[0] + c, self.deme[1] + offset[1]), 2) - pygame.draw.line(screen, (255, 255, 255), - (self.deme[0] + offset[0] - c, -self.deme[1] + offset[1]), - (self.deme[0] + offset[0] - c, self.deme[1] + offset[1]), 2) - - pygame.draw.line(screen, (255, 255, 255), - (self.deme[0] + offset[0], self.deme[1] + offset[1] + c), - (-self.deme[0] + offset[0], self.deme[1] + offset[1] + c), 2) - pygame.draw.line(screen, (255, 255, 255), - (self.deme[0] + offset[0], self.deme[1] + offset[1] - c), - (-self.deme[0] + offset[0], self.deme[1] + offset[1] - c), 2) - - pygame.draw.line(screen, (255, 255, 255), - (self.deme[0] + offset[0], -self.deme[1] + offset[1] + c), - (-self.deme[0] + offset[0], -self.deme[1] + offset[1] + c), 2) - pygame.draw.line(screen, (255, 255, 255), - (self.deme[0] + offset[0], -self.deme[1] + offset[1] - c), - (-self.deme[0] + offset[0], -self.deme[1] + offset[1] - c), 2) - - pygame.draw.rect(screen, (255, 255, 255), - pygame.Rect(offset[0] - self.deme[0] - 15, offset[1] - self.deme[1] - 15, 30, - 30)) - pygame.draw.rect(screen, (255, 255, 255), - pygame.Rect(offset[0] + self.deme[0] - 15, offset[1] - self.deme[1] - 15, 30, - 30)) - pygame.draw.rect(screen, (255, 255, 255), - pygame.Rect(offset[0] - self.deme[0] - 15, offset[1] + self.deme[1] - 15, 30, - 30)) - pygame.draw.rect(screen, (255, 255, 255), - pygame.Rect(offset[0] + self.deme[0] - 15, offset[1] + self.deme[1] - 15, 30, - 30)) - - # 添加一个激光,具体参数清参考fights里的Beam类 - def add_beam(self, position, length, direction, width=30): - self.attacks.append(Beam(self, position, length, direction, width)) - - # 添加一个子弹,具体参数清参考fights里的Bullet类 - def add_bullet(self, position, speed, radius, damage): - self.attacks.append(Bullet(self, damage, radius, position[0], position[1], speed[0], speed[1])) - - # 设置当前蛇 - def set_snake(self, snake): - self.snake = snake - - # 绘制背景底色 - def draw_background(self, offset): - pygame.draw.rect(screen, (70, 70, 70), - pygame.Rect(offset[0] - self.deme[0], offset[1] - self.deme[1], self.deme[0] * 2, - self.deme[1] * 2)) - - # 绘制地图上的所有物件 - def draw(self, offset): - for i in range(len(self.exp_balls)-1, -1, -1): - self.exp_balls[i].draw(offset) - for i in range(len(self.attacks) - 1, -1, -1): - self.attacks[i].draw(offset) - for i in range(len(self.objects) - 1, -1, -1): - self.objects[i].draw(offset) - for i in range(len(self.animations)-1, -1, -1): - self.animations[i].draw(offset) - - if self.snake.outofbound: - screen.blit(texture_lib["danger"], (0, 0)) - - self.draw_boarder(offset) - pass_render = chat_font.render("Target:"+str(self.pass_level), False, (255, 255, 255)) - screen.blit(pass_render, (450, 30)) - - # 更新地图上的所有物品,若有物品为dead则删除物品,同时判断攻击tick,以及经验球与蛇的碰撞 - def update(self): - for i in range(len(self.exp_balls)-1, -1, -1): - if get_distance(self.snake.position, self.exp_balls[i].pos) < 20: - self.snake.current_exp += self.exp_balls[i].points - ses[2].play_once() - del self.exp_balls[i] - - for i in range(len(self.animations) - 1, -1, -1): - if self.animations[i].dead: - del self.animations[i] - else: - self.animations[i].update() - - for i in range(len(self.attacks)-1, -1, -1): - self.attacks[i].update() - if self.attacks[i].attack: - if self.attacks[i].collide_with(self.snake): - self.snake.hp -= self.attacks[i].damage - if self.attacks[i].bounded: - if self.attacks[i].pos[0] > self.deme[0] or \ - self.attacks[i].pos[0] < -self.deme[0] or \ - self.attacks[i].pos[1] > self.deme[1] or \ - self.attacks[i].pos[1] < -self.deme[1]: - self.attacks[i].dead = True - if self.attacks[i].dead: - del self.attacks[i] - - for i in range(len(self.objects)-1, -1, -1): - self.objects[i].update() - if self.objects[i].dead: - del self.objects[i] - - if len(self.exp_balls) < self.food_count: - self.exp_balls.append(ExpBall((random.randint(-self.deme[0], self.deme[0]), - random.randint(-self.deme[1], self.deme[1])), self.per_exp)) - - if (self.snake.position[0] < -self.deme[0] or - self.snake.position[0] > self.deme[0] or - self.snake.position[1] < -self.deme[1] or - self.snake.position[1] > self.deme[1]): - self.snake.outofbound = True - else: - self.snake.outofbound = False - - -class Level1(Map): - """ - 第一关,场地为200,200 - """ - def __init__(self, game): - Map.__init__(self, game) - self.deme[0] = 200 - self.deme[1] = 200 - self.pass_level = 3 - - # 同父类 - def is_passed(self): - if self.snake.level >= self.pass_level: - revive.increment_revive_count() - return True - return False - - # 同父类 - def update(self): - Map.update(self) - - -class Level2(Map): - """ - 第二关,有两个大炮 - """ - def __init__(self, game): - Map.__init__(self, game) - self.deme[0] = 250 - self.deme[1] = 250 - self.pass_level = 5 - self.per_exp = 15 - - self.objects.append(OneCanon((-310, 100))) - self.objects.append(OneCanon((-310, -100))) - - # 同父类 - def is_passed(self): - if self.snake.level >= self.pass_level: - revive.increment_revive_count() - return True - return False - - # 大炮发射炮弹 - def update(self): - Map.update(self) - if self.objects[0].cast: - self.add_bullet((self.objects[0].pos[0]+70, self.objects[0].pos[1]+40), (5, 0), 15, 10) - ses[5].play_once() - if self.objects[1].cast: - self.add_bullet((self.objects[1].pos[0]+70, self.objects[1].pos[1]+40), (5, 0), 15, 10) - ses[5].play_once() - - -class Level3(Map): - """ - 第三关,一个十字激光 - """ - def __init__(self, game): - Map.__init__(self, game) - self.deme[0] = 300 - self.deme[1] = 300 - self.per_exp = 30 - self.pass_level = 10 - - self.objects.append(CrossCanon((-40, -40))) - - # 同父类 - def is_passed(self): - if self.snake.level >= self.pass_level: - revive.increment_revive_count() - return True - return False - - # 发射十字激光 - def update(self): - Map.update(self) - if self.objects[0].cast: - self.add_beam((-300, 0), 600, "h") - self.add_beam((0, -300), 600, "v") - - -class Level4(Map): - """ - 第四关,一个移动激光 - """ - def __init__(self, game): - Map.__init__(self, game) - self.deme[0] = 350 - self.deme[1] = 350 - self.per_exp = 30 - self.beam_cycle = Cycle(80, 0) - self.pass_level = 10 - - # 同父类 - def is_passed(self): - if self.snake.level >= self.pass_level: - revive.increment_revive_count() - return True - return False - - # 一共有八种激光移动方式,随机生成一个 - def update(self): - Map.update(self) - if not self.attacks: - if self.beam_cycle.get() == 0: - generated = random.randint(0, 7) - if generated == 0: - self.objects.append(MovingBeamCannon(self, (-350, -350), "h", 1, 300, 700)) - self.attacks.append(self.objects[-1].get_beam()) - elif generated == 1: - self.objects.append(MovingBeamCannon(self, (-350, 0), "h", 1, 300, 700)) - self.attacks.append(self.objects[-1].get_beam()) - elif generated == 2: - self.objects.append(MovingBeamCannon(self, (-350, 350), "h", -1, 300, 700)) - self.attacks.append(self.objects[-1].get_beam()) - elif generated == 3: - self.objects.append(MovingBeamCannon(self, (-350, 0), "h", -1, 300, 700)) - self.attacks.append(self.objects[-1].get_beam()) - elif generated == 4: - self.objects.append(MovingBeamCannon(self, (-350, -350), "v", 1, 300, 700)) - self.attacks.append(self.objects[-1].get_beam()) - elif generated == 5: - self.objects.append(MovingBeamCannon(self, (0, -350), "v", 1, 300, 700)) - self.attacks.append(self.objects[-1].get_beam()) - elif generated == 6: - self.objects.append(MovingBeamCannon(self, (350, -350), "v", -1, 300, 700)) - self.attacks.append(self.objects[-1].get_beam()) - elif generated == 7: - self.objects.append(MovingBeamCannon(self, (0, -350), "v", -1, 300, 700)) - self.attacks.append(self.objects[-1].get_beam()) - - -class Level5(Map): - """ - 第五关,有一个旋转激光 - """ - def __init__(self, game): - Map.__init__(self, game) - self.deme[0] = 400 - self.deme[1] = 400 - self.per_exp = 30 - self.count_down = 80 - self.pass_level = 10 - - # 同父类 - def is_passed(self): - if self.snake.level >= self.pass_level: - revive.increment_revive_count() - return True - return False - - # 在最开始延时一段时间再生成激光 - def update(self): - Map.update(self) - self.count_down -= 1 - if self.count_down == 0: - self.attacks.append(CenterSlice(self, 1, 0.005, 400)) - - -class Level6(Map): - """ - 第六关,有一个巨型激光 - """ - def __init__(self, game): - Map.__init__(self, game) - self.deme[0] = 300 - self.deme[1] = 300 - self.per_exp = 25 - self.attacked = True - self.current_attack_pos = (-150, -300) - self.pass_level = 10 - - self.attack_countdown = 90 - self.attack_tick = self.attack_countdown - - # 同父类 - def is_passed(self): - if self.snake.level >= self.pass_level: - revive.increment_revive_count() - return True - return False - - # 在激光前摇动画结束的时候生成一个巨型激光,否则根据攻击tick来生成一个前摇 - def update(self): - Map.update(self) - - if not self.attacked and not self.animations: - self.attack_tick = self.attack_countdown - self.attacked = True - self.attacks.append(Beam(self, self.current_attack_pos, 600, "v", last_t=10, pre_t=0, width=300, damage=40)) - ses[0].play_once() - self.game.shake("v", 60) - elif not self.animations and not self.attacks: - self.attack_tick -= 1 - if self.attack_tick < 0: - self.attacked = False - if random.randint(0, 1) == 0: - self.current_attack_pos = (-150, -300) - else: - self.current_attack_pos = (150, -300) - self.animations.append(Charge(self.current_attack_pos, 150, 600, 20)) - - -class Level7(Map): - """ - 第七关,有四条随机横向或者竖向的激光 - """ - def __init__(self, game): - Map.__init__(self, game) - self.deme[0] = 400 - self.deme[1] = 400 - self.per_exp = 40 - self.pass_level = 15 - - self.current_wave = ((300, -400), (100, -400), (-100, -400), (-300, -400), "v") - self.attacking = True - self.attack_tick = 0 - self.attack_speed = 20 - - self.attack_cycle = Cycle(120, 0) - - # 同父类 - def is_passed(self): - if self.snake.level >= self.pass_level: - revive.increment_revive_count() - return True - return False - - # 生成四条横向或者竖向的激光 - def update(self): - Map.update(self) - if self.attacking: - self.attack_tick += 1 - if self.attack_tick == self.attack_speed: - self.attacks.append(Beam(self, self.current_wave[0], 800, self.current_wave[4], - pre_t=80, width=50, damage=20)) - elif self.attack_tick == self.attack_speed*2: - self.attacks.append(Beam(self, self.current_wave[1], 800, self.current_wave[4], - pre_t=80, width=50, damage=20)) - elif self.attack_tick == self.attack_speed*3: - self.attacks.append(Beam(self, self.current_wave[2], 800, self.current_wave[4], - pre_t=80, width=50, damage=20)) - elif self.attack_tick == self.attack_speed*4: - self.attacks.append(Beam(self, self.current_wave[3], 800, self.current_wave[4], - pre_t=80, width=50, damage=20)) - elif self.attack_tick > self.attack_speed * 4: - self.attacking = False - self.attack_tick = 0 - elif self.attack_cycle.get() == 0: - self.attacking = True - mode = random.randint(1, 4) - if mode == 1: - self.current_wave = ((300, -400), (100, -400), (-100, -400), (-300, -400), "v") - elif mode == 2: - self.current_wave = ((-300, -400), (-100, -400), (100, -400), (300, -400), "v") - elif mode == 3: - self.current_wave = ((-400, -300), (-400, -100), (-400, 100), (-400, 300), "h") - elif mode == 4: - self.current_wave = ((-400, 300), (-400, 100), (-400, -100), (-400, -300), "h") - - -class Level8(Map): - """ - 第八关,每吃一个果子升一级,可以(基本上)无限玩下去 - """ - def __init__(self, game): - Map.__init__(self, game) - self.deme[0] = 400 - self.deme[1] = 400 - self.per_exp = 101 - self.food_count = 20 - self.pass_level = 99999 - - def is_passed(self): - return False - - def update(self): - Map.update(self) -- Gitee From f9a79ef3a4464d84ec444c5e2dcdbd5a9cb65537 Mon Sep 17 00:00:00 2001 From: "LAPTOP-HEA5G78D\\17592" <1759251493@qq.com> Date: Mon, 18 Dec 2023 21:42:11 +0800 Subject: [PATCH 04/51] revive_snake --- map.py | 0 revive.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 map.py create mode 100644 revive.py diff --git a/map.py b/map.py new file mode 100644 index 0000000..e69de29 diff --git a/revive.py b/revive.py new file mode 100644 index 0000000..e69de29 -- Gitee From 26cdc882cbb4e72a0e8d1d76c886a62b968bd004 Mon Sep 17 00:00:00 2001 From: "LAPTOP-HEA5G78D\\17592" <1759251493@qq.com> Date: Mon, 18 Dec 2023 21:46:03 +0800 Subject: [PATCH 05/51] 1 --- revive.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/revive.py b/revive.py index e69de29..c81fb0c 100644 --- a/revive.py +++ b/revive.py @@ -0,0 +1,21 @@ +from hud import * +class revive: + # 初始化复活机制所需的变量和状态 + def __init__(self): + self.revive_count = 0 + + def increment_revive_count(self): + self.revive_count += 1 + + def judge(self): + # 复活机制的逻辑 + if self.revive_count >= 5: + text = chat_font.render("你连续通过了五个及以上关卡获得了一次复活机会!", True, "white") + screen.fill((0, 0, 0)) + screen.blit(text, (screen_width // 2 - text.get_width() // 2, screen_height // 2 - text.get_height() // 2)) + pygame.display.flip() + pygame.time.wait(3000) + + def reset_revive_count(self): + # 重置复活计数 + self.revive_count = 0 \ No newline at end of file -- Gitee From 9a527f1d375895efa96ebc5c24cfffd1c9fec046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=95=E7=9D=80=E6=9C=88=E4=BA=AE=E7=9C=8B=E6=98=9F?= =?UTF-8?q?=E6=98=9F?= <1759251493@qq.com> Date: Tue, 19 Dec 2023 12:34:01 +0000 Subject: [PATCH 06/51] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20re?= =?UTF-8?q?vive.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- revive.py | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 revive.py diff --git a/revive.py b/revive.py deleted file mode 100644 index c81fb0c..0000000 --- a/revive.py +++ /dev/null @@ -1,21 +0,0 @@ -from hud import * -class revive: - # 初始化复活机制所需的变量和状态 - def __init__(self): - self.revive_count = 0 - - def increment_revive_count(self): - self.revive_count += 1 - - def judge(self): - # 复活机制的逻辑 - if self.revive_count >= 5: - text = chat_font.render("你连续通过了五个及以上关卡获得了一次复活机会!", True, "white") - screen.fill((0, 0, 0)) - screen.blit(text, (screen_width // 2 - text.get_width() // 2, screen_height // 2 - text.get_height() // 2)) - pygame.display.flip() - pygame.time.wait(3000) - - def reset_revive_count(self): - # 重置复活计数 - self.revive_count = 0 \ No newline at end of file -- Gitee From 57bfde8bab76334316a76e016da3c985ad5e1c49 Mon Sep 17 00:00:00 2001 From: "LAPTOP-HEA5G78D\\17592" <1759251493@qq.com> Date: Tue, 19 Dec 2023 21:09:44 +0800 Subject: [PATCH 07/51] revive_snake --- map.py | 451 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ revive.py | 21 +++ 2 files changed, 472 insertions(+) create mode 100644 revive.py diff --git a/map.py b/map.py index e69de29..01c4097 100644 --- a/map.py +++ b/map.py @@ -0,0 +1,451 @@ +from fights import * +from revive import * + +revive=revive() +class Level: + """ + 关卡父类 + """ + def __init__(self): + pass + + # 判断是否过关 + def is_passed(self): + return False + + +class Map(Level): + """ + 地图,存储数据有所有攻击,经验球,动画以及物品(大炮,激光炮等) + per_exp为每个经验球的经验,food_count是场上经验球数量,pass_level是过关等级 + """ + def __init__(self, game): + Level.__init__(self) + self.game = game + self.objects = [] + self.exp_balls = [] + self.deme = [300, 300] + self.snake = None + self.attacks = [] + self.food_count = 5 + self.per_exp = 10 + self.pass_level = 1 + + self.boarder_cycle = ReCycle(6, 1) + + self.animations = [] + + # 判断当前蛇是否死亡 + def is_dead(self): + if ( self.snake.hp < 0 ) : + if (revive.revive_count>=5): + revive.judge() + self.snake.hp = 100 + revive.reset_revive_count() + return self.snake.hp < 0 + + # 绘制四周边框,是动画 + def draw_boarder(self, offset): + c = self.boarder_cycle.get() + pygame.draw.line(screen, (255, 255, 255), + (-self.deme[0] + offset[0] + c, -self.deme[1] + offset[1]), + (-self.deme[0] + offset[0] + c, self.deme[1] + offset[1]), 2) + pygame.draw.line(screen, (255, 255, 255), + (-self.deme[0] + offset[0] - c, -self.deme[1] + offset[1]), + (-self.deme[0] + offset[0] - c, self.deme[1] + offset[1]), 2) + + pygame.draw.line(screen, (255, 255, 255), + (self.deme[0] + offset[0] + c, -self.deme[1] + offset[1]), + (self.deme[0] + offset[0] + c, self.deme[1] + offset[1]), 2) + pygame.draw.line(screen, (255, 255, 255), + (self.deme[0] + offset[0] - c, -self.deme[1] + offset[1]), + (self.deme[0] + offset[0] - c, self.deme[1] + offset[1]), 2) + + pygame.draw.line(screen, (255, 255, 255), + (self.deme[0] + offset[0], self.deme[1] + offset[1] + c), + (-self.deme[0] + offset[0], self.deme[1] + offset[1] + c), 2) + pygame.draw.line(screen, (255, 255, 255), + (self.deme[0] + offset[0], self.deme[1] + offset[1] - c), + (-self.deme[0] + offset[0], self.deme[1] + offset[1] - c), 2) + + pygame.draw.line(screen, (255, 255, 255), + (self.deme[0] + offset[0], -self.deme[1] + offset[1] + c), + (-self.deme[0] + offset[0], -self.deme[1] + offset[1] + c), 2) + pygame.draw.line(screen, (255, 255, 255), + (self.deme[0] + offset[0], -self.deme[1] + offset[1] - c), + (-self.deme[0] + offset[0], -self.deme[1] + offset[1] - c), 2) + + pygame.draw.rect(screen, (255, 255, 255), + pygame.Rect(offset[0] - self.deme[0] - 15, offset[1] - self.deme[1] - 15, 30, + 30)) + pygame.draw.rect(screen, (255, 255, 255), + pygame.Rect(offset[0] + self.deme[0] - 15, offset[1] - self.deme[1] - 15, 30, + 30)) + pygame.draw.rect(screen, (255, 255, 255), + pygame.Rect(offset[0] - self.deme[0] - 15, offset[1] + self.deme[1] - 15, 30, + 30)) + pygame.draw.rect(screen, (255, 255, 255), + pygame.Rect(offset[0] + self.deme[0] - 15, offset[1] + self.deme[1] - 15, 30, + 30)) + + # 添加一个激光,具体参数清参考fights里的Beam类 + def add_beam(self, position, length, direction, width=30): + self.attacks.append(Beam(self, position, length, direction, width)) + + # 添加一个子弹,具体参数清参考fights里的Bullet类 + def add_bullet(self, position, speed, radius, damage): + self.attacks.append(Bullet(self, damage, radius, position[0], position[1], speed[0], speed[1])) + + # 设置当前蛇 + def set_snake(self, snake): + self.snake = snake + + # 绘制背景底色 + def draw_background(self, offset): + pygame.draw.rect(screen, (70, 70, 70), + pygame.Rect(offset[0] - self.deme[0], offset[1] - self.deme[1], self.deme[0] * 2, + self.deme[1] * 2)) + + # 绘制地图上的所有物件 + def draw(self, offset): + for i in range(len(self.exp_balls)-1, -1, -1): + self.exp_balls[i].draw(offset) + for i in range(len(self.attacks) - 1, -1, -1): + self.attacks[i].draw(offset) + for i in range(len(self.objects) - 1, -1, -1): + self.objects[i].draw(offset) + for i in range(len(self.animations)-1, -1, -1): + self.animations[i].draw(offset) + + if self.snake.outofbound: + screen.blit(texture_lib["danger"], (0, 0)) + + self.draw_boarder(offset) + pass_render = chat_font.render("Target:"+str(self.pass_level), False, (255, 255, 255)) + screen.blit(pass_render, (450, 30)) + + # 更新地图上的所有物品,若有物品为dead则删除物品,同时判断攻击tick,以及经验球与蛇的碰撞 + def update(self): + for i in range(len(self.exp_balls)-1, -1, -1): + if get_distance(self.snake.position, self.exp_balls[i].pos) < 20: + self.snake.current_exp += self.exp_balls[i].points + ses[2].play_once() + del self.exp_balls[i] + + for i in range(len(self.animations) - 1, -1, -1): + if self.animations[i].dead: + del self.animations[i] + else: + self.animations[i].update() + + for i in range(len(self.attacks)-1, -1, -1): + self.attacks[i].update() + if self.attacks[i].attack: + if self.attacks[i].collide_with(self.snake): + self.snake.hp -= self.attacks[i].damage + if self.attacks[i].bounded: + if self.attacks[i].pos[0] > self.deme[0] or \ + self.attacks[i].pos[0] < -self.deme[0] or \ + self.attacks[i].pos[1] > self.deme[1] or \ + self.attacks[i].pos[1] < -self.deme[1]: + self.attacks[i].dead = True + if self.attacks[i].dead: + del self.attacks[i] + + for i in range(len(self.objects)-1, -1, -1): + self.objects[i].update() + if self.objects[i].dead: + del self.objects[i] + + if len(self.exp_balls) < self.food_count: + self.exp_balls.append(ExpBall((random.randint(-self.deme[0], self.deme[0]), + random.randint(-self.deme[1], self.deme[1])), self.per_exp)) + + if (self.snake.position[0] < -self.deme[0] or + self.snake.position[0] > self.deme[0] or + self.snake.position[1] < -self.deme[1] or + self.snake.position[1] > self.deme[1]): + self.snake.outofbound = True + else: + self.snake.outofbound = False + + +class Level1(Map): + """ + 第一关,场地为200,200 + """ + def __init__(self, game): + Map.__init__(self, game) + self.deme[0] = 200 + self.deme[1] = 200 + self.pass_level = 3 + + # 同父类 + def is_passed(self): + if self.snake.level >= self.pass_level: + revive.increment_revive_count() + return True + return False + + # 同父类 + def update(self): + Map.update(self) + + +class Level2(Map): + """ + 第二关,有两个大炮 + """ + def __init__(self, game): + Map.__init__(self, game) + self.deme[0] = 250 + self.deme[1] = 250 + self.pass_level = 5 + self.per_exp = 15 + + self.objects.append(OneCanon((-310, 100))) + self.objects.append(OneCanon((-310, -100))) + + # 同父类 + def is_passed(self): + if self.snake.level >= self.pass_level: + revive.increment_revive_count() + return True + return False + + # 大炮发射炮弹 + def update(self): + Map.update(self) + if self.objects[0].cast: + self.add_bullet((self.objects[0].pos[0]+70, self.objects[0].pos[1]+40), (5, 0), 15, 10) + ses[5].play_once() + if self.objects[1].cast: + self.add_bullet((self.objects[1].pos[0]+70, self.objects[1].pos[1]+40), (5, 0), 15, 10) + ses[5].play_once() + + +class Level3(Map): + """ + 第三关,一个十字激光 + """ + def __init__(self, game): + Map.__init__(self, game) + self.deme[0] = 300 + self.deme[1] = 300 + self.per_exp = 30 + self.pass_level = 10 + + self.objects.append(CrossCanon((-40, -40))) + + # 同父类 + def is_passed(self): + if self.snake.level >= self.pass_level: + revive.increment_revive_count() + return True + return False + + # 发射十字激光 + def update(self): + Map.update(self) + if self.objects[0].cast: + self.add_beam((-300, 0), 600, "h") + self.add_beam((0, -300), 600, "v") + + +class Level4(Map): + """ + 第四关,一个移动激光 + """ + def __init__(self, game): + Map.__init__(self, game) + self.deme[0] = 350 + self.deme[1] = 350 + self.per_exp = 30 + self.beam_cycle = Cycle(80, 0) + self.pass_level = 10 + + # 同父类 + def is_passed(self): + if self.snake.level >= self.pass_level: + revive.increment_revive_count() + return True + return False + + # 一共有八种激光移动方式,随机生成一个 + def update(self): + Map.update(self) + if not self.attacks: + if self.beam_cycle.get() == 0: + generated = random.randint(0, 7) + if generated == 0: + self.objects.append(MovingBeamCannon(self, (-350, -350), "h", 1, 300, 700)) + self.attacks.append(self.objects[-1].get_beam()) + elif generated == 1: + self.objects.append(MovingBeamCannon(self, (-350, 0), "h", 1, 300, 700)) + self.attacks.append(self.objects[-1].get_beam()) + elif generated == 2: + self.objects.append(MovingBeamCannon(self, (-350, 350), "h", -1, 300, 700)) + self.attacks.append(self.objects[-1].get_beam()) + elif generated == 3: + self.objects.append(MovingBeamCannon(self, (-350, 0), "h", -1, 300, 700)) + self.attacks.append(self.objects[-1].get_beam()) + elif generated == 4: + self.objects.append(MovingBeamCannon(self, (-350, -350), "v", 1, 300, 700)) + self.attacks.append(self.objects[-1].get_beam()) + elif generated == 5: + self.objects.append(MovingBeamCannon(self, (0, -350), "v", 1, 300, 700)) + self.attacks.append(self.objects[-1].get_beam()) + elif generated == 6: + self.objects.append(MovingBeamCannon(self, (350, -350), "v", -1, 300, 700)) + self.attacks.append(self.objects[-1].get_beam()) + elif generated == 7: + self.objects.append(MovingBeamCannon(self, (0, -350), "v", -1, 300, 700)) + self.attacks.append(self.objects[-1].get_beam()) + + +class Level5(Map): + """ + 第五关,有一个旋转激光 + """ + def __init__(self, game): + Map.__init__(self, game) + self.deme[0] = 400 + self.deme[1] = 400 + self.per_exp = 30 + self.count_down = 80 + self.pass_level = 10 + + # 同父类 + def is_passed(self): + if self.snake.level >= self.pass_level: + revive.increment_revive_count() + return True + return False + + # 在最开始延时一段时间再生成激光 + def update(self): + Map.update(self) + self.count_down -= 1 + if self.count_down == 0: + self.attacks.append(CenterSlice(self, 1, 0.005, 400)) + + +class Level6(Map): + """ + 第六关,有一个巨型激光 + """ + def __init__(self, game): + Map.__init__(self, game) + self.deme[0] = 300 + self.deme[1] = 300 + self.per_exp = 25 + self.attacked = True + self.current_attack_pos = (-150, -300) + self.pass_level = 10 + + self.attack_countdown = 90 + self.attack_tick = self.attack_countdown + + # 同父类 + def is_passed(self): + if self.snake.level >= self.pass_level: + revive.increment_revive_count() + return True + return False + + # 在激光前摇动画结束的时候生成一个巨型激光,否则根据攻击tick来生成一个前摇 + def update(self): + Map.update(self) + + if not self.attacked and not self.animations: + self.attack_tick = self.attack_countdown + self.attacked = True + self.attacks.append(Beam(self, self.current_attack_pos, 600, "v", last_t=10, pre_t=0, width=300, damage=40)) + ses[0].play_once() + self.game.shake("v", 60) + elif not self.animations and not self.attacks: + self.attack_tick -= 1 + if self.attack_tick < 0: + self.attacked = False + if random.randint(0, 1) == 0: + self.current_attack_pos = (-150, -300) + else: + self.current_attack_pos = (150, -300) + self.animations.append(Charge(self.current_attack_pos, 150, 600, 20)) + + +class Level7(Map): + """ + 第七关,有四条随机横向或者竖向的激光 + """ + def __init__(self, game): + Map.__init__(self, game) + self.deme[0] = 400 + self.deme[1] = 400 + self.per_exp = 40 + self.pass_level = 15 + + self.current_wave = ((300, -400), (100, -400), (-100, -400), (-300, -400), "v") + self.attacking = True + self.attack_tick = 0 + self.attack_speed = 20 + + self.attack_cycle = Cycle(120, 0) + + # 同父类 + def is_passed(self): + if self.snake.level >= self.pass_level: + revive.increment_revive_count() + return True + return False + + # 生成四条横向或者竖向的激光 + def update(self): + Map.update(self) + if self.attacking: + self.attack_tick += 1 + if self.attack_tick == self.attack_speed: + self.attacks.append(Beam(self, self.current_wave[0], 800, self.current_wave[4], + pre_t=80, width=50, damage=20)) + elif self.attack_tick == self.attack_speed*2: + self.attacks.append(Beam(self, self.current_wave[1], 800, self.current_wave[4], + pre_t=80, width=50, damage=20)) + elif self.attack_tick == self.attack_speed*3: + self.attacks.append(Beam(self, self.current_wave[2], 800, self.current_wave[4], + pre_t=80, width=50, damage=20)) + elif self.attack_tick == self.attack_speed*4: + self.attacks.append(Beam(self, self.current_wave[3], 800, self.current_wave[4], + pre_t=80, width=50, damage=20)) + elif self.attack_tick > self.attack_speed * 4: + self.attacking = False + self.attack_tick = 0 + elif self.attack_cycle.get() == 0: + self.attacking = True + mode = random.randint(1, 4) + if mode == 1: + self.current_wave = ((300, -400), (100, -400), (-100, -400), (-300, -400), "v") + elif mode == 2: + self.current_wave = ((-300, -400), (-100, -400), (100, -400), (300, -400), "v") + elif mode == 3: + self.current_wave = ((-400, -300), (-400, -100), (-400, 100), (-400, 300), "h") + elif mode == 4: + self.current_wave = ((-400, 300), (-400, 100), (-400, -100), (-400, -300), "h") + + +class Level8(Map): + """ + 第八关,每吃一个果子升一级,可以(基本上)无限玩下去 + """ + def __init__(self, game): + Map.__init__(self, game) + self.deme[0] = 400 + self.deme[1] = 400 + self.per_exp = 101 + self.food_count = 20 + self.pass_level = 99999 + + def is_passed(self): + return False + + def update(self): + Map.update(self) diff --git a/revive.py b/revive.py new file mode 100644 index 0000000..c81fb0c --- /dev/null +++ b/revive.py @@ -0,0 +1,21 @@ +from hud import * +class revive: + # 初始化复活机制所需的变量和状态 + def __init__(self): + self.revive_count = 0 + + def increment_revive_count(self): + self.revive_count += 1 + + def judge(self): + # 复活机制的逻辑 + if self.revive_count >= 5: + text = chat_font.render("你连续通过了五个及以上关卡获得了一次复活机会!", True, "white") + screen.fill((0, 0, 0)) + screen.blit(text, (screen_width // 2 - text.get_width() // 2, screen_height // 2 - text.get_height() // 2)) + pygame.display.flip() + pygame.time.wait(3000) + + def reset_revive_count(self): + # 重置复活计数 + self.revive_count = 0 \ No newline at end of file -- Gitee From bf23b1578468e983e9e2052768917d01d7370221 Mon Sep 17 00:00:00 2001 From: Fetish <12564346+L_Missy@user.noreply.gitee.com> Date: Tue, 19 Dec 2023 14:18:28 +0000 Subject: [PATCH 08/51] =?UTF-8?q?update=20main.py.=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E8=AE=A1=E6=97=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fetish <12564346+L_Missy@user.noreply.gitee.com> --- main.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index f16bfc0..e9296c9 100644 --- a/main.py +++ b/main.py @@ -2,6 +2,8 @@ from game import * from scene import * import sys + +clock = pygame.time.Clock() # 读取当前存档,如果没有的话则开始新的游戏 if os.path.exists("save"): f = open("save", "r") @@ -14,9 +16,16 @@ else: # 主循环 while True: + # 获取运行时间的函数 + def get_running_time(): + current_time = pygame.time.get_ticks() # 获取当前的毫秒时间 + return current_time - start_time # 返回游戏运行的总时间 + # 处理事件 for event in pygame.event.get(): # 关闭事件,在关闭的时候存下当前关卡 + + if event.type == pygame.QUIT: f = open("save", "w") f.write(str(g.current_level)) @@ -30,14 +39,24 @@ while True: env["mouse_direction"] = atan2(env["mouse_y"] - screen_height/2, env["mouse_x"] - screen_width/2) # 让游戏处理事件 g.handle_event(event) + + + + # 游戏更新 g.update() # 清空屏幕,然后绘制一个新的屏幕 screen.fill(0) g.draw() + running_time = get_running_time() // 1000 # 毫秒转换为秒 + font = pygame.font.Font(None, 36) + text = font.render("Time: {}s".format(running_time), True, (255, 255, 255)) + screen.blit(text, (10, 10)) + + # 因为基本上每次都需要更新整个屏幕,直接使用flip来刷新整个屏幕 pygame.display.flip() # 将帧速率限制到40fps - clock.tick(40) + clock.tick(40) \ No newline at end of file -- Gitee From 51905ef4986b7fdcdb524ac5392f05dd38c172be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Wed, 20 Dec 2023 14:34:38 +0000 Subject: [PATCH 09/51] update main.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- main.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index e9296c9..d731c4a 100644 --- a/main.py +++ b/main.py @@ -2,6 +2,21 @@ from game import * from scene import * import sys +# from tkinter import Tk,Button +# +# root = Tk() +# +# selected_language = None +# +# def set_language(lang): +# global selected_language +# selected_language = lang +# print(lang) + +# 创建两个按钮 +# Button(root, text="English", command=lambda: set_language("en")).pack(side="left") +# Button(root, text="中文", command=lambda: set_language("cn")).pack(side="left") + clock = pygame.time.Clock() # 读取当前存档,如果没有的话则开始新的游戏 @@ -59,4 +74,6 @@ while True: pygame.display.flip() # 将帧速率限制到40fps - clock.tick(40) \ No newline at end of file + clock.tick(40) + + # root.update() \ No newline at end of file -- Gitee From 5bf37fc19a5a5dec1489f21aed2a474fe7aa0d4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Wed, 20 Dec 2023 14:36:42 +0000 Subject: [PATCH 10/51] choose language MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- language.py | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 language.py diff --git a/language.py b/language.py new file mode 100644 index 0000000..2375c8f --- /dev/null +++ b/language.py @@ -0,0 +1,2 @@ + +begin = "cn" \ No newline at end of file -- Gitee From a70ca2709e8d6d7e86519cebde95eeb1d350c421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Wed, 20 Dec 2023 14:37:53 +0000 Subject: [PATCH 11/51] update chat.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- chat.py | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 90 insertions(+), 2 deletions(-) diff --git a/chat.py b/chat.py index 9b1d181..745b4f7 100644 --- a/chat.py +++ b/chat.py @@ -1,6 +1,6 @@ -# 所有对话信息 +# 所有对话信息英文版 -level_chats = (((1, "Hello there new challenger!"), +level1_chats = (((1, "Hello there new challenger!"), (1, "Welcome to Snake Quest, where you will face multiple challenges!"), (2, "What's the prize?"), (1, "The prize is endless food!"), @@ -85,3 +85,91 @@ level_chats = (((1, "Hello there new challenger!"), (2, "Thank you very much for playing!"), (1, "Thank you!!!")) ) + + +# 所有对话信息英文版 +level2_chats = (((1, "你好,新挑战者!"), + (1, "欢迎来到贪吃蛇任务,你将面临多个挑战!"), + (2, "奖品是什么?"), + (1, "奖品是无尽的食物!"), + (2, "嘿嘿,我怎么开始呢?"), + (1, "但首先我需要向你介绍一下游戏控制方式"), + (1, "蛇会跟随你的鼠标移动"), + (1, "超出边界将导致蛇死亡"), + (1, "当你的生命值降为0时,你就基本上死了"), + (1, "左上角显示的是当前关卡等级。等级越高,蛇身越长"), + (1, "在第一阶段,你只需要达到第3级"), + (2, "太容易了"), + (1, "你说得太早了:^)"), + (1, "准备好后结束对话!")), + + ((1, "恭喜你完成第一阶段!"), + (1, "真正的挑战现在开始了"), + (2, "变强太容易了"), + (1, "在第二阶段,你需要躲避炮弹"), + (1, "同样,走出边界也会导致你死亡"), + (2, "就这么简单?"), + (1, "是的,就这么简单"), + (1, "但你需要达到第5级"), + (1, "准备好后结束对话!")), + + ((1, "看起来你正在适应这个游戏"), + (1, "开始第3级"), + (2, "第3级有什么特别的?"), + (1, "激光,总共四个"), + (1, "它们会出现在中间,准备好躲避"), + (1, "你必须躲开它们!"), + (2, "这就是全部了吗?"), + (1, "不仅如此!在这个阶段,每个食物给予的经验值翻倍"), + (1, "你还需要达到第10级"), + (1, "换句话说,你会变得更长"), + (2, "明白了,我准备好了"), + (1, "准备好后结束对话!")), + + ((1, "第4阶段是我认为最难的"), + (2, "嘿嘿嘿?"), + (1, "你还记得激光吗?"), + (2, "凭借我的闪避技巧,太容易了"), + (1, "但在这个阶段,激光也会移动~"), + (2, "什么?怎么回事"), + (1, "准备好后结束对话!")), + + ((1, "我们开始第5阶段!"), + (2, "第4阶段太容易了,一点都不难"), + (1, "既然如此,第5阶段将更容易!"), + (1, "只需要一个技巧:跑圈圈"), + (2, "这是什么意思?"), + (1, "你很快就会明白的"), + (1, "提示:前两秒后不要停留在中间"), + (2, "我应该待在边缘?"), + (1, "没错~准备好后结束对话!")), + + ((1, "恭喜你完成第5级!"), + (2, "<_<那个第一个激光吓了我一跳"), + (1, "哈哈,我会让第6阶段更清楚的"), + (2, "你最好如此 <_<"), + (1, "你还会遇到激光,但是是一个超大的激光!"), + (1, "它非常大,占据了半个场地!"), + (2, "但是,我怎么躲避?"), + (1, "它充能的时间也非常长"), + (1, "趁它充能时躲开它!"), + (2, "明白了"), + (1, "祝好运,准备好后结束对话!")), + + ((1, "欢迎来到最后一关!"), + (2, "终于!"), + (1, "这是一段漫长的旅程!所以我让这一关变得容易一些"), + (2, "嘿嘿嘿?"), + (1, "你需要达到第15级,并躲避一些东西"), + (2, "好的"), + (1, "祝好运,准备好后结束对话!")), + + ((1, "恭喜!你完成了整个游戏!"), + (2, "耶!!"), + (1, "现在你可以获得无限食物!"), + (2, "耶耶 :DDDD"), + (1, "谢谢你的参与!"), + (2, "这是Jeff Yan用pygame制作的小游戏"), + (2, "非常感谢你的参与!"), + (1, "谢谢!!")) + ) \ No newline at end of file -- Gitee From 898a67b2329717edbb27adce9fbfdf6e0460ba1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Wed, 20 Dec 2023 14:39:37 +0000 Subject: [PATCH 12/51] update game.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- game.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/game.py b/game.py index 53d13c6..fb1d3dc 100644 --- a/game.py +++ b/game.py @@ -4,6 +4,7 @@ from hud import * from menu import * from chat import * from scene import * +from language import * class Game: @@ -82,7 +83,11 @@ class Game: self.map = Level8(self) self.map.set_snake(self.snake) self.update() - self.start_scene(TalkScene("snake_1", "snake_2", level_chats[level-1])) + exec(open('language.py').read()) + if begin == "en": + self.start_scene(TalkScene("snake_1", "snake_2", level1_chats[level - 1])) + elif begin == "cn": + self.start_scene(TalkScene("snake_1", "snake_2", level2_chats[level - 1])) bgs[3].play_non_stop() # 绘制当前状态,菜单优先,其次场景,最后是游戏本身 -- Gitee From 4f8c470678271ed6c146d334a69b2015e463060c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Wed, 20 Dec 2023 14:44:11 +0000 Subject: [PATCH 13/51] update language.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- language.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/language.py b/language.py index 2375c8f..d1a9997 100644 --- a/language.py +++ b/language.py @@ -1,2 +1,5 @@ -begin = "cn" \ No newline at end of file +begin = "cn" + + +#"en"或"cn" \ No newline at end of file -- Gitee From 9a20d77cebc017782df50ba2f8fb4e4516b10c51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Wed, 20 Dec 2023 14:46:50 +0000 Subject: [PATCH 14/51] update language.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- language.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/language.py b/language.py index d1a9997..4cfe95b 100644 --- a/language.py +++ b/language.py @@ -2,4 +2,5 @@ begin = "cn" -#"en"或"cn" \ No newline at end of file +#"en"或"cn" +#"en":英文版 "cn":中文版 \ No newline at end of file -- Gitee From 7f5115bff85fc71d947edbcf2b774b5a9aa3f887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Wed, 20 Dec 2023 14:48:06 +0000 Subject: [PATCH 15/51] update chat.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- chat.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chat.py b/chat.py index 745b4f7..7a525e6 100644 --- a/chat.py +++ b/chat.py @@ -87,7 +87,9 @@ level1_chats = (((1, "Hello there new challenger!"), ) + # 所有对话信息英文版 + level2_chats = (((1, "你好,新挑战者!"), (1, "欢迎来到贪吃蛇任务,你将面临多个挑战!"), (2, "奖品是什么?"), -- Gitee From 76f021f96b87e171a0c41aed2da7a19315baf079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Wed, 20 Dec 2023 14:49:46 +0000 Subject: [PATCH 16/51] update main.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- main.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main.py b/main.py index d731c4a..c969a04 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,11 @@ from game import * from scene import * import sys +import importlib +importlib.reload(sys) + + +#定义选择语言的按钮 # from tkinter import Tk,Button # -- Gitee From 2334f488cf0cc05bd810d620916d0f8fcb1b7e0b Mon Sep 17 00:00:00 2001 From: genuine <2290720283@qq.com> Date: Thu, 21 Dec 2023 02:56:03 +0000 Subject: [PATCH 17/51] save apple_number Signed-off-by: genuine <2290720283@qq.com> --- allnumber | 1 + 1 file changed, 1 insertion(+) create mode 100644 allnumber diff --git a/allnumber b/allnumber new file mode 100644 index 0000000..95c8a67 --- /dev/null +++ b/allnumber @@ -0,0 +1 @@ +113 \ No newline at end of file -- Gitee From c841b9d71a1bdb0cab573b82e63d78a1d0b67dc4 Mon Sep 17 00:00:00 2001 From: genuine <2290720283@qq.com> Date: Thu, 21 Dec 2023 02:58:44 +0000 Subject: [PATCH 18/51] update game.py. Signed-off-by: genuine <2290720283@qq.com> --- game.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/game.py b/game.py index fb1d3dc..629184b 100644 --- a/game.py +++ b/game.py @@ -12,9 +12,12 @@ class Game: 游戏主题,一共有六个阶段:主菜单,关卡选择,对话场景,关卡显示场景,关卡进行,关卡结果场景 可以根据current_level来改变当前关卡,用于继续上次游戏 """ - def __init__(self, current_level=0): + def __init__(self, current_level=0,all_number=0): self.snake_move_cycle = Cycle(2, 1) self.current_level = current_level + self.all_number = all_number + self.current_all_number = 0 + self.current_all_number1 = 0 self.current_playing = 0 self.map = None @@ -97,7 +100,7 @@ class Game: elif not self.scene: self.map.draw_background(self.get_offset()) self.snake.draw() - self.map.draw(self.get_offset()) + self.map.draw(self.get_offset(),applenumber=0) self.info_hud.draw() else: -- Gitee From 109fd3a9bf0d1b0534b1e531ae8a9102cb9fde2b Mon Sep 17 00:00:00 2001 From: genuine <2290720283@qq.com> Date: Thu, 21 Dec 2023 03:02:03 +0000 Subject: [PATCH 19/51] update main.py. Signed-off-by: genuine <2290720283@qq.com> --- main.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index c969a04..7171994 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,8 @@ import sys import importlib importlib.reload(sys) +c_level = 0 +all_number = 0 #定义选择语言的按钮 @@ -29,9 +31,13 @@ if os.path.exists("save"): f = open("save", "r") c_level = int(f.read()) f.close() - g = Game(c_level) -else: - g = Game() +if os.path.exists("allnumber"): + f = open("allnumber", "r") + all_number = int(f.read()) + f.close() + + +g = Game(c_level,all_number) # 主循环 @@ -50,6 +56,12 @@ while True: f = open("save", "w") f.write(str(g.current_level)) f.close() + if g.current_all_number1>g.current_all_number: + g.current_all_number1 = g.current_all_number + if g.current_all_number1>all_number: + f = open("allnumber", "w") + f.write(str(g.current_all_number1)) + f.close() pygame.quit() sys.exit() # 鼠标事件,更新环境变量 -- Gitee From 202e5b9907369bb4ae768f1ec1795f8f8658bd6f Mon Sep 17 00:00:00 2001 From: genuine <2290720283@qq.com> Date: Thu, 21 Dec 2023 03:06:04 +0000 Subject: [PATCH 20/51] update map.py. Signed-off-by: genuine <2290720283@qq.com> --- map.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/map.py b/map.py index 01c4097..be7e209 100644 --- a/map.py +++ b/map.py @@ -38,6 +38,8 @@ class Map(Level): # 判断当前蛇是否死亡 def is_dead(self): if ( self.snake.hp < 0 ) : + self.game.current_all_number1 = self.game.current_all_number + self.game.current_all_number -= self.snake.current_applenumber if (revive.revive_count>=5): revive.judge() self.snake.hp = 100 @@ -107,7 +109,7 @@ class Map(Level): self.deme[1] * 2)) # 绘制地图上的所有物件 - def draw(self, offset): + def draw(self, offset,applenumber=-1): for i in range(len(self.exp_balls)-1, -1, -1): self.exp_balls[i].draw(offset) for i in range(len(self.attacks) - 1, -1, -1): @@ -123,12 +125,21 @@ class Map(Level): self.draw_boarder(offset) pass_render = chat_font.render("Target:"+str(self.pass_level), False, (255, 255, 255)) screen.blit(pass_render, (450, 30)) + # if applenumber!=-1: + pass_render1 = chat_font.render("苹果数:" + str(self.snake.current_applenumber), False, (255, 255, 255)) + screen.blit(pass_render1, (450, 60)) + pass_render1 = chat_font.render("最佳记录:" + str(self.game.all_number), False, (255, 255, 255)) + screen.blit(pass_render1, (450, 90)) + pass_render1 = chat_font.render("当前记录:" + str(self.game.current_all_number), False, (255, 255, 255)) + screen.blit(pass_render1, (450, 120)) # 更新地图上的所有物品,若有物品为dead则删除物品,同时判断攻击tick,以及经验球与蛇的碰撞 def update(self): for i in range(len(self.exp_balls)-1, -1, -1): if get_distance(self.snake.position, self.exp_balls[i].pos) < 20: self.snake.current_exp += self.exp_balls[i].points + self.snake.current_applenumber += 1 + self.game.current_all_number += 1 ses[2].play_once() del self.exp_balls[i] -- Gitee From 4e6652cd636be86d1102d65873ed97af84ba16ce Mon Sep 17 00:00:00 2001 From: genuine <2290720283@qq.com> Date: Thu, 21 Dec 2023 03:07:04 +0000 Subject: [PATCH 21/51] update snake.py. Signed-off-by: genuine <2290720283@qq.com> --- snake.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/snake.py b/snake.py index bd9f421..979d8cf 100644 --- a/snake.py +++ b/snake.py @@ -57,7 +57,8 @@ class Snake: self.dead = False self.hit_points = [] - + self.current_applenumber = 0 + # 设置当前蛇前进角度 def set_direction(self, angle): d_angle = (angle - self.direction) % (2 * pi) -- Gitee From e43578dd25f9e0ba6f8dd2c43eab34c3a54bc620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=95=E7=9D=80=E6=9C=88=E4=BA=AE=E7=9C=8B=E6=98=9F?= =?UTF-8?q?=E6=98=9F?= <1759251493@qq.com> Date: Thu, 21 Dec 2023 08:30:02 +0000 Subject: [PATCH 22/51] =?UTF-8?q?=E6=96=B0=E5=BC=80=E5=8F=91=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- #CS2101009.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 #CS2101009.md diff --git a/#CS2101009.md b/#CS2101009.md new file mode 100644 index 0000000..f40cc0f --- /dev/null +++ b/#CS2101009.md @@ -0,0 +1,12 @@ +复活功能 +开发者:王亚雪 +1、设计目的:增加游戏的可玩性。 +2、设计思路:当血条为“0”时蛇死亡游戏结束,故通过更改血量从而获得复活。故而增加获得复活机会的提示文件,当玩家连续通过五关及以上获得一次复活机会,使用复活机会之后将重新记录通过关卡数。 +3、最终运行效果:请在游戏中详细体验 + +计时功能 +开发者:刘佳越 +1.设计目的:让玩家清楚地看到玩游戏的时间 +2.设计思路:进入游戏时得到一个初始时间,随后每次更新都得到当前时间,用当前时间减去初试时间得到游戏的时间,并显示在游戏界面左上角 +3.最终运行效果: + -- Gitee From 67eef4d641676289a8b1e31dd08b08b4191212be Mon Sep 17 00:00:00 2001 From: genuine <2290720283@qq.com> Date: Fri, 22 Dec 2023 11:04:31 +0000 Subject: [PATCH 23/51] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E8=8B=B9=E6=9E=9C?= =?UTF-8?q?=E6=95=B0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: genuine <2290720283@qq.com> --- #CS2101009.md | 7 +++++++ ...241\350\213\271\346\236\234\346\225\260.png" | Bin 0 -> 27720 bytes 2 files changed, 7 insertions(+) create mode 100644 "\347\273\237\350\256\241\350\213\271\346\236\234\346\225\260.png" diff --git a/#CS2101009.md b/#CS2101009.md index f40cc0f..9339dcb 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -10,3 +10,10 @@ 2.设计思路:进入游戏时得到一个初始时间,随后每次更新都得到当前时间,用当前时间减去初试时间得到游戏的时间,并显示在游戏界面左上角 3.最终运行效果: +统计苹果数 +开发者:王玉 +1.设计目的:激发玩家玩游戏的动力 +2.设计思路:统计贪吃蛇吃的苹果数,并且保存最佳记录。当贪吃蛇吃到苹果时,增加本关吃到的苹果数和此次吃到的苹果总数,若全部顺利通关,则比较此次吃到的苹果总数和最佳记录,若此次吃到的苹果总数大于最佳记录,则更新最佳记录,否则最佳记录不变。 +3.最终运行效果: +![输入图片说明](%E7%BB%9F%E8%AE%A1%E8%8B%B9%E6%9E%9C%E6%95%B0.png) + diff --git "a/\347\273\237\350\256\241\350\213\271\346\236\234\346\225\260.png" "b/\347\273\237\350\256\241\350\213\271\346\236\234\346\225\260.png" new file mode 100644 index 0000000000000000000000000000000000000000..4b9e8223568dde0f5b36ce66e9020b07b1df77f1 GIT binary patch literal 27720 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 A&;S4c literal 0 HcmV?d00001 -- Gitee From a41ace8a2b5fc84f48c9bcdf939390e36b93bbba Mon Sep 17 00:00:00 2001 From: genuine <2290720283@qq.com> Date: Fri, 22 Dec 2023 11:04:58 +0000 Subject: [PATCH 24/51] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E8=8B=B9=E6=9E=9C?= =?UTF-8?q?=E6=95=B0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: genuine <2290720283@qq.com> --- #CS2101009.md | 1 + 1 file changed, 1 insertion(+) diff --git a/#CS2101009.md b/#CS2101009.md index 9339dcb..1bf8873 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -15,5 +15,6 @@ 1.设计目的:激发玩家玩游戏的动力 2.设计思路:统计贪吃蛇吃的苹果数,并且保存最佳记录。当贪吃蛇吃到苹果时,增加本关吃到的苹果数和此次吃到的苹果总数,若全部顺利通关,则比较此次吃到的苹果总数和最佳记录,若此次吃到的苹果总数大于最佳记录,则更新最佳记录,否则最佳记录不变。 3.最终运行效果: + ![输入图片说明](%E7%BB%9F%E8%AE%A1%E8%8B%B9%E6%9E%9C%E6%95%B0.png) -- Gitee From 026bfc0350e49a88ec083fc95b4156ed5a7a2e66 Mon Sep 17 00:00:00 2001 From: genuine <2290720283@qq.com> Date: Fri, 22 Dec 2023 11:11:34 +0000 Subject: [PATCH 25/51] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: genuine <2290720283@qq.com> --- #CS2101009.md | 1 + 1 file changed, 1 insertion(+) diff --git a/#CS2101009.md b/#CS2101009.md index 1bf8873..a7ec4e6 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -18,3 +18,4 @@ ![输入图片说明](%E7%BB%9F%E8%AE%A1%E8%8B%B9%E6%9E%9C%E6%95%B0.png) +修复的bug:language.py文件读不出来,影响合并;将读取language.py文件时的encoding改为UTF-8即可; \ No newline at end of file -- Gitee From 50122529200c6eefd4bbab5381284c6066b2e955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 11:32:18 +0000 Subject: [PATCH 26/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- #CS2101009.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/#CS2101009.md b/#CS2101009.md index a7ec4e6..772ab6f 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -18,4 +18,10 @@ ![输入图片说明](%E7%BB%9F%E8%AE%A1%E8%8B%B9%E6%9E%9C%E6%95%B0.png) -修复的bug:language.py文件读不出来,影响合并;将读取language.py文件时的encoding改为UTF-8即可; \ No newline at end of file +修复的bug:language.py文件读不出来,影响合并;将读取language.py文件时的encoding改为UTF-8即可; + +分数排行榜 +开发者:杜天姣 +1、设计目的:是玩家更有成就感 +2、设计思路:需要用户在游玩之前输入用户名(字符串形式),在游玩时实时保存分数,并实时进行文件的读写,展示最高的一个或几个分数,当玩家的分数升高时,也可以看到自己的分数在排行榜上一步步前进 +3、最终运行效果:请在游戏中详细体验 \ No newline at end of file -- Gitee From d2b0d45cf6c850427594394676b1ed873302a057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 12:59:27 +0000 Subject: [PATCH 27/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- #CS2101009.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/#CS2101009.md b/#CS2101009.md index 772ab6f..db7cf74 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -10,6 +10,13 @@ 2.设计思路:进入游戏时得到一个初始时间,随后每次更新都得到当前时间,用当前时间减去初试时间得到游戏的时间,并显示在游戏界面左上角 3.最终运行效果: +多语言对话 +开发者:杨盼 +1.设计目的:让不同语种的人能够能好的知道游戏规则,提高玩家游戏体验 +2.设计思路:让玩家选择语种之后进入游戏,对话的语种按照玩家的选择来呈现 +3.最终运行效果: +![输入图片说明](AK%5DMA8MOK(~E@(%7BA_40P@VX.jpg) + 统计苹果数 开发者:王玉 1.设计目的:激发玩家玩游戏的动力 -- Gitee From e2964298b8e37cb5ed7d402c67b2d06778240ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 12:59:59 +0000 Subject: [PATCH 28/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- #CS2101009.md | 1 - 1 file changed, 1 deletion(-) diff --git a/#CS2101009.md b/#CS2101009.md index db7cf74..a3d1831 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -15,7 +15,6 @@ 1.设计目的:让不同语种的人能够能好的知道游戏规则,提高玩家游戏体验 2.设计思路:让玩家选择语种之后进入游戏,对话的语种按照玩家的选择来呈现 3.最终运行效果: -![输入图片说明](AK%5DMA8MOK(~E@(%7BA_40P@VX.jpg) 统计苹果数 开发者:王玉 -- Gitee From feaf61ac6c908da4c906961f21f17466737ad22b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 13:05:16 +0000 Subject: [PATCH 29/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- #CS2101009.md | 2 ++ AK]MA8MOK(~E@({A_40P@VX.jpg | Bin 0 -> 19455 bytes ALE2%IQ3_2M07_ZBO(G8HBJ.png | Bin 0 -> 8317 bytes 3 files changed, 2 insertions(+) create mode 100644 AK]MA8MOK(~E@({A_40P@VX.jpg create mode 100644 ALE2%IQ3_2M07_ZBO(G8HBJ.png diff --git a/#CS2101009.md b/#CS2101009.md index a3d1831..142bd45 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -15,6 +15,8 @@ 1.设计目的:让不同语种的人能够能好的知道游戏规则,提高玩家游戏体验 2.设计思路:让玩家选择语种之后进入游戏,对话的语种按照玩家的选择来呈现 3.最终运行效果: +![输入图片说明](AK%5DMA8MOK(~E@(%7BA_40P@VX.jpg) +![输入图片说明](ALE2%25IQ3_2M07_ZBO(G8HBJ.png) 统计苹果数 开发者:王玉 diff --git a/AK]MA8MOK(~E@({A_40P@VX.jpg b/AK]MA8MOK(~E@({A_40P@VX.jpg new file mode 100644 index 0000000000000000000000000000000000000000..841cd7a546cdc3a0228799735f28c08a0a3a71ff GIT binary patch literal 19455 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 literal 0 HcmV?d00001 diff --git a/ALE2%IQ3_2M07_ZBO(G8HBJ.png b/ALE2%IQ3_2M07_ZBO(G8HBJ.png new file mode 100644 index 0000000000000000000000000000000000000000..430f47c08e2e15e3729d369e64388767a782eeaf GIT binary patch literal 8317 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 Date: Sat, 23 Dec 2023 13:06:45 +0000 Subject: [PATCH 30/51] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20AL?= =?UTF-8?q?E2%IQ3=5F2M07=5FZBO(G8HBJ.png?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ALE2%IQ3_2M07_ZBO(G8HBJ.png | Bin 8317 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ALE2%IQ3_2M07_ZBO(G8HBJ.png diff --git a/ALE2%IQ3_2M07_ZBO(G8HBJ.png b/ALE2%IQ3_2M07_ZBO(G8HBJ.png deleted file mode 100644 index 430f47c08e2e15e3729d369e64388767a782eeaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8317 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 Date: Sat, 23 Dec 2023 13:07:20 +0000 Subject: [PATCH 31/51] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20AK?= =?UTF-8?q?]MA8MOK(~E@({A=5F40P@VX.jpg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AK]MA8MOK(~E@({A_40P@VX.jpg | Bin 19455 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 AK]MA8MOK(~E@({A_40P@VX.jpg diff --git a/AK]MA8MOK(~E@({A_40P@VX.jpg b/AK]MA8MOK(~E@({A_40P@VX.jpg deleted file mode 100644 index 841cd7a546cdc3a0228799735f28c08a0a3a71ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19455 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 -- Gitee From 947af1f8e5f191876738f13659c47356cca2c6c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 13:09:26 +0000 Subject: [PATCH 32/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- #CS2101009.md | 2 +- #CS2101009AK]MA8MOK(~E@({A_40P@VX.jpg | Bin 0 -> 19455 bytes #CS2101009ALE2%IQ3_2M07_ZBO(G8HBJ.png | Bin 0 -> 8317 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 #CS2101009AK]MA8MOK(~E@({A_40P@VX.jpg create mode 100644 #CS2101009ALE2%IQ3_2M07_ZBO(G8HBJ.png diff --git a/#CS2101009.md b/#CS2101009.md index 142bd45..3693ea8 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -16,7 +16,7 @@ 2.设计思路:让玩家选择语种之后进入游戏,对话的语种按照玩家的选择来呈现 3.最终运行效果: ![输入图片说明](AK%5DMA8MOK(~E@(%7BA_40P@VX.jpg) -![输入图片说明](ALE2%25IQ3_2M07_ZBO(G8HBJ.png) +![输入图片说明](#CS2101009ALE2%25IQ3_2M07_ZBO(G8HBJ.png) 统计苹果数 开发者:王玉 diff --git a/#CS2101009AK]MA8MOK(~E@({A_40P@VX.jpg b/#CS2101009AK]MA8MOK(~E@({A_40P@VX.jpg new file mode 100644 index 0000000000000000000000000000000000000000..841cd7a546cdc3a0228799735f28c08a0a3a71ff GIT binary patch literal 19455 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 literal 0 HcmV?d00001 diff --git a/#CS2101009ALE2%IQ3_2M07_ZBO(G8HBJ.png b/#CS2101009ALE2%IQ3_2M07_ZBO(G8HBJ.png new file mode 100644 index 0000000000000000000000000000000000000000..430f47c08e2e15e3729d369e64388767a782eeaf GIT binary patch literal 8317 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 Date: Sat, 23 Dec 2023 13:09:59 +0000 Subject: [PATCH 33/51] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20#C?= =?UTF-8?q?S2101009ALE2%IQ3=5F2M07=5FZBO(G8HBJ.png?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- #CS2101009ALE2%IQ3_2M07_ZBO(G8HBJ.png | Bin 8317 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 #CS2101009ALE2%IQ3_2M07_ZBO(G8HBJ.png diff --git a/#CS2101009ALE2%IQ3_2M07_ZBO(G8HBJ.png b/#CS2101009ALE2%IQ3_2M07_ZBO(G8HBJ.png deleted file mode 100644 index 430f47c08e2e15e3729d369e64388767a782eeaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8317 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 Date: Sat, 23 Dec 2023 13:10:05 +0000 Subject: [PATCH 34/51] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20#C?= =?UTF-8?q?S2101009AK]MA8MOK(~E@({A=5F40P@VX.jpg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- #CS2101009AK]MA8MOK(~E@({A_40P@VX.jpg | Bin 19455 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 #CS2101009AK]MA8MOK(~E@({A_40P@VX.jpg diff --git a/#CS2101009AK]MA8MOK(~E@({A_40P@VX.jpg b/#CS2101009AK]MA8MOK(~E@({A_40P@VX.jpg deleted file mode 100644 index 841cd7a546cdc3a0228799735f28c08a0a3a71ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19455 zcmeHu1yo&0v+g;#ySpT~I|O%$;O+zuF2UWM5FofFxI=K);2t0ZClDmK+dE_?8It)Y z|IB^wU+ccRZlAq&SAA7oUAuSFUAw!vnYvj3ph$~Li35N@AV3%N1KfN7hyY-qprD~3 zVW6R*VPRq55HJuC;NcN)(a@1G2=R!C2=NFANbWIEl917n6A(~wQqwUpv$3%eQ*!fh zvG6jmva#G60m8z0%00Oq~@ zx!6xU_*$C5+Ash*O$c;HqFq)1-U~;Q9Qki@OM`NQthUS>la4EV)W5c=cs7s%|9J=t zUTWaQTlo+xe7P%)M0AbO=uY@mpJ6+P;@qE}?$0a`WD-1ozu3#}I-_qVaEgA)XEha@ znjIeBfYhx1*vAL{NZGQ^9%kr4Ho<`S7c;wy35-8m`3V8%M>zcn`UQ)aVv(Zz3;BnrvQro#@g}UpycfTCpmaDyb^WpHsfFA$=={Kaaj+t5Wr>X#Vx-rnC z;GEu-9o25MFqGpXmzK4nSY)T0D(0TufH<~O{?6!fWN{<*+61b5fCU|=YqG=+z3;#qzx#8~Kh0Zl?TZI!!z3yT^)5fi7KSO`b-wu`Er7W+i=_ebh zMPF7`7Ri}Q$HR_I*m$Nq4oq2sr2DS)m4FXct=4%fJvhGL`xs73rx*$RpyU9J>$}q3 zr#*ajSfsXnfJg&WpD6q=;~E!0m+7svmD~s4f$-&fiCdy3Mul^@vV_v>UWP|pp9|!{_p%Qamw#vk}?Dd0}}LD@Xto=nDb(cUz{ zJBI9v>X6{yXVwm{7u)mDrXYo^iTni^^WWqq01DR`Q2;;)Fd!HN6!`C9I|L}U#{@#6v*@CtvCBfCV34p0 zk}@%4v2xrK1_kjjp!gmL2?nhIBprdv^;ZQUru2{^bckOE2eh2@XfmxH2;gHSfM>Nv)uUVq$%z`rMkaDl zBluAA<{BuZ1qF8>L=4&P_I9g$S~=U`qczTFO>uMNU zLVIIhhKf;~Mb!=+;Y(y6K}Dz6_~=?Z?q0XS6@d&`*L(Nr8-U6U zpt;Vp4BqK}_(;#R+QGPsdXyTAOpASO2t_;bp(q>EyP1S8mWFWEF6NUnn@_5i_{U~^ zj14S$%=#^zy85NesyKxR%22f6nBF1(qXF&W-S|A@%%~uNWjiu97GwyQz#ily@Zy(i z1K0>NSDfP=kNuOmy8~QpwX;Wi3^d5s=hTo}ma1kRaiJu|efD}5IowLn@maj5?xR73 zJAdu^LMq12M0mI~nzFEX>3XR6a<@UHqwd%xH+k}Bzy1#{7H(YA8y<1|Gw}s0Lzm~+ zHvqofwR4$@=X>ZCLF_~^Is3~RxGryp>Zr2~h8W{lcjwP7-8deE*_!d=TRLm86@7dx zE7q`hzpMG}>y0x`eFnA-M6doa(}!LU2UrO!J`!--Y&wDq6;E35hfm_=&e{}nJl}#C z%v#On0J3O&Aa%KFP$kkTH4r3?z-icG7cB~y!-oGLfArk1QEQQ(_udX{#nSa|d_lwg zjU8B*`nKB!`i-f(XtQkEO*->*l9`x8cR2Ao-HrLC^~_12fpT*P7Nqk>f!oq0lkZ`D zWd`fj!rpI8coeDpXKv%_DQ-K_O;UVapbCdwvTp#<0T1Zx2xjRFxCixO&~{}$^~-Y- z8!^WlncO21hvyC6vbS3D#3yrm<@O|Wwd0yf;$_%saTkV7lZum*F}g;FMbsKa-Ox@(~6C@Z_c7D?L!8`Xm)mwReG{!$E2)AY30M_QVA^i-C&9#k&gZN(;WA01~9d>@UTW}V5Coq1^1~K`wBe$EnmY=+_*4uaN7yR-Lt}OH6M6LN=tAe)a+#)42LfE60 ztQ6oMmY%Ig+NBiFaH(u^*dkMDsAU;N>f!J6e_(l(KOObCWd^P1FbO8xDM^aZ>#gcL zyp(7K zoa1@>QVoY#))MUcYd>lJ1iTr18hbv>{Tt3UEgN!5&a^ea_=_TyMK%v0IrABVG6&&L zU|kv$VWt4`l4sdxa2TCyue8(?O(|n8nh1Qkqle5f>XlW?#ii$i1&C+wZyak`mwjRh ziON%Ej^{zNBM&P|%I;o=ar0rXSG7(RCrpxbd!6(`;|to6D@DVTe3JdMY+-2X7e+!3 z;mN^LF=cNykC`Rji4uvEwrj*2F_9s$99t&x_rw=Wm4(%I7~_?7fY~X8;%f!pa~pMh z*r?sXCLoG05B3JPhGId>^maEK;mtg zi3`-O&)P&;i0$OhoGyaiw+U0hiXRtw#EvbIE_pXQ*X2r^>h%ybS1_t7aDW&a}srzO&i&RIoly+=PM9;!c))*-PO+C+d_(X61ivx2Vz2_kz@;GdY zvo`xG&3>%2bi-?H`4VcCmj%5_zXZ&e4ZIe^t-ERrG?|NW-XoX?u(#v=8o+6{Il%{2 z7WA~gU964sL;2;7!Rhn;CL>7PGLhX&xxO$1oMS|*oa>Y5CaZeGv$^iwomE$k>anXB z?%mdMefg_M5e{8hr*t-ygc2D{}n1EPoRyo?=D7Yrb+NbYu9-Iw9-no$r}n=!>2uq38J z3dNMk3Q(1T@;j9DY05BF{|4~-`y`phZJ)Bp@AmYkN%Q**%6k1g5EN#Up#s2e<7~)3 zz7T+DV5rQpC?ufZTF)!}Yh(>tHx~fX*UFhVuQxfqIIRBUFfJAU^i|4n_<^OVD^1yG zGP3;D;r57W>T^bZOxni>3t}NDqH-8ws6X5^wva(p(x8GC-XS0$puexvgI3>B(a>eV zQAn9d1cl@v$e6sM(-(KYRt(ibi|Itw6w311C zy%Tvz5(xxKrqC>Wge6y_<93Z0s0N%sMUI~757ot=B)oQvEZ@g%zvKHzxBVfC5q2m% z(>5PdHs4>7CPN7>S4sGH#`X>Wf+xsDQP9T+I1n5P9tsKw4u0D?tx$jy7O*mtRf zVuq9U-P`cqeTyvHh9r~O{{{ZXv`5Cl^_4I4y+cU(XQvnhY(&THYgZRU_Q}iZiJBvq zdBbT_c7>@V*9g)ZxDU|h**g1ix4CP(Iwsjam8|SNB0QuDj5iv6h6bJJL$VX_i7P6N zBqpd`_>12)Go;T5lBsDLmrxIydGaVauJ;d^4mHU-X# zrW_uP!Rd9c+tQh^jrP?Z;K4qP%|oEf%225T+J=x-owP3vJ)*nnk(^^M955MuqJNr= zO>l?@9axK;cCvN9h@z-+?T{PTniy*(Qy^wQQ=vECEItum_5zp1sCtoW?c7V{^xU(s zGw!WhUO#>AQv|S_Ym;)WC5L!|S7+<}8O-3=i>p@fIJnDC>{z-VUc;0(sKZ@>JynzW zfKV37U_QV>*GwIz_$a~4KA_M`boT}j0-Gal85=A1($LbYPI$w{spU#I|zp%@T7Etv$U93 znH-&*ZUCOcu80y}pNWNK-~}6+|1-{Yr2v!5cz%v)#xap3V+XrpNwvTxLLs^I3q%0s zpqqP-+YO-UG(dtk+)CGW@=aG&URjaZGjsJMy#HnXqiwLi6B%Dt9-K(;M6Z{G{+g9( zdRKyGQA3bc+CvM!lkhb^i}}+L>oJ~oRF6mW`7}gd&Rpr<8hcN{v8Z!weHJTDS#eb2 zd5oq$&0S>lWU(NrH1plPWkSTtq9zR{rz{5PZ6fykdr8dIQkwYpPt$Bmw-(lE_b{Hr z8r8Xb?=$gbWpI~?wFcw`9#DrHnGI8CQHDzAv<=3SOs_6qjcc+!t|E54Y|Pm@7TBUu z+`0jrhcGLy94wjnCd52yQq+z@+;HKjjKghb8l(#r;Zap5Gz4x zMvg)F*!bbLG2Kk(@lKz2_cifr?S19l>X%n<0IyPYPIFf0i5X7Ens}&h0R7r`#QRIw zT$S=wFuvC!T)Udf>$Tk@c9EHD#A1W|p~>#pT;~inhyMXMq(jZdt{(8%N-syv*{$Y6 zI_3*i4cjy!6*gPQ`mwC3Cax868ER`?Rw+$w1bByQC7x0+z61l^+;R)awVU!q6lo#4>AQke=#f3tBJidr=nctG;Xh_-)%{*Z`!Bza2Gy^Gp8G?2E{6 ztw4K!z&KnCA77!f*dbmUqnji8*63-?b!9A>?;`UyOm^i|ebzhWfW6|GP5;i1H zeH*v|J8vS?ujfn%qJMlrfmZ*j70?jXPq4kasQl^jHt|l%hq{5q}sC;RSE2v@=N)V)A>A*IAcI# zCM-bAd-ffxnQvnEEuI!Rr2zDak4A`z4i< zjuM?vu0<-Q z0GRi!&&*Gmb9_JBBE0+1A~7|W7HzM;eVK1MQ**}p`UYStBXwvPwVYMP#z|>!k9*2Z zH^J^R;hh$?DN*QF7Z;HmTs!xrvsFR}oRtmPFsOSx1*jTiouGQ<4zzwzH&#E{6JRd! zM4ub!Ng~I7dH3SXIjnU@M%~JJ^Q`%IiVQ>bNdYUe*VFFWZXnio6xAwG&TM ziG_%5hLF5@5xZfcyH;CEoU%f*SVVHhv+6W*p9PhY*5|V=q6sRKN8EGPzT5~UW-N_& zNW;lwSo&>(Vc_ad;|L%3@~z0;Ru97zYWAqRzYpD3=Y_I#cG=6P3Xs2owo?j`oGhU$Z(NcPe&-_5m;$ z{eiRYqv#)&$Kwj#op3!4G&yE^@Hp+AD=+4V%6-jPTcvmZE<>eQ!^AiQJwW}k- z$NnuH<})s-8BkoK;zx9#a&k7ag%Syk3d)I?t%lHC!%FIAJQ1MMYdc^|Hqi)J!UZYX zg-ZgQ`d~)Wdzxy{iDRId>L_=vPDT2&7VT^M;@f`pugIFPTon_qUd&##xe|iPqbM>J zBh9Kkd{Zq_6TBiwwLD@aH_Tm?RvpN{lVQiZ-9{Socqx2)MS%04Baqw3BjWT1aQpp_ z0{WN+f`PW`ZVwjTCLjQnlzC4G^gX>RYXe$%@Q%(XV`?4wwy7sT+Oq^yM(wLs?FdG@ zCmBs9`k%|3_-+7jeK``$VzU@4i7;^vR=)GQi*Ug`Y|e9}kKd|(fk{@kKiE6FO?V~@XFE=!NDdP}_^0bjXXM6?@iK%LO; zVK0$c1}W78Wrmq>>u}XKdEO55ToIzZRvHA6CPJktk62V2N_S(`({t-KeLbefq>4=2 z65)G+B!$706eVI>vv&%KefEdL15HNtM}7sy&!+La+!+k z*^U;SQo_fKw}DCjdM#Gx!)w8G{sY5A5?5lLTzzR4q~`X87@Gxl zQ>z8gLtd9b(zSc_&!f9N+T-l_|2iAq#0qTj*t5@TSTqnDPS?bZ1%0=&ab=Em7>K^( z>gdtpqC+B_p_&zidz>dL5gO|`NqZ#>)DtO-dro1Xw}(6lZ4(R4_&&0%hZ z%mO4>`vv2M`nC#}?;zNW2VVWio)>zw=#Ip3#3zgrlMECgrft_P%@#PWPhQF?uJ&_* zoflSH4yl~+ZAI7)%P^9dKjM>Lb<;NW<#k!R=(;Wg=u@L-ybsbw+*9O{ut6B zT>X8aI-&kozLKXiW0D@J35qaFd5(a-& z!sYTo2}2i}6S6a0q4%=osSo-~vFB#nXVSe&h|Nwqk4VItJsS++*p4I7a}`L`G1t0i z5Cki!CfLkV7%CHA3>tiq#hNOsQ1ty^6!1w&AZVHX2JpG_BxumQ!M4>~m84Yc$PY#C z+V1p=$LowE@a1JAruV>NRE}2ZWk!2mLW3m1`%9R%W@?AUY(63NB1ks?YIs$g(ZJp) zxjA)QUCj|%mMz_4CcL=_iWiZ-xtK3Ua4-VzjY@{qq9dbC`2_j*=;N^0S_>n#%S>Z? z-3RJSJH0~`IOem0>K}5ZD)dagevtNibHcf&?K5S7=~DyxP&9>XXf;Fj+9gX9Cu+|l zFW~yf&}u3h+$7h%xkAX82+RfSE-CmO4V%U;^@)2>oks;9nP3i~3+P>?K1jyIe9Ys| z=!D7}&!yL8fttOd&X};htH+IK=4Yqt8S)T3<6MlajBHOU^Ua;NiG(`Zw@tV6zLu$a z`7*=I4FG)Zq;aQ3T&|PR7}sJ5aR$?Sl!B6CaHCN|d$;>4I$un`*P{77}W#c-{F{MeU*F3S_dT_Z>nWkzIy(n~AC zytBbW6p}RtY-P_l<*_@}ONVds?d3@2n{3R)%pnTYm(8p^6fF@P1y4G(bdD(t!DfEA z^)MBi{*1eBWx$18WOy(^5gNxODOECpzc`PeyS z)d%d4>jTKbKp$nu+Q#%;mRW-Ca$48-S&xu~Xpl-XOybJs(sI6|TsZg*h4)?>QxOKv2f z&jg^&SbG75uBF;?aAoj&uX98`cL`7GXMAwu*RzQg;ks(2I+?uz=(S}4yM0$6hPeaI z8*yd0w{ZX%#1Oo8zF-88t18MH2d=Sj%^4oLN!gr-Bj?CAJT+L$ms9N|xW@<==CiiC z|AAmM=;hdYgmop3{{(PP9SR{3muk&Fy0XCT27t-%hRR(;wwshgt$ZNvS%qN|-Lz5P zUoaY9lrG%9yeGW@7-CaypGD94ywPaX4g%z9oY8@WQm5*-U&pWC03uZS^kKo{50}Wk zCpx61$2&O&I9<%3O}*c4ETz8D2X$x14>RoS?U-kY)`*i%u1M8mJ?N~q8XUa5pa6%& z==GbM*U4v~cslca$CpD5BH=|uvGz0~O1=vs7_z1(PNyP7SY_2y^KF`qV*k)OdoF5f0<%(`gg0`<&e5r6DdgVJ+_!lUXDSb!Is!2i=6=46-1Qnp10hYskozbvm{G z*tmi(;jbAsZkoYKT(*&vLIQ$f1&>gU5;?TCm?*EIR#xDyu@yo4GCvwIdG|(0{vWB} z>*QwQ5Hc~taukUM{s>z2x1On`KemaLrdoO4nKQ{aasy~I0ENU~|5*h94hox5N=L$& z+7bTFbr4S1>&2h7z9Q-0@D?dLCNR1T z2)a^`{qMWg-=v`YyQ^ro{Tjs^aL)$;M9}Tt(fOVHu~mUR1cF}$Wj}d-3x0R?mI3x* zc-`jzI;G!*A2QwLexkp-dW*x5{3QK>{n6DQL_ag%U4^i^0X)e5N$iina_6Xe`ZsC) z5bs!9%Qx;e2O_hL4bh=|gTTHK*h9RX^ZdEr*xMYQH)Du*-}l?7*B8OHe0y;Z@$SX* z?tV9MtBSGPeRr@ExI6ak=eFFcd`ovlAo>Pycl`VDbURSuu2J5D8^Cv-t9{?=o5kO9 z6cOa_Qr?3$Fc=b_uUAD7$&ZR44g%2n2ll;T|A79AO8+atpYR|0z@MZ)0RNy5{7~-K z%-@-+e$!zEEfi7To=pJlRocNFNLNZH=kb)wrNDk$Lz zJRz8vFWHDwLr`ArFE_vju3Bs_pr|i-&Oc}|fj!)~a7gBh+`I?B*duUX4=aGE65!oS zBs;;qF+&hd@6|$935gA9{T}CQm*QHUR(qxvP+JS=2O_W!ykqBbP4c=2=s?3hqRG$4 z1G5eN0)D%kh5B_l3k(kIc22%cpye!PQdzxS6cQ%TX%-vrs1dJ>vew_+ygkl>5=zGa z6K4f5!6Yh4d;J*^rGYsqpoDH#f)*dSi78vyrtaK6iR!58=U2bvcW zHae8Gr?$-d%7dlEehVE-W)IRs?Z$nL#aZ!VKT4ZMv=7tezMSlb>%ET_ESf1t^-}si zTAkMyNX)S$qxRXj&`^u5Dc9I@4mZ9=KjJVgC=RdQ2VzP}O3A7@Vb%M$&qDj#(i}K6 zNGA}}Wv=o#*#dr;v(nTdMUFUj|aj-?{MhY2EROn8Mr190^sv|dndJomX zsG2K1+bG2KS;0!(U_`joL-Ad`JG2B>#olYfj!W{wn=r3YaJ_`^&nI+?5QC{}5fYCw zoYKLH#5MHDtB~|E4oi|uZWw37TQR+=qww)Qv4V7doW+h}tI!44YGm7pPo$cQg zL%?ZS%~UC5)QdJLOAa%ZTI7DMr68ACQCO=_`#zzs00@;)i0%a-8)EJ`@o!K3n|jQ@uO0I$kSO{qYAHrB7X@V%LT5418m8@YJO+g{){D%6SG72O}HNI zXqZzVVBOS7w*?B&s)RNatWZm(F6U37FrA>1S7yZAtK4i1{&*qLk%R#&rUrVv~U!N0U5Ge zU>|+&ne~MvQsz+Yk(V4p9-)=;kav8Mq@1TF6W@<=BIEVA0q~q_SP3*rn0_n}Uh`K0 z(0G;gk*IlTBO=VS<)XctO+djD>LDYKM!iU=p@tRd77B&3>q2M|e4B}96y|iDwbR=> zzEL7@n(ISQULw}gLwxk52&USe!3|4o^37X-& z!ee_XQyn^qb4abpW#C}aDz(DxC~2*5p3mrP^MApg8icog0(6?drCH>i;J#;?kinJ{ zyzz%ZJ|Unbcrs9}2d9|WkGH-t-tW9<6<^iV10$IziGB5^X%OANk0c~Vah%i%s)GS% zu@F|iQPXc@H&N>uv;UU>mZ+zVfwES+QD%oiO+DG;{Rz5i!=x|{uc;y0{<$enK zmovDdaSR9QO~{*1iuVT5&RGW_lHawcGYduf^oav5{0zav3Q66TUJaqNCoLsb^IqIm zFqvOSa3GVPK-u*aVqZO7OHnG9`xBCAo-T*U!^wvG;at`XwK0)iK3`7#ECWArMxLQM zHIRFn%I4W1p!QdjMe>}Fi&NC5f$1sQDZgOiN0UM(!wolrQSZi@6-RnDzH!|z7Z5}| z9NEt<46K9Z1D)wm0UhPoIO%kn7+N~%tODqKnL9muUI5xqIdWYFIRx5v`TC|BLB~B* zn%L08%QfW_tdpE<^ZI#gt%Eyd0dHi;aKKn(-Y7{(`eOj|)415z&)j?c&z zCNsPy;b2_gS5GQGR%LEXjR24gB3A~2;epqk;rUJyHeFnV<=NByNLFVEh6ZV4pRdtR zcV#g507BgYHK+Tr0wUe(uq$<35{2+m%ee5N^krA61cDl7Q2M=PGmPg*FIHzj~D5Laf)rPxjO;&_`w5%g3;D+n{uD|}A1(+&O zQgz0>ppp*s-E_k4+MjGt+$ojn1M+AAh z-hsJ*&;GtawDGyxl88c5z;V-V+-LXUoSaI@y*gF;VA`o{=|bKpQApOtWRsjKVx$13 zodTRtppnn4G=u98j(=}4@-h|eCU~`1E9^NJ1hux9LN1-uiNi<_+2Uds6C~bJ%3AaT zGDC|DlyKCXz0g**BAP9Z7ri1O?GWBP)#;2;4?*IXl6zSWgbHH0W@I?>Bz9SOG@q&+gjIbJDp#hg8+P9CNLvy^ zIhS3dgM}BfTjV(Koz%qhgd~d^X?-kVe~lXe`^9||Z*>JWt z{M6gOU0|=cSG241UWv%3dQD5f;KlKiW#sUh6Kh#$7FfXqiEjt8v)f=P$v-=A{*2)7 zrN5dx3Wj1uZR{^Zw}?mm#vvF|5Wwj~_MtzITqFX~H|jM$U0yCrhsSuRR|^;=AxY-q zJ*qKuW<5R3^Duusl;(Xmg_%EJxL=q#{0Eu6eQKztZU9CfdsVcpdiF?>)l-ZK1sbzJ zqs#K*rP72>xn*jF{ZUd*;YU8B&zqc2)aqOY#wPy^c0E#rEVv$m&8KR4Il%p%_4hJ{ zt;znI0&0Ga@_R-Ov84oxw9e)Ue_`T|UF&=|AvlZfk!ss>Q{k5YX^AAI8PJe){D3>! zo_ED?Od+|n8JqU#@x(Z|=G#s6@lWe#1<+z?71@pUSPLuAB;8jn%kIhp^loK@aPlP0 zQ_TPr2+U$Axh278riStAjxVo4#@Kt$7RKw5q)TwUaYo_OtvlV3n4qh8fbe*7R5d1L ztP6dvG4}egn2yQs1m}SUow-ppt=6*gZ_5nz`=WI@0Samfv+8Mh@3)XTC0|T)3Y;$OO|pWpATdl&82N%i1+O(L z`M_$mRF1$q7$h-34={l?;t+}o76UsK2GE_5VI5Yct{WO363hz9^dxa)uoQZ8GnxgIACyK(zHye8K_kV5AOJN_sKgs3Ey#bKeclcmvnhNGG0*DpU`t=451))%pl?1L&&GL@Oa_Wkz8yJe}UFST^n& z3Qxo5=Wu)W*DO&61E%pV?BD*updfoo%w<}i_3SzXvMU)9qoI>7XB2C5FP~U8y9bx< zdbA)xu`+&W(~R}kfwIIuN>Aq|^j-B72#K~BcdoiP(P`?Ka^j0zb;XWRXStSm8WHJp zOeU**;9FgGS)zZ@6#6M>psJvAO9Co6LM6eH$SHBiz*)OvZRKq;`6dqmc3CkLz1wAa zuz|r;lS=8?nTB{&3!==ZR`pb0nesjC47g@nm^cnc%GfOi?`cD{FP?I71}f!j=}TiY zo)Hjx;UZY{DS@k=oOONz&m^09aCTxPQRsuXojYm5?8wkIEv5|~Mb(SHF9Y?(j6GD( zE!*rK`BG-Vm7G#Ep*bj_%`>|GKhi|7W?02a^Dz`kfxYMSUep$kmHcS>GoOtTlb4#T z0fa0ef+Q+L2y)X`MAp^p*PxS!WCZ#P13TBEX}cv)dOzMt^LInT2yXgM94Fm@!V_u) j(077GE0rd)z}DM8W4^Be-aIiKD4<;9FFpmG(wY80NQVQ2 -- Gitee From 7ae6d6e73f8a2efd9d8794945d1885037dba0e9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 13:14:49 +0000 Subject: [PATCH 35/51] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20img?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- img/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/.keep diff --git a/img/.keep b/img/.keep new file mode 100644 index 0000000..e69de29 -- Gitee From 3a10ee748134d786ce2fcb5d5d28e767b534e8d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 13:15:40 +0000 Subject: [PATCH 36/51] img1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- img/AK]MA8MOK(~E@({A_40P@VX.jpg | Bin 0 -> 19455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/AK]MA8MOK(~E@({A_40P@VX.jpg diff --git a/img/AK]MA8MOK(~E@({A_40P@VX.jpg b/img/AK]MA8MOK(~E@({A_40P@VX.jpg new file mode 100644 index 0000000000000000000000000000000000000000..841cd7a546cdc3a0228799735f28c08a0a3a71ff GIT binary patch literal 19455 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 literal 0 HcmV?d00001 -- Gitee From a2ad2bf0f17af5392c3c09334e1c0d161fd2c89d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 13:15:58 +0000 Subject: [PATCH 37/51] img2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- img/ALE2%IQ3_2M07_ZBO(G8HBJ.png | Bin 0 -> 8317 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/ALE2%IQ3_2M07_ZBO(G8HBJ.png diff --git a/img/ALE2%IQ3_2M07_ZBO(G8HBJ.png b/img/ALE2%IQ3_2M07_ZBO(G8HBJ.png new file mode 100644 index 0000000000000000000000000000000000000000..430f47c08e2e15e3729d369e64388767a782eeaf GIT binary patch literal 8317 zcmdsbXH-*B(=LX9L_s7VC{2V=q?b^n2B|?pQ91|+(tGbEsPx`zKv24%^iEVd(g{_H z^xk{RjlTEZ^{w@-@9+I_&yRg(o@eIF?3~Q3IXg^EMS`Od6d?X$o zAeaarhx{b8Kfv8?xx7?(j#t)CyN**r)RZ;kaQDs4&1YhgmX?<6?Ch+ptmG6FSS+>` zgGC~d&CN~3#3UFDMj3&iqoPV0HgWz=G=5xbpl}@3lba?_!=Q`i=pZkp8y-shk z^EoTWhOu5>c0_kHr~0`$S2PS{A}(0IreZT$_4FF00=z3_NBpl{wRPjyGq92@NX9CM z4UYh<%N}{a)g`IIW8qk|M1bguS@GmpHYtSn>gwu97ODXWh>uFUttBrKCp8$UR*F0SHR272gAS!2TC- z9r5feUK#7&;^C^nC)L86UsqLlqzuJ(CBwt2Nuftw)L)kCiYsr`Y~RfDTu{S|w%@AZ+&30 zhDU+{MV;vn!^d7`Ubtl-Fd^Fz$NDJmz1D-rQ!sG@facjfpkp4T==E7WLmu19RBoTb zgqj?F?FU1c`m75$s9>4OJeLBz8QK1QbBTKwjv(5-@~T!B@d5`6W>_i!VuWA$1_LU^J0|aNW^t9CT8mTj7^&h zGtDSFW4P9eEoJ9(j@{j@DcHEWm|pK!auKzNZWWupI{qzGDnYo76jPdqyO>0t{&-cv zC=@ArT^OZuSet6vtQB@%dp5_2o zgM~!KWM}7F*0??Xf2m$v zDT9e{r3|@`D`iCnJTTF33jhLdF%8$b{`*Dyxq_*epNpe{!=2Fa7%$yz>%p!ZbqJ*o ze(KrBKlW^H`m%CY#uGnV^eH+FbC*@h2#QKBxBPv5)M;%El~|q@xTlJ$NDADJ_9^C? zgM=2y-iPdkgN}}M^k+T^llDBld<@z1231Ak2-NxNFogUhg$qm789`*`UK{I=#ble5^na+Ps z#Y$HnceZePQKqghv~!604rKi{!{SF-J)L4@)u&Wo=iuzENUm1fPuQgPhLq%gCX+w# z2=--*ypoGN))Qy+e`Xg^ph+Plh=~GrAc_krH35FFno!;i_AU?@K$HCkbO4v*bD2p~ z;srfa<1$=JLF>{~FM}P?5}HB#b`UT?k`d=_G_Z93>5bjdb8S0g6tr1QpJ&8_%K=5t zr$!29GyPWFRtU6~&grLc>2s;fz2;-noXy`+1}aMAdYM%TAZz}F9io+EeDz!MlZ%xi zje3v53sw)-?c2WLfqpCIgm#+HO8cl%zVr5?zQ|S8>(??RPS@6N1nVGXJf2a`jXtmb zVOcxcBA!JQ1hi*St8#$r^V%uphg~_bq;oc&q|XVpQgZ26Ga(bgP;LrKm`87x`lkv? z11t$Y=8pzQ`Q=QxFWGkph}fEs0Z9WI?NN#rZL0ve9?R|W!Sf2WR7aO#3mVs% zV`3c?8q6&4pIx=G6w^1w>4{AAneytNI(3sjK<-0ueXm$F1OZ4G-hvEjsE!7inYp!7-3_z zX{H6VR#uBXsC1@+>`e&q#)#E+&$`{ZlZ3%_EWO^I+B_?^mxY3PSI{5^+txNhwLIfztA&p5&^$3zlI)s+{P({1{~ywy*C-O#UweDig)Xyec^V(A z2yi+D9j&R+4=^DgvLk&HCLHE7+Whh7AYbRu!eQ5hEpX#jqyzYp#5V!`7e1k(zsb;; zeDg>zqLZnaI4}HK2H;c;O#hbrA)@nG=Y?DLU*L;Fe7S{QgR*gI91I+~$-=wM!aI|K zX6KJQsrAUhgg|XsyQR3+YHrZuv%bmAN(i(dGKSdjxdy6bue2nzA&!(O!7q3H zd1kn@0)E$gPq(VSc&KZ)>pkh6oVXytB&>y<*PpQ;3@EXRDDOo#|xQkm%6Hs@;5_o9f35_ClTIx}_MY#2U&;S&Zl_a2qB znkLKu*-8fQxRcl2a1NRHRNEzoCHNe-c^rPqjDlQZ?q0c&t* z9Qj&R^Ycl*(acU2V+~em+OViYagRLH4h=;HZg={%M-lPOf2?A%U`C`>qx?bQX<>%; zS;dvoI8P3~Y3q**5Ox9AZW8WnTr@q^`3}NnaNT~XwVq}BC?%a4Kfwu2nVjDd=mT%bzv&~|etp%=svzy*2owWaj<)$|hjMq_~Rtc?Vc zhUQ3Vex)*3WJs3bl}uCPDl^pp_IJsEv!ok?-@1!V?xpY$-GicKp)6S`10E zTg^xPtwp*VXz!K0EriHEGjhy42?zl$u#iuv*a$^V{mwvN3*cs*_7|87XTSMmU|H+9 zJYZaSEd|Xrz%Ixd%H;Ktr1L3p2GHaP*x_9ek%~yE9(1>gS^a!$0?oa4?giFV!k74S z+c!Qj%*Mg0MW2>UW8er4S-`ZogHL(Gpw^=Qw9rI6tkN31hB-l5glV6=-D77G@vfEx zwe5i-B}^wJ*UI!_SX*1%YV>BP6N|~IJ{XSqnq3!7e0|nFyl7Id+fWVHZPKWG?r~08 z<5?}lu0PB1OZ=x%z=s_|n>MWcVa3>iC{zr^EEzamngCY)#tsfuCuifi{p~`&{6=kZ z=7l(v)ScU0n;$+kDzS90wrDAVA0oRvY>@D2=W!)F;3YQlg~wrS|&X&QuY-nk3k$U*LG7HkGn z1(T>9JXleB>+BZqT}TAwnr@!_D8?qYaYGKdACrW3c6qd!jB{ddp8Vt*aSi%ab*fyQ zZU0elDE#;73RlmWUmCiv@7}ERQ+7B5JwI|Y#d*TnhbgYYJVJ5c9`m40|C0jU3T5M$ zD$8!1OPUKF_U>o*ln(M#aMoN%c)j~f2p3hnPI2j(8em$~dK8h<0IhzE>mx0be;O5h z>leszKV*|LfW%=jFCI5T*su(KRb*%}1#nc_^I++5A-+1wc(vwEjYK2nkz#BZ$o)A% zqnGxU&N(KwcSM|*V1OaU<6w=iif?ueyJyxJ!(Y-A!;T%ck7I$0XP zY;I)(ScK_AlltXxG83|MX2${MtXHZT7BKDWvxf(&vKF=v9cga?jVdVTJmFEa4GW<8 zM;viAS97M(D;q!f&=EIYM_+ch{w$h2)uh$SRhG{YP}`?8?M`1Pv?;}5S6^YJ4-h;5 z&Cg+XNtf8ccr)xokpz2l74yDRX+Ak^avD7Gt87O?K)=aAe|sw%-Rz-89g$>hL|*ur z(&!0s3fitDLCD^rYN9mND&nhMb5i_S(Q9`|o4Eir-(3xoS1gXE$hnmLzkUa9rjeT; zHk@eCW`L}3DNh&Tz?PqAI9zLIW(zAPO_H`x^q}!ibzCLO6YlvlkIKG=y2y^Lp&8i*Ns%7XG#>gH57i=Pe4lUi#jn|`H2>5!C??n#ezN>U6C(>O? zrr@ByMJEinz#SI6Jg7L;#XR_-dZ@MM)K37T$UrZNWJ-Z~KzP&dm@5OE#_y@#rfUW^ z#KBa*XoS1I&c4`wumxw>8UFqNUaJP!hN!(7k9WpIC8Ptx=_{rU-mrJ$*uMY6@@l30 zZfI~gZup(`Ji7;emm4oOSSJHnGLTqoHB5pSqf!X$& z8*+qo00b@SR7Zp_a?rKwK`#LW-1g%lKxQ@LUqGBvW<2hyrj&zT-cG%z1fr-5ryG%e ziUj1jNoORj;2zJ{kh36NeU%AjA_i|H>1ng6c(tmqM)*@LfID$+I%| z&gHx>zIA5&UKp@ZbXc`!CHP3@Giw`g*1+}VrDu`8>a(X!C0BCZ=T}#&+X_;uJOQX| zBSg4E%5FgT2~UDBNJ@qNlfC6IRdYeBdA1qVp@Na~V#O-RjtgiWohgByHhR!b5#kWA7GcO8IP&Tu zo5oLlXV;VJdf+i@E|2$jybji5sqxEP!7uZO$IA)-_o7ZvIs2NV=H~ z^%J|pP;116LAaws&<3!i1FZ zmU;ci$iM50_c&kq#p3n6xsWQSUHYSk7NuhkKnRGqxJCE(5vT?DU-D%Zq-Yan6K-Ur zG6weN9H22wN@KNdsXtc>9!rJJZ$Ie#HAPoLph1>t#%z;fzs9ETEn<0hLZ0{S_V8qg zyvNAo{4I?HxyAI4-!sl_PO7mKgQkpUA*~hz63|z|4<-HWh+Z*z3f%Jb^1k2`uXlg? z>47*$;QrRjTZuC7BKzk$)cyVHWpAcFO3SYfYy|Z~JL}&9tq3~Hzw1yD=TK+WPIj}> zQy)6N9+XpnMotVcRsNL15o_VeuiOv9Lh@C3Xke_W2GRW!0R!?Ky)h9id#YVIZAFOr zU-i60q|0lOv}jYph3wfDZxe&P_=4N-NZTCf(k*s|3l+}mkY^T~99cw$d%GQ?80Xam zvP?b&*U>!R-!R{L|J;L%VV)q`r35{+Z{kAMbU0{;Oz@c~Q(AIolJxihK33Lj&YD;TtUymK+)WBmBaNDJ9FWrd zHIkkua1Z+%8CtN4avP<3=XAb!ukVCi*(5Q`(DKnnLtN$@S=JCyv}>ZO5gB&0^8VCo z!2xN>g~6@Vd&TvrOpPy=UZTo0UBIEsyE&pyMzf=>xzZTCmGL~3Z}$n3iI9m)zg4AK z5|0Jtnm+Rrni{E`ZM;8aMNm|CED4qWxNZNHSOCl^;s4lH@p;5EQElz@0`6|Vi;;e2 zUx^h0L&Ik?yFQjbY(4NI8tMV6W}Ewtiy!2=uLf-%FORIgljQN{JmI4oN{M$mM}@HP zH)RberD&t5$Xst{2qe6P28~N%M6N4%OPstmLsMek1#O-9hnTA_Ca*JkmX$GDlBg5C zhJGPbSZ#qbb zBY@Gdus+N-?(DQg1wMa`vT4dRAQHr9<&BBv>rM2gPnU>@2g|rhCW9y}f*$oI?i}w< zCaB`im3H$Z6X0II!x-MFgxF=1O|g89W+7)Hiad#Q64e2u(RrJ7_7l-DAb;K4_Oh($ zC)$P#3L$*;Xc| z2OO{D$h&f`1Y-^!rC5ML2GR1g88E`-%fv2s(oQ2NlDNlc=+V!8ek7d&bFB2aWQh5k zfq>@S?JK!r+yqXzT&@d}@Z;Uf1oA^B76-TJi47uemko=~d*)DsiMKCh0Py(-@eBO=R z^J6vHsm+0Fc7MIdugzi_*SB&>KvWj`?ibRgMc~buzlwgAEZ{bLUT&-_0e8gG0@^ZQ z4L-x2wun3jq>L*u`OiU-z1?OCs&-6B8Qe@PfwX&eH1V7b1VKU^3yE4#YDCOPNG$N) z7#UaZ!F$XDoE(oP*(hm8<{Uv0( zF@zguj$m+0m1GU_*|tdYU#5MGcWMBY)NelHC$#39^Ub$Us&k;Vp6QAVG3dMFxTAX>>|} zG_sy8wODi|zR2f$-dmyXnJ+$81wkBB@%SkNdg{cvhj90`DH(_c}$QC!nn%ET@rM2LtyY8K$>%(D@=4 zvS*APIRVWRFs>;y#CbvAL1J%KEoI(mSq@S$BOCJrhq0e{lmH5ufD2`8LJJ#+c5!r9 z?(C3y<4CG}g6deDB_bZ3zk6=m)Y20CX}7^o{ioxIEV(oIteGQw;4}Rspm|{PM9yxS zct#|8#G%#Q>cGzjReVrXd1F}>>{z_%y`4XMS{AL+q8Z~NeJpNNAa0`{d1|I#7a8R zY2f+PNW0K|RxZZ%VN%wV?tZ&(R^mvJDqYEH^P|EZD-Y=(FHF0^ zM@-|XlGTf-`EsAcI~z;KPt-8JXJl7yy>~XUGA2lo#VbE!=F9ap)OP6 Date: Sat, 23 Dec 2023 13:17:40 +0000 Subject: [PATCH 38/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- #CS2101009.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/#CS2101009.md b/#CS2101009.md index 3693ea8..d093a24 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -15,8 +15,8 @@ 1.设计目的:让不同语种的人能够能好的知道游戏规则,提高玩家游戏体验 2.设计思路:让玩家选择语种之后进入游戏,对话的语种按照玩家的选择来呈现 3.最终运行效果: -![输入图片说明](AK%5DMA8MOK(~E@(%7BA_40P@VX.jpg) -![输入图片说明](#CS2101009ALE2%25IQ3_2M07_ZBO(G8HBJ.png) +![输入图片说明](img/AK%5DMA8MOK(~E@(%7BA_40P@VX.jpg) +![输入图片说明](img/ALE2%25IQ3_2M07_ZBO(G8HBJ.png) 统计苹果数 开发者:王玉 -- Gitee From e5acf54126a35a5d072df0b0afde0073f581f6c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 13:19:28 +0000 Subject: [PATCH 39/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- #CS2101009.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/#CS2101009.md b/#CS2101009.md index d093a24..3cb9797 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -15,7 +15,9 @@ 1.设计目的:让不同语种的人能够能好的知道游戏规则,提高玩家游戏体验 2.设计思路:让玩家选择语种之后进入游戏,对话的语种按照玩家的选择来呈现 3.最终运行效果: + ![输入图片说明](img/AK%5DMA8MOK(~E@(%7BA_40P@VX.jpg) + ![输入图片说明](img/ALE2%25IQ3_2M07_ZBO(G8HBJ.png) 统计苹果数 -- Gitee From 5812a7682ea4ef168cc4b4832698eb16bb6db0b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 13:19:55 +0000 Subject: [PATCH 40/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- #CS2101009.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/#CS2101009.md b/#CS2101009.md index 3cb9797..d093a24 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -15,9 +15,7 @@ 1.设计目的:让不同语种的人能够能好的知道游戏规则,提高玩家游戏体验 2.设计思路:让玩家选择语种之后进入游戏,对话的语种按照玩家的选择来呈现 3.最终运行效果: - ![输入图片说明](img/AK%5DMA8MOK(~E@(%7BA_40P@VX.jpg) - ![输入图片说明](img/ALE2%25IQ3_2M07_ZBO(G8HBJ.png) 统计苹果数 -- Gitee From f37cb40b369efe259eede3993bd432e4774dae6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=9B=BC?= <12564271+pan-yang-yang@user.noreply.gitee.com> Date: Sat, 23 Dec 2023 13:22:19 +0000 Subject: [PATCH 41/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨盼 <12564271+pan-yang-yang@user.noreply.gitee.com> --- #CS2101009.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/#CS2101009.md b/#CS2101009.md index d093a24..9e07d87 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -26,7 +26,7 @@ ![输入图片说明](%E7%BB%9F%E8%AE%A1%E8%8B%B9%E6%9E%9C%E6%95%B0.png) -修复的bug:language.py文件读不出来,影响合并;将读取language.py文件时的encoding改为UTF-8即可; +修复的bug:mian.py和game.py不能相互调用,用language.py存储选择的语种信息。language.py文件读不出来,影响合并;将读取language.py文件时的encoding改为UTF-8即可; 分数排行榜 开发者:杜天姣 -- Gitee From 5e1948364c0dd39093e1f67e2b54c9aac02ca669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Sun, 24 Dec 2023 14:17:48 +0000 Subject: [PATCH 42/51] update config.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- config.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config.py b/config.py index 49e5b56..fde2ed2 100644 --- a/config.py +++ b/config.py @@ -1,6 +1,9 @@ import pygame import os from math import * +from speedup import speedup + +speed_up = SpeedUp() # pygame初始化 pygame.init() -- Gitee From 4113a1d7ffbe881db1a07547fbb4b2e9a6551d04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Sun, 24 Dec 2023 14:26:59 +0000 Subject: [PATCH 43/51] =?UTF-8?q?update=20snake.py.=20.=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8A=A0=E9=80=9F=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=8C=89=E4=B8=8B?= =?UTF-8?q?=E7=A9=BA=E6=A0=BC=EF=BC=8C=E7=8E=A9=E5=AE=B6=E6=93=8D=E6=8E=A7?= =?UTF-8?q?=E7=9A=84=E8=9B=87=E4=BC=9A=E5=8A=A0=E9=80=9F=EF=BC=8C=E6=9D=BE?= =?UTF-8?q?=E5=BC=80=E7=A9=BA=E6=A0=BC=EF=BC=8C=E8=9B=87=E4=BC=9A=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E5=8E=9F=E6=9D=A5=E7=9A=84=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- snake.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/snake.py b/snake.py index 979d8cf..4cfe8ad 100644 --- a/snake.py +++ b/snake.py @@ -58,7 +58,8 @@ class Snake: self.hit_points = [] self.current_applenumber = 0 - + self.speed_up =speed_up + # 设置当前蛇前进角度 def set_direction(self, angle): d_angle = (angle - self.direction) % (2 * pi) @@ -108,6 +109,14 @@ class Snake: # 进行更新,更新Segment宽度,当前经验升级,更新血量信息,以及碰撞点与绘制点列表 def update(self): + #如果加速键被按下,应用加速 + if self.speed_up.acceleration_key_pressed: + self.speed = 14 + self.acceleration = True + else: + self.speed = 7 # 恢复正常速度 + self.acceleration = False + for i in range(self.length): self.segments[i].set_width(self.seg_width[i]) self.segments[i].update() -- Gitee From af508452439ae3feeee0fc671d58274b7cd49333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Sun, 24 Dec 2023 14:33:13 +0000 Subject: [PATCH 44/51] update #CS2101009.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- #CS2101009.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/#CS2101009.md b/#CS2101009.md index 9e07d87..c2730bf 100644 --- a/#CS2101009.md +++ b/#CS2101009.md @@ -28,8 +28,8 @@ 修复的bug:mian.py和game.py不能相互调用,用language.py存储选择的语种信息。language.py文件读不出来,影响合并;将读取language.py文件时的encoding改为UTF-8即可; -分数排行榜 +加速功能 开发者:杜天姣 1、设计目的:是玩家更有成就感 -2、设计思路:需要用户在游玩之前输入用户名(字符串形式),在游玩时实时保存分数,并实时进行文件的读写,展示最高的一个或几个分数,当玩家的分数升高时,也可以看到自己的分数在排行榜上一步步前进 +2、设计思路:本次修改针对游戏中的所有关卡,在原先游戏的基础上,按下空格,玩家操纵的蛇会加速,给予玩家一种刺激感,而且若是有计时操作,加速缩短通关的时间 3、最终运行效果:请在游戏中详细体验 \ No newline at end of file -- Gitee From df370ec66deba2d5cf73197bab38436be5623240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Sun, 24 Dec 2023 14:37:16 +0000 Subject: [PATCH 45/51] =?UTF-8?q?add=20=E5=8A=A0=E9=80=9F=E5=8A=9F?= =?UTF-8?q?=E8=83=BD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- ...2\240\351\200\237\345\212\237\350\203\275" | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 "\345\212\240\351\200\237\345\212\237\350\203\275" diff --git "a/\345\212\240\351\200\237\345\212\237\350\203\275" "b/\345\212\240\351\200\237\345\212\237\350\203\275" new file mode 100644 index 0000000..2333e13 --- /dev/null +++ "b/\345\212\240\351\200\237\345\212\237\350\203\275" @@ -0,0 +1,52 @@ +1、config.py修改: +导入speedup文件并进行初始化: +from speedup import SpeedUp +speed_up = SpeedUp() + +2、game.py修改: +导入speedup文件: +from config import speed_up + +创建一个名为 snake 的蛇对象,并将其作为 Game 类的属性 +传入 self 参数是为了在蛇对象中能够访问 Game 类的其他属性和方法 +self.snake = Snake(self, speed_up) + +3、main.py修改: +增加处理事件语句 +speed_up.handle_event(event) + +4、snake.py修改: +加入speed_up参数: +第39行: +def __init__(self, game, speed_up): + +并初始化: +第61行: +self.speed_up = speed_up + +设置加速后的速度和恢复正常速度等操作 +第112行开始: + # 如果加速键被按下,应用加速 + if self.speed_up.acceleration_key_pressed: + self.speed = 14 + self.acceleration = True + else: + self.speed = 7 # 恢复正常速度 + self.acceleration = False + +5、增加speed.up文件: +按下空格后可以进行反应: +import pygame + +class SpeedUp: + def __init__(self): + self.acceleration_key_pressed = False + + def handle_event(self, event): + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_SPACE: + self.acceleration_key_pressed = True + elif event.type == pygame.KEYUP: + if event.key == pygame.K_SPACE: + self.acceleration_key_pressed = False +\ No newline at end of file \ No newline at end of file -- Gitee From 6882432e48846adce3387f782ff95915d2a588dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Sun, 24 Dec 2023 14:41:59 +0000 Subject: [PATCH 46/51] update snake.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- snake.py | 1 + 1 file changed, 1 insertion(+) diff --git a/snake.py b/snake.py index 4cfe8ad..052fcd8 100644 --- a/snake.py +++ b/snake.py @@ -37,6 +37,7 @@ class Snake: 贪吃蛇本体,由许多Segment构成 """ def __init__(self, game): + def __init__(self, game, speed_up): self.game = game self.width = 10 self.speed = 7 -- Gitee From 6266880127be3118e76f0d8bc4c77df3f49a7429 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Sun, 24 Dec 2023 14:45:44 +0000 Subject: [PATCH 47/51] update main.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/main.py b/main.py index 7171994..dd0ca77 100644 --- a/main.py +++ b/main.py @@ -49,6 +49,8 @@ while True: # 处理事件 for event in pygame.event.get(): + speed_up.handle_event(event) + # 关闭事件,在关闭的时候存下当前关卡 -- Gitee From 72f9aa1005d731dc4db26ff542578247da94fa1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Sun, 24 Dec 2023 14:47:29 +0000 Subject: [PATCH 48/51] update game.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- game.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/game.py b/game.py index 629184b..018e64a 100644 --- a/game.py +++ b/game.py @@ -5,7 +5,7 @@ from menu import * from chat import * from scene import * from language import * - +from config import speed_up class Game: """ @@ -65,6 +65,11 @@ class Game: def start(self, level=7): self.menu = None self.snake = Snake(self) + + # 创建一个名为 snake 的蛇对象,并将其作为 Game 类的属性 + # 传入 self 参数是为了在蛇对象中能够访问 Game 类的其他属性和方法 + self.snake = Snake(self, speed_up) + for _ in range(5): self.snake.grow() self.info_hud = InfoBar(self.snake) -- Gitee From ae360508b917a6fd577349c0c74affd3675528c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Sun, 24 Dec 2023 14:49:07 +0000 Subject: [PATCH 49/51] =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E5=8A=A0=E9=80=9F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=8C=89=E4=B8=8B=E7=A9=BA=E6=A0=BC?= =?UTF-8?q?=EF=BC=8C=E7=8E=A9=E5=AE=B6=E6=93=8D=E6=8E=A7=E7=9A=84=E8=9B=87?= =?UTF-8?q?=E4=BC=9A=E5=8A=A0=E9=80=9F=EF=BC=8C=E6=9D=BE=E5=BC=80=E7=A9=BA?= =?UTF-8?q?=E6=A0=BC=EF=BC=8C=E8=9B=87=E4=BC=9A=E6=81=A2=E5=A4=8D=E5=8E=9F?= =?UTF-8?q?=E6=9D=A5=E7=9A=84=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- speedup.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 speedup.py diff --git a/speedup.py b/speedup.py new file mode 100644 index 0000000..704a35f --- /dev/null +++ b/speedup.py @@ -0,0 +1,13 @@ +import pygame + +class SpeedUp: + def __init__(self): + self.acceleration_key_pressed = False + + def handle_event(self, event): + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_SPACE: + self.acceleration_key_pressed = True + elif event.type == pygame.KEYUP: + if event.key == pygame.K_SPACE: + self.acceleration_key_pressed = False \ No newline at end of file -- Gitee From 687313b0055f992e4affe567d28bd4a59896ca06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Mon, 25 Dec 2023 01:44:41 +0000 Subject: [PATCH 50/51] update config.py. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 予予鹿 <13668883+give-deer@user.noreply.gitee.com> --- config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.py b/config.py index fde2ed2..b55e419 100644 --- a/config.py +++ b/config.py @@ -1,7 +1,7 @@ import pygame import os from math import * -from speedup import speedup +from speedup import SpeedUp speed_up = SpeedUp() -- Gitee From 3d225fe5eb17b3738ea2a8acd0a56632c4d947e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E4=BA=88=E9=B9=BF?= <13668883+give-deer@user.noreply.gitee.com> Date: Mon, 25 Dec 2023 01:51:21 +0000 Subject: [PATCH 51/51] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20?= =?UTF-8?q?=E5=8A=A0=E9=80=9F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2\240\351\200\237\345\212\237\350\203\275" | 52 ------------------- 1 file changed, 52 deletions(-) delete mode 100644 "\345\212\240\351\200\237\345\212\237\350\203\275" diff --git "a/\345\212\240\351\200\237\345\212\237\350\203\275" "b/\345\212\240\351\200\237\345\212\237\350\203\275" deleted file mode 100644 index 2333e13..0000000 --- "a/\345\212\240\351\200\237\345\212\237\350\203\275" +++ /dev/null @@ -1,52 +0,0 @@ -1、config.py修改: -导入speedup文件并进行初始化: -from speedup import SpeedUp -speed_up = SpeedUp() - -2、game.py修改: -导入speedup文件: -from config import speed_up - -创建一个名为 snake 的蛇对象,并将其作为 Game 类的属性 -传入 self 参数是为了在蛇对象中能够访问 Game 类的其他属性和方法 -self.snake = Snake(self, speed_up) - -3、main.py修改: -增加处理事件语句 -speed_up.handle_event(event) - -4、snake.py修改: -加入speed_up参数: -第39行: -def __init__(self, game, speed_up): - -并初始化: -第61行: -self.speed_up = speed_up - -设置加速后的速度和恢复正常速度等操作 -第112行开始: - # 如果加速键被按下,应用加速 - if self.speed_up.acceleration_key_pressed: - self.speed = 14 - self.acceleration = True - else: - self.speed = 7 # 恢复正常速度 - self.acceleration = False - -5、增加speed.up文件: -按下空格后可以进行反应: -import pygame - -class SpeedUp: - def __init__(self): - self.acceleration_key_pressed = False - - def handle_event(self, event): - if event.type == pygame.KEYDOWN: - if event.key == pygame.K_SPACE: - self.acceleration_key_pressed = True - elif event.type == pygame.KEYUP: - if event.key == pygame.K_SPACE: - self.acceleration_key_pressed = False -\ No newline at end of file \ No newline at end of file -- Gitee