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()
运行效果:

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

相关内容

热门资讯

五分钟了解!天天贵阳麻将软挂神... 您好:天天贵阳麻将软挂神器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户...
透视科技!wpk透视挂是真的(... 透视科技!wpk透视挂是真的(透视)底牌透视挂辅助软件(可靠开挂辅助必胜教程)-哔哩哔哩;wpk透视...
透视脚本!智星德州有脚本,78... 透视脚本!智星德州有脚本,789大菠萝如何手气顺,细节揭秘(发现有挂)-哔哩哔哩暗藏猫腻,小编详细说...
黑科技辅助!wepoke显示游... 黑科技辅助!wepoke显示游作弊(智能ai辅助插件安装)软件透明挂黑科技(先前存在有挂)-哔哩哔哩...
五分钟了解!多乐跑得快自创房间... 五分钟了解!多乐跑得快自创房间可以拿好牌(辅助挂)往昔真的有挂(专业辅助攻略教程)-哔哩哔哩;五分钟...
透视有挂!德州机器人代打脚本(... 透视有挂!德州机器人代打脚本(透视)底牌透视挂辅助系统(可靠开挂辅助解密教程)-哔哩哔哩;1、透视有...
透视透视!wepoker新号好... 透视透视!wepoker新号好一点,中致上饶辅助,科技教程(果真有挂)-哔哩哔哩1、全新机制【中致上...
黑科技辅助!德州之星手游辅助(... 《黑科技辅助!德州之星手游辅助(智能ai辅助工具)软件透明挂黑科技(竟然有挂)-哔哩哔哩》 德州之星...
第五分钟了解!欢乐龙城3有挂(... 第五分钟了解!欢乐龙城3有挂(辅助挂)确实有挂(专业辅助AI教程)-哔哩哔哩;超受欢迎的欢乐龙城3有...
黑科技辅助!微扑克辅助手机(智... 【福星临门,好运相随】;黑科技辅助!微扑克辅助手机(智能ai辅助插件安装)软件透明挂黑科技(真是真的...