2007 :
import pygame
import random
import sys
# Khởi tạo pygame
pygame.init()
# Kích thước cửa sổ
WIDTH = 600
HEIGHT = 400
# Màu sắc
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
# Tốc độ rắn (FPS)
SPEED = 10
# Tạo màn hình
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('🐍 Rắn săn mồi - by ChatGPT')
# Đồng hồ để điều chỉnh tốc độ khung hình
clock = pygame.time.Clock()
# Kích thước ô lưới
block_size = 20
# Hàm vẽ rắn
def draw_snake(snake_list):
for block in snake_list:
pygame.draw.rect(screen, GREEN, [block[0], block[1], block_size, block_size])
# Hàm hiển thị điểm
def show_score(score):
font = pygame.font.SysFont('comicsans', 25)
text = font.render("Điểm: " + str(score), True, WHITE)
screen.blit(text, [10, 10])
def game_loop():
# Vị trí ban đầu
x = WIDTH // 2
y = HEIGHT // 2
# Hướng di chuyển
dx = 0
dy = 0
# Thân rắn
snake_list = []
snake_length = 1
# Tạo thức ăn
food_x = round(random.randrange(0, WIDTH - block_size) / 20.0) * 20
food_y = round(random.randrange(0, HEIGHT - block_size) / 20.0) * 20
score = 0
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Điều khiển bằng phím mũi tên
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT and dx == 0:
dx = -block_size
dy = 0
elif event.key == pygame.K_RIGHT and dx == 0:
dx = block_size
dy = 0
elif event.key == pygame.K_UP and dy == 0:
dy = -block_size
dx = 0
elif event.key == pygame.K_DOWN and dy == 0:
dy = block_size
dx = 0
# Cập nhật vị trí
x += dx
y += dy
# Kiểm tra va chạm biên
if x = WIDTH or y = HEIGHT:
break
# Nền đen
screen.fill(BLACK)
# Vẽ thức ăn
pygame.draw.rect(screen, RED, [food_x, food_y, bl
2025-10-30 06:03:45