pythonGame-实现简单的贪食蛇游戏
创始人
2024-11-23 10:35:19
0

通过python简单复现贪食蛇游戏。

使用到的库函数:
import pygame import time import random
游戏源码:
import pygame import time import random  pygame.init()  white = (255, 255, 255) yellow = (255, 255, 102) black = (0, 0, 0) red = (213, 50, 80) green = (0, 255, 0) blue = (50, 153, 213)  dis_width = 600 dis_height = 400  dis = pygame.display.set_mode((dis_width, dis_height)) pygame.display.set_caption('贪食蛇游戏')  clock = pygame.time.Clock()  snake_block = 10 snake_speed = 15  font_style = pygame.font.SysFont(None, 35) score_font = pygame.font.SysFont(None, 35)  def your_score(score):     value = score_font.render("SCORE: " + str(score), True, yellow)     dis.blit(value, [0, 0])  def our_snake(snake_block, snake_list):     for x in snake_list:         pygame.draw.rect(dis, black, [x[0], x[1], snake_block, snake_block])  def message(msg, color):     mesg = font_style.render(msg, True, color)     dis.blit(mesg, [dis_width / 6, dis_height / 3])  def gameLoop():     game_over = False     game_close = False      x1 = dis_width / 2     y1 = dis_height / 2      x1_change = 0     y1_change = 0      snake_List = []     Length_of_snake = 1      foodx = round(random.randrange(0, dis_width - snake_block) / 10.0) * 10.0     foody = round(random.randrange(0, dis_height - snake_block) / 10.0) * 10.0      while not game_over:          while game_close:             dis.fill(blue)             message("Game over! Q-quit or C-continue", red)             your_score(Length_of_snake - 1)             pygame.display.update()              for event in pygame.event.get():                 if event.type == pygame.KEYDOWN:                     if event.key == pygame.K_q:                         game_over = True                         game_close = False                     if event.key == pygame.K_c:                         gameLoop()          for event in pygame.event.get():             if event.type == pygame.QUIT:                 game_over = True             if event.type == pygame.KEYDOWN:                 if event.key == pygame.K_LEFT:                     x1_change = -snake_block                     y1_change = 0                 elif event.key == pygame.K_RIGHT:                     x1_change = snake_block                     y1_change = 0                 elif event.key == pygame.K_UP:                     y1_change = -snake_block                     x1_change = 0                 elif event.key == pygame.K_DOWN:                     y1_change = snake_block                     x1_change = 0          if x1 >= dis_width or x1 < 0 or y1 >= dis_height or y1 < 0:             game_close = True         x1 += x1_change         y1 += y1_change         dis.fill(blue)         pygame.draw.rect(dis, green, [foodx, foody, snake_block, snake_block])         snake_Head = []         snake_Head.append(x1)         snake_Head.append(y1)         snake_List.append(snake_Head)         if len(snake_List) > Length_of_snake:             del snake_List[0]          for x in snake_List[:-1]:             if x == snake_Head:                 game_close = True          our_snake(snake_block, snake_List)         your_score(Length_of_snake - 1)          pygame.display.update()          if x1 == foodx and y1 == foody:             foodx = round(random.randrange(0, dis_width - snake_block) / 10.0) * 10.0             foody = round(random.randrange(0, dis_height - snake_block) / 10.0) * 10.0             Length_of_snake += 1          clock.tick(snake_speed)      pygame.quit()     quit()  gameLoop()
运行效果:

简单的贪食蛇游戏实现,有边界,撞墙会挂掉。建议作为兴趣学习。

相关内容

热门资讯

必赢教程(GG扑克)德扑ai智... 必赢教程(GG扑克)德扑ai智能(软件透明挂)原来真的有挂(2023已更新)(哔哩哔哩);德扑ai智...
普及教程(WPK)红龙扑克好友... 普及教程(WPK)红龙扑克好友桌(软件透明挂)本来真的有挂(2023已更新)(百度贴吧)1、任何红龙...
玩家教你(wepower德州)... 玩家教你(wepower德州)微扑克有辅助(透视)一般真的有挂(2020已更新)(百度)运微扑克有辅...
黑科技教程(wepoker)微... 黑科技教程(wepoker)微扑克俱乐部(透视)好像真的有挂(2024已更新)(今日头条);微扑克俱...
新2024版(WPK)德州ai... 新2024版(WPK)德州ai辅助工具购买(辅助挂)果真真的有挂(2021已更新)(百度贴吧)亲,关...
揭秘几款"智星菠萝有... 揭秘几款"智星菠萝有挂!wepokerh5破解(其实真的是有挂)申智星菠萝有挂是一款一款智星菠萝有挂...
透视软件"德普之星私... 透视软件"德普之星私人局辅助器!wepoker插件下载(原来真的有挂);德普之星私人局辅助器是一款德...
避坑细节"wepok... 避坑细节"wepoker底牌透视!wepoker私人定制透视(其实真的是有挂);wepoker私人定...
必赢教程(wpk德州)外挂透明... 必赢教程(wpk德州)外挂透明挂辅助黑科技(德州wepower有外挂)的确是有挂的(有挂代打)1、德...
玩家必备攻略"wpk... 玩家必备攻略"wpk作弊是真的!wpk作弊(原来真的有挂);wpk作弊是真的是一种具有地方特色的,要...