python贪吃蛇设计报告_用Python写一个贪吃蛇

#Write By Guobao#2017/4//7#

#贪吃蛇#用#做边界,*做食物,o做身体和头部#python 3.6.1

importcopyimportrandomimportosimportmsvcrt#the board class, used to put everything

classboard:__points =[]def __init__(self):

self.__points.clear()for i in range(22):

line=[]if i == 0 or i == 21:for j in range(22):

line.append(‘#‘)else:

line.append(‘#‘)for j in range(20):

line.append(‘ ‘)

line.append(‘#‘)

self.__points.append(line)defgetPoint(self, location):return self.__points[location[0]][location[1]]defclear(self):

self.__points.clear()for i in range(22):

line=[]if i == 0 or i == 21:for j in range(22):

line.append(‘#‘)else:

line.append(‘#‘)for j in range(20):

line.append(‘ ‘)

line.append(‘#‘)

self.__points.append(line)defput_snake(self, snake_locations):#clear the board

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个Python贪吃蛇游戏可以通过使用Pygame库来实现。下面是一个简单的示例代码: ```python import pygame import random # 初始化游戏 pygame.init() # 定义游戏窗口的大小 window_width = 800 window_height = 600 # 定义贪吃蛇的大小和速度 snake_size = 20 snake_speed = 10 # 定义颜色 white = (255, 255, 255) black = (0, 0, 0) red = (255, 0, 0) # 创建游戏窗口 window = pygame.display.set_mode((window_width, window_height)) pygame.display.set_caption('贪吃蛇') # 定义贪吃蛇的初始位置和移动方向 snake_x = window_width / 2 snake_y = window_height / 2 snake_dx = 0 snake_dy = 0 # 定义食物的初始位置 food_x = round(random.randrange(0, window_width - snake_size) / snake_size) * snake_size food_y = round(random.randrange(0, window_height - snake_size) / snake_size) * snake_size # 定义贪吃蛇的身体 snake_body = [] snake_length = 1 # 游戏主循环 running = True while running: # 处理事件 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 处理键盘事件,控制贪吃蛇的移动方向 if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: snake_dx = -snake_size snake_dy = 0 elif event.key == pygame.K_RIGHT: snake_dx = snake_size snake_dy = 0 elif event.key == pygame.K_UP: snake_dy = -snake_size snake_dx = 0 elif event.key == pygame.K_DOWN: snake_dy = snake_size snake_dx = 0 # 更新贪吃蛇的位置 snake_x += snake_dx snake_y += snake_dy # 判断贪吃蛇是否吃到食物 if snake_x == food_x and snake_y == food_y: food_x = round(random.randrange(0, window_width - snake_size) / snake_size) * snake_size food_y = round(random.randrange(0, window_height - snake_size) / snake_size) * snake_size snake_length += 1 # 绘制游戏窗口 window.fill(black) pygame.draw.rect(window, red, [food_x, food_y, snake_size, snake_size]) snake_head = [] snake_head.append(snake_x) snake_head.append(snake_y) snake_body.append(snake_head) if len(snake_body) > snake_length: del snake_body for segment in snake_body[:-1]: if segment == snake_head: running = False for segment in snake_body: pygame.draw.rect(window, white, [segment, segment, snake_size, snake_size]) pygame.display.update() # 控制游戏速度 pygame.time.Clock().tick(snake_speed) # 退出游戏 pygame.quit() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值