1
Installeer Pygame
Open onderaan PyCharm de Terminal en voer dit commando uit. Gebruik de Python-interpreter van je project.
Terminal
python -m pip install pygameBestuur een slang, verzamel voedsel en houd een score bij.

Open onderaan PyCharm de Terminal en voer dit commando uit. Gebruik de Python-interpreter van je project.
python -m pip install pygameMaak snake.py en start een venster van 640 bij 480 pixels.
import pygame
pygame.init()
scherm = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Mijn Snake")
klok = pygame.time.Clock()
actief = True
while actief:
for event in pygame.event.get():
if event.type == pygame.QUIT:
actief = False
scherm.fill((18, 43, 65))
pygame.display.flip()
klok.tick(10)
pygame.quit()Vervang snake.py door de code. Beweeg met de pijltjestoetsen. Bij botsing met de rand of jezelf eindigt het spel.
import random
import pygame
pygame.init()
BLOK = 20
BREEDTE, HOOGTE = 640, 480
scherm = pygame.display.set_mode((BREEDTE, HOOGTE))
pygame.display.set_caption("Snake")
klok = pygame.time.Clock()
lettertype = pygame.font.SysFont(None, 34)
slang = [(10, 10), (9, 10), (8, 10)]
richting = (1, 0)
voedsel = (20, 12)
score = 0
actief = True
while actief:
for event in pygame.event.get():
if event.type == pygame.QUIT:
actief = False
if event.type == pygame.KEYDOWN:
opties = {pygame.K_UP:(0,-1), pygame.K_DOWN:(0,1),
pygame.K_LEFT:(-1,0), pygame.K_RIGHT:(1,0)}
nieuw = opties.get(event.key)
if nieuw and nieuw != (-richting[0], -richting[1]):
richting = nieuw
kop = (slang[0][0] + richting[0], slang[0][1] + richting[1])
if not (0 <= kop[0] < BREEDTE // BLOK and 0 <= kop[1] < HOOGTE // BLOK):
break
eet = kop == voedsel
if kop in (slang if eet else slang[:-1]):
break
slang.insert(0, kop)
if eet:
score += 1
while True:
voedsel = (random.randrange(BREEDTE//BLOK), random.randrange(HOOGTE//BLOK))
if voedsel not in slang:
break
else:
slang.pop()
scherm.fill((18, 43, 65))
for x, y in slang:
pygame.draw.rect(scherm, (64, 159, 211), (x*BLOK, y*BLOK, BLOK-2, BLOK-2))
pygame.draw.rect(scherm, (255, 212, 59), (voedsel[0]*BLOK, voedsel[1]*BLOK, BLOK-2, BLOK-2))
tekst = lettertype.render(str(score), True, (255,255,255))
scherm.blit(tekst, (10,10))
pygame.display.flip()
klok.tick(8)
pygame.quit()Bouw een startscherm, een knop om opnieuw te beginnen of een topscore die je in een tekstbestand bewaart.

Bewaar het project in PyCharm. Je kunt later nog verbeteringen toevoegen.
Andere tutorials