Import Pygame
Import Pygame
import random
# Oyun ayarları
WIDTH, HEIGHT = 600, 400
CELL_SIZE = 20
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
# Pygame başlat
pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Yılan Oyunu")
clock = pygame.time.Clock()
# Yılan ve yemek
snake = [(100, 100)]
snake_dir = "RIGHT"
food = (random.randint(0, (WIDTH - CELL_SIZE) // CELL_SIZE) * CELL_SIZE,
random.randint(0, (HEIGHT - CELL_SIZE) // CELL_SIZE) * CELL_SIZE)
speed = 5
def draw_snake(snake):
for segment in snake:
pygame.draw.rect(screen, GREEN, (segment[0], segment[1], CELL_SIZE,
CELL_SIZE))
def draw_food(food):
pygame.draw.rect(screen, RED, (food[0], food[1], CELL_SIZE, CELL_SIZE))
def check_collision(snake):
head = snake[0]
# Duvara çarptı mı?
if head[0] < 0 or head[0] >= WIDTH or head[1] < 0 or head[1] >= HEIGHT:
return True
# Kendine çarptı mı?
if head in snake[1:]:
return True
return False
def grow_snake(snake):
snake.append(snake[-1])
# Yön değişikliği
keys = pygame.key.get_pressed()
if keys[pygame.K_UP] and snake_dir != "DOWN":
snake_dir = "UP"
if keys[pygame.K_DOWN] and snake_dir != "UP":
snake_dir = "DOWN"
if keys[pygame.K_LEFT] and snake_dir != "RIGHT":
snake_dir = "LEFT"
if keys[pygame.K_RIGHT] and snake_dir != "LEFT":
snake_dir = "RIGHT"
# Çarpışma kontrolü
if check_collision(snake):
print("Oyun Bitti!")
running = False
# Çizimleri güncelle
screen.fill(BLACK)
draw_snake(snake)
draw_food(food)
pygame.display.flip()
# FPS ayarı
clock.tick(speed)
# Pygame kapat
pygame.quit()