ADD file via upload

main
hnu202410040325 3 months ago
parent 924f7fdea9
commit 59d8474b8d

@ -0,0 +1,75 @@
# -*- coding: utf-8 -*-
"""
Created on Wed May 21 20:08:31 2025
@author: Administrator
"""
import pygame
import random
pygame.init()
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
WHITE, RED, GREEN = (255, 255, 255), (255, 0, 0), (0, 255, 0)
SNAKE_SIZE = 20
SNAKE = [(5 * SNAKE_SIZE, 5 * SNAKE_SIZE),
(4 * SNAKE_SIZE, 5 * SNAKE_SIZE),
(3 * SNAKE_SIZE, 5 * SNAKE_SIZE)]
FOOD = (random.randint(0, (WIDTH // SNAKE_SIZE) - 1) * SNAKE_SIZE,
random.randint(0, (HEIGHT // SNAKE_SIZE) - 1) * SNAKE_SIZE)
DIRECTION = "RIGHT"
running = True
clock = pygame.time.Clock()
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT and DIRECTION != "RIGHT":
DIRECTION = "LEFT"
elif event.key == pygame.K_RIGHT and DIRECTION != "LEFT":
DIRECTION = "RIGHT"
elif event.key == pygame.K_UP and DIRECTION != "DOWN":
DIRECTION = "UP"
elif event.key == pygame.K_DOWN and DIRECTION != "UP":
DIRECTION = "DOWN"
head = SNAKE[0]
if DIRECTION == "RIGHT":
new_head = (head[0] + SNAKE_SIZE, head[1])
elif DIRECTION == "LEFT":
new_head = (head[0] - SNAKE_SIZE, head[1])
elif DIRECTION == "UP":
new_head = (head[0], head[1] - SNAKE_SIZE)
elif DIRECTION == "DOWN":
new_head = (head[0], head[1] + SNAKE_SIZE)
if new_head == FOOD:
SNAKE.insert(0, new_head)
FOOD = (random.randint(0, (WIDTH // SNAKE_SIZE) - 1) * SNAKE_SIZE,
random.randint(0, (HEIGHT // SNAKE_SIZE) - 1) * SNAKE_SIZE)
else:
SNAKE.insert(0, new_head)
SNAKE.pop()
# Check if snake hit itself or wall
if (new_head[0] < 0 or new_head[0] >= WIDTH or
new_head[1] < 0 or new_head[1] >= HEIGHT or
new_head in SNAKE[1:]):
running = False
screen.fill(WHITE)
pygame.draw.rect(screen, RED, (FOOD[0], FOOD[1], SNAKE_SIZE, SNAKE_SIZE))
for segment in SNAKE:
pygame.draw.rect(screen, GREEN, (segment[0], segment[1], SNAKE_SIZE, SNAKE_SIZE))
pygame.display.flip()
clock.tick(10)
Loading…
Cancel
Save