-
Notifications
You must be signed in to change notification settings - Fork 0
/
snake-game
81 lines (70 loc) · 2.65 KB
/
snake-game
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import pygame
import sys
import random
genislik = 600
yukseklik = 400
SIYAH = (0, 0, 0)
KOYU_GRI = (20, 20, 20)
BLOK_BOYUTU = 20
FPS = 10
BASLANGIC_HIZI = 10
PUAN_ARALIGI = 5
pygame.init()
ekran = pygame.display.set_mode((genislik, yukseklik))
pygame.display.set_caption("RAMADAN GAMECODE CAMP")
saat = pygame.time.Clock()
yilan = [(genislik // 2, yukseklik // 2)]
yon = (0, 0)
yem = (random.randint(0, (genislik - BLOK_BOYUTU) // BLOK_BOYUTU) * BLOK_BOYUTU,
random.randint(0, (yukseklik - BLOK_BOYUTU) // BLOK_BOYUTU) * BLOK_BOYUTU
)
skor = 0
seviye = 1
skor_font = pygame.font.Font(None, 36)
#OYUN DÖNGÜSÜ
calisiyor = True
while calisiyor:
for event in pygame.event.get():
if event.type == pygame.QUIT:
calisiyor = False
elif event.type == pygame.KEYDOWN :
if event.key == pygame.K_UP and yon != (0, 1):
yon = (0, -1)
elif event.key == pygame.K_DOWN and yon != (0, -1):
yon = (0, 1)
elif event.key == pygame.K_LEFT and yon != (1, 0):
yon = (-1, 0)
elif event.key == pygame.K_RIGHT and yon != (-1, 0):
yon = (1, 0)
yeni_bas = (yilan[0][0] + yon[0] * BLOK_BOYUTU, yilan[0][1] + yon[1] * BLOK_BOYUTU)
if yeni_bas[0] < 0 or yeni_bas[0] >= genislik or yeni_bas[1] < 0 or yeni_bas[1] >= yukseklik or yeni_bas in yilan[1:]:
calisiyor = False
else:
yilan.insert(0, yeni_bas)
if yeni_bas == yem:
skor += 1
if skor % PUAN_ARALIGI == 0:
seviye += 1
FPS += 1
yem = (random.randint(0, (genislik - BLOK_BOYUTU) // BLOK_BOYUTU) * BLOK_BOYUTU,
random.randint(0, (yukseklik - BLOK_BOYUTU) // BLOK_BOYUTU) * BLOK_BOYUTU)
else:
yilan.pop()
ekran.fill(SIYAH)
for x in range(0, genislik, BLOK_BOYUTU):
for y in range(0, yukseklik, BLOK_BOYUTU):
if (x+y) // BLOK_BOYUTU % 2 == 0:
pygame.draw.rect(ekran, KOYU_GRI, (x,y, BLOK_BOYUTU, BLOK_BOYUTU))
else:
pygame.draw.rect(ekran, SIYAH, (x, y, BLOK_BOYUTU, BLOK_BOYUTU))
skor_yazi = skor_font.render("SKOR: {}".format(skor), True, (255,255,255))
seviye_yazi = skor_font.render("SEVİYE: {}".format(seviye), True, (255,255,255))
ekran.blit(skor_yazi, (10,10))
ekran.blit(seviye_yazi, (genislik - 150, 10))
for parca in yilan:
pygame.draw.rect(ekran, (0, 255, 0), (parca[0], parca[1], BLOK_BOYUTU, BLOK_BOYUTU))
pygame.draw.rect(ekran, (255, 0, 0), (yem[0], yem[1], BLOK_BOYUTU, BLOK_BOYUTU ))
pygame.display.flip()
saat.tick(FPS)
pygame.quit()
sys.exit()