Arts >> Umjetnost i zabava >  >> Kazalište >> Dramaturgija

Koji je kod za labirint u knjizi trkača?

```python

uvoz pygame

Definirajte neke boje

CRNO =(0, 0, 0)

BIJELO =(255, 255, 255)

Postavite visinu i širinu zaslona

veličina =[700, 500]

zaslon =pygame.display.set_mode(veličina)

Petljajte dok korisnik ne klikne gumb za zatvaranje.

učinjeno =Netočno

sat =pygame.time.Clock()

Brzina u pikselima po sekundi

x_brzina =0

y_brzina =0

Trenutni položaj

x_koordinata =10

y_koordinata =10

Stvorite labirint

labirint =[

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],

[1, 0, 1, 0, 1, 0, 1, 0, 1, 1],

[1, 0, 0, 0, 1, 0, 0, 0, 1, 1],

[1, 0, 1, 0, 1, 1, 1, 0, 1, 1],

[1, 0, 1, 0, 0, 0, 1, 0, 1, 1],

[1, 0, 1, 1, 1, 0, 1, 0, 1, 1],

[1, 0, 0, 0, 0, 0, 1, 0, 0, 1],

[1, 0, 1, 1, 1, 1, 1, 0, 1, 1],

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

]

Petlja sve dok je gotovo ==False

dok nije gotovo:

# Ovo ograničava while petlju na najviše 10 puta u sekundi.

# Izostavite ovo i iskoristit ćemo sav CPU koji možemo.

clock.tick(10)

za događaj u pygame.event.get():# Korisnik je nešto učinio

if event.type ==pygame.QUIT:# Ako je korisnik kliknuo Zatvori

done =True # Označava da smo gotovi pa izlazimo iz ove petlje

# Očistite zaslon i postavite pozadinu zaslona

screen.fill(BLACK)

# Nacrtaj labirint

za red u rasponu (9):

za stupac u rasponu (10):

ako je labirint[red][stupac] ==1:

pygame.draw.rect(ekran, BIJELI, [(25 * stupac), (25 * red), 25, 25])

# Nacrtaj trkača

pygame.draw.rect(zaslon, BIJELO, [x_coord, y_coord, 25, 25])

# Pomaknite trkač na temelju pritisnute tipke

pritisnuto =pygame.key.get_pressed()

ako se pritisne [pygame.K_UP]:

y_brzina =-5

elif pritisnuta[pygame.K_DOWN]:

y_brzina =5

elif je pritisnula[pygame.K_LEFT]:

x_brzina =-5

elif je pritisnula[pygame.K_RIGHT]:

x_brzina =5

# Ažurirajte položaj trkača

x_koordinata +=x_brzina

y_koordinata +=y_brzina

# Ako trkač udari u rub zaslona, ​​odskočite ga natrag

ako je x_coord> 675:

x_brzina =-5

elif x_coord <0:

x_brzina =5

ako je y_coord> 475:

y_brzina =-5

elif y_coord <0:

y_brzina =5

# Ako trkač udari u zid, zaustavite ga

ako je labirint[int(y_coord / 25)][int(x_coord / 25)] ==1:

x_brzina =0

y_brzina =0

#Ažurirajte zaslon

pygame.display.flip()

Napusti pygame

pygame.quit()

```

Dramaturgija

Povezani Kategorije