|
|
当然可以!下面是一个简单的贪吃蛇游戏代码示例:
- import pygame
- import random
- pygame.init()
- # 设置游戏窗口大小和标题
- window_width = 800
- window_height = 600
- window = pygame.display.set_mode((window_width, window_height))
- pygame.display.set_caption('贪吃蛇游戏')
- # 定义颜色
- black = (0, 0, 0)
- white = (255, 255, 255)
- green = (0, 255, 0)
- # 设置蛇和食物的初始位置
- snake_position = [100, 50]
- snake_body = [[100, 50], [90, 50], [80, 50]]
- food_position = [random.randrange(1, window_width//10) * 10, random.randrange(1, window_height//10) * 10]
- # 设置初始方向
- direction = 'RIGHT'
- change_to = direction
- # 定义游戏结束函数
- def game_over():
- font = pygame.font.SysFont('None', 48)
- text = font.render('游戏结束!', True, white)
- window.blit(text, [window_width/3, window_height/3])
- pygame.display.flip()
- pygame.time.wait(2000)
- pygame.quit()
- quit()
- # 游戏主循环
- while True:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- game_over()
-
- elif event.type == pygame.KEYDOWN:
- if event.key == pygame.K_UP:
- change_to = 'UP'
- if event.key == pygame.K_DOWN:
- change_to = 'DOWN'
- if event.key == pygame.K_LEFT:
- change_to = 'LEFT'
- if event.key == pygame.K_RIGHT:
- change_to = 'RIGHT'
- if change_to == 'UP' and direction != 'DOWN':
- direction = 'UP'
- if change_to == 'DOWN' and direction != 'UP':
- direction = 'DOWN'
- if change_to == 'LEFT' and direction != 'RIGHT':
- direction = 'LEFT'
- if change_to == 'RIGHT' and direction != 'LEFT':
- direction = 'RIGHT'
- if direction == 'UP':
- snake_position[1] -= 10
- if direction == 'DOWN':
- snake_position[1] += 10
- if direction == 'LEFT':
- snake_position[0] -= 10
- if direction == 'RIGHT':
- snake_position[0] += 10
- snake_body.insert(0, list(snake_position))
- if snake_position == food_position:
- food_position = [random.randrange(1, window_width//10) * 10, random.randrange(1, window_height//10) * 10]
- else:
- snake_body.pop()
- window.fill(black)
- for pos in snake_body:
- pygame.draw.rect(window, green, pygame.Rect(pos[0], pos[1], 10, 10))
- pygame.draw.rect(window, white, pygame.Rect(food_position[0], food_position[1], 10, 10))
- if snake_position[0] < 0 or snake_position[0] > window_width-10:
- game_over()
- if snake_position[1] < 0 or snake_position[1] > window_height-10:
- game_over()
- for block in snake_body[1:]:
- if snake_position == block:
- game_over()
- pygame.display.update()
复制代码
希望这个示例能够帮助你开始编写自己的贪吃蛇游戏!如果有任何问题,欢迎随时向我提问哦。 |
|