From db85f0a0ce0cf93779eb57032dafe24024417e13 Mon Sep 17 00:00:00 2001 From: xnz233 Date: Mon, 15 Jul 2024 00:53:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E8=9B=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +- game_functions.py | 87 +++++++++++++++++++++++++++++++++-- idea.km | 115 ---------------------------------------------- idea.png | Bin 41487 -> 0 bytes main.py | 41 ++++++++++------- snake.py | 38 +++++++++++++++ 6 files changed, 150 insertions(+), 135 deletions(-) delete mode 100644 idea.km delete mode 100644 idea.png create mode 100644 snake.py diff --git a/.gitignore b/.gitignore index ba0430d..6955cf9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -__pycache__/ \ No newline at end of file +__pycache__/ +idea.km +idea.png \ No newline at end of file diff --git a/game_functions.py b/game_functions.py index cbe5b88..6ac91f0 100644 --- a/game_functions.py +++ b/game_functions.py @@ -14,10 +14,10 @@ def check_events(settings): sys.exit() # 按1键选择手动模式 elif event.key == pygame.K_1: - settings.game_mode = -1 + settings.game_mode = 1 # 按2键选择自动模式 elif event.key == pygame.K_2: - settings.game_mode = -1 + settings.game_mode = 2 def show_start(settings, screen): @@ -44,7 +44,7 @@ def show_start(settings, screen): def show_end(settings, screen): - """结算界面""" + """失败结算界面""" title_font = pygame.font.Font(settings.font_name, 80) game_image = title_font.render('Game', True, (233, 150, 122)) over_image = title_font.render('Over', True, (233, 150, 122)) @@ -58,3 +58,84 @@ def show_end(settings, screen): pygame.display.flip() pygame.time.wait(1500) settings.game_mode = 0 + +def draw_grid(settings, screen): + #绘制横向线 + for x in range(0, settings.width, settings.cell_size): + pygame.draw.line(screen,(40,40,40),(x,0),(x,settings.height)) + #绘制竖向线 + for y in range(0, settings.height, settings.cell_size): + pygame.draw.line(screen,(40,40,40),(0, y),(settings.width,y)) + +def update_screen(settings, screen): + screen.fill(settings.bg_color) + draw_grid(settings, screen) + +#绘制蛇 +def draw_snake(ai_settings, screen, snake): + #头部用白色 + x = snake.coords[0]['x'] * ai_settings.cell_size + y = snake.coords[0]['y'] * ai_settings.cell_size + snake_head_rect = pygame.Rect(x, y, ai_settings.cell_size, ai_settings.cell_size) + pygame.draw.rect(screen,(255,255,255), snake_head_rect) + #蛇身内部用浅绿,外框用深绿 + for coord in snake.coords[1: -1]: + x = coord['x'] * ai_settings.cell_size + y = coord['y'] * ai_settings.cell_size + snake_part_rect = pygame.Rect(x, y, ai_settings.cell_size, ai_settings.cell_size) + pygame.draw.rect(screen,(0,155,0), snake_part_rect) + snake_part_inner_rect = pygame.Rect(x + 4, y + 4, ai_settings.cell_size - 8, ai_settings.cell_size - 8) + pygame.draw.rect(screen,(0,255,0), snake_part_inner_rect) + #蛇尾用浅绿 + coord = snake.coords[-1] + x = coord['x'] * ai_settings.cell_size + y = coord['y'] * ai_settings.cell_size + snake_tail_rect = pygame.Rect(x, y, ai_settings.cell_size, ai_settings.cell_size) + pygame.draw.rect(screen,(0,255,0), snake_tail_rect) + +#绘制游戏界面 +def update_screen(settings, screen, snake): + screen.fill(settings.bg_color) + draw_grid(settings, screen) + #移动蛇 + del snake.coords[-1]#加蛇头 + snake.update()#去蛇尾 + if not is_game_over(settings, snake): + settings.game_mode = -1 + else: + draw_snake(settings, screen, snake) + pygame.display.flip() + #暂停一下 + settings.my_clock.tick(settings.clock_frq) + +def is_game_over(settings,snake): + #碰到左右墙壁 + if (snake.coords[snake.head_index]['x'] == -1 or snake.coords[snake.head_index]['x'] == settings.cell_w): + return False + #碰到上下墙壁 + if(snake.coords[snake.head_index]['y'] == -1 or snake.coords[snake.head_index]['y'] == settings.cell_h): + return False + #碰到自己 + if(snake.coords[snake.head_index] in snake.coords[1:]): + return False + return True + + +#检测游戏过程中的按键 +def check_play_events(snake): + for event in pygame.event.get(): + if event.type == pygame.QUIT: + pygame.quit() + sys.exit() + elif event.type == pygame.KEYDOWN: + if event.key == pygame.K_ESCAPE: + pygame.quit() + sys.exit() + elif event.key == pygame.K_LEFT and not snake.direction == 'right': + snake.direction = 'left' + elif event.key == pygame.K_RIGHT and not snake.direction == 'left': + snake.direction = 'right' + elif event.key == pygame.K_UP and not snake.direction == 'down': + snake.direction = 'up' + elif event.key == pygame.K_DOWN and not snake.direction == 'up': + snake.direction = 'down' \ No newline at end of file diff --git a/idea.km b/idea.km deleted file mode 100644 index 2f30464..0000000 --- a/idea.km +++ /dev/null @@ -1,115 +0,0 @@ -{ - "root": { - "data": { - "id": "d2oi0jx7h6o0", - "created": 1720882729134, - "text": "Astar贪吃蛇" - }, - "children": [ - { - "data": { - "id": "d2oi1r6uoww0", - "created": 1720882823319, - "text": "游戏本体(Pygame)", - "layout_mind_offset": { - "x": -29, - "y": 1 - } - }, - "children": [ - { - "data": { - "id": "d2oi2k2ygw00", - "created": 1720882886210, - "text": "蛇", - "expandState": "expand", - "layout_right_offset": { - "x": 8, - "y": -54 - } - }, - "children": [ - { - "data": { - "id": "d2oi21ezqoo0", - "created": 1720882845579, - "text": "如何表示蛇" - }, - "children": [] - }, - { - "data": { - "id": "d2oi2vcyync0", - "created": 1720882910760, - "text": "蛇如何移动" - }, - "children": [] - }, - { - "data": { - "id": "d2oi30i8aj40", - "created": 1720882921962, - "text": "如何判定游戏结束?" - }, - "children": [] - } - ] - }, - { - "data": { - "id": "d2oi3jwwljc0", - "created": 1720882964209, - "text": "食物" - }, - "children": [ - { - "data": { - "id": "d2oi3vw1ujc0", - "created": 1720882990278, - "text": "如何生成食物" - }, - "children": [] - } - ] - }, - { - "data": { - "id": "d2oi7hsyoao0", - "created": 1720883273073, - "text": "界面" - }, - "children": [] - } - ] - }, - { - "data": { - "id": "d2oijamyvjc0", - "created": 1720884197843, - "text": "游戏玩法" - }, - "children": [ - { - "data": { - "id": "d2oi4mwhxi80", - "created": 1720883049078, - "text": "自动(A*寻路算法)" - }, - "children": [] - }, - { - "data": { - "id": "d2oijfl72io0", - "created": 1720884208620, - "text": "手动" - }, - "children": [] - } - ] - } - ] - }, - "template": "default", - "theme": "snow", - "version": "1.4.43" -} \ No newline at end of file diff --git a/idea.png b/idea.png deleted file mode 100644 index 1c73717bd3581c8cb0a5521d26df271af1420910..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41487 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 e2bYBp1~c#a%)fa!G+sG# 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