import pygame
import random

def LinienZeichnen():
    for i in range(zeilen):
        pygame.draw.line(screen, linienFarbe, (0, i * quadratLänge), (screenBreite, i * quadratLänge))
    for i in range(spalten):
        pygame.draw.line(screen, linienFarbe, (i * quadratLänge, 0), (i * quadratLänge, screenHöhe))

def Bewegen():
    if richtung == "rechts":
        kopf.left = kopf.left + quadratLänge
    elif richtung == "links":
        kopf.left = kopf.left - quadratLänge
    elif richtung == "rauf":
        kopf.top = kopf.top - quadratLänge
    elif richtung == "runter":
        kopf.top = kopf.top + quadratLänge

pygame.init()

quadratLänge = 30
spalten = 20
zeilen = 20

screenBreite = spalten * quadratLänge
screenHöhe = zeilen * quadratLänge

screen = pygame.display.set_mode((screenBreite,screenHöhe))
screenFarbe = (0, 0, 0) 

gameOver = False

linienFarbe = (255, 255, 255)

kopf = pygame.Rect((spalten // 2) * quadratLänge, (zeilen // 2) * quadratLänge, quadratLänge, quadratLänge)
kopfFarbe = (0, 255, 0) # RGB: Red, Green, Blue

fps = 9
uhr = pygame.time.Clock()

richtung = "keine"

apfel = pygame.Rect(random.randint(0, spalten - 1) * quadratLänge, random.randint(0, zeilen - 1) * quadratLänge, quadratLänge, quadratLänge)
apfelFarbe = (255, 0, 0)

while not gameOver:
    # alle Benutzerevents
    for event in pygame.event.get():
        if event.type == pygame.QUIT: 
            gameOver = True
        if event.type == pygame.KEYDOWN: # Pfeiltasten
            if event.key == pygame.K_RIGHT:
                richtung = "rechts"
            if event.key == pygame.K_LEFT:
                richtung = "links"
            if event.key == pygame.K_UP:
                richtung = "rauf"
            if event.key == pygame.K_DOWN: 
                richtung = "runter"
    
    uhr.tick(fps)
    Bewegen()
    
    if kopf.colliderect(apfel):
       apfel.left = -100
       apfel.top = -100
    
    screen.fill(screenFarbe) # Screen mit scharzer Farbe füllen
    LinienZeichnen()
    pygame.draw.rect(screen, kopfFarbe, kopf) # Kopf zeichnen
    pygame.draw.rect(screen, apfelFarbe, apfel)
    pygame.display.flip()
    
pygame.quit()

