Arts >> Umetnost in zabava >  >> Gledališče >> Dramaturgija

Kakšna je koda za labirint v knjigi tekačev?

```python

uvozi pygame

Določite nekaj barv

ČRNA =(0, 0, 0)

BELA =(255, 255, 255)

Nastavite višino in širino zaslona

velikost =[700, 500]

zaslon =pygame.display.set_mode(velikost)

Ponavljajte se, dokler uporabnik ne klikne gumba za zapiranje.

narejeno =False

ura =pygame.time.Clock()

Hitrost v slikovnih pikah na sekundo

x_hitrost =0

y_hitrost =0

Trenutni položaj

x_koordinata =10

y_coord =10

Ustvarite 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]

]

Zanka, dokler je končano ==False

medtem ko ni končano:

# To omeji zanko while na največ 10-krat na sekundo.

# Pustite to in uporabili bomo ves CPE, ki ga lahko.

ura.tick(10)

za dogodek v pygame.event.get():# Uporabnik je nekaj naredil

if event.type ==pygame.QUIT:# Če je uporabnik kliknil Zapri

done =True # Označi, da smo končali, zato zapustimo to zanko

# Počistite zaslon in nastavite ozadje zaslona

screen.fill(BLACK)

# Narišite labirint

za vrstico v obsegu (9):

za stolpec v obsegu (10):

če je labirint[vrstica][stolpec] ==1:

pygame.draw.rect(zaslon, BELA, [(25 * stolpec), (25 * vrstica), 25, 25])

# Nariši tekača

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

# Premaknite tekač na podlagi pritisnjene tipke

pritisnjeno =pygame.key.get_pressed()

če pritisnete [pygame.K_UP]:

y_hitrost =-5

elif pritisnila [pygame.K_DOWN]:

y_hitrost =5

elif pritisnila [pygame.K_LEFT]:

x_hitrost =-5

elif pritisnila [pygame.K_RIGHT]:

x_hitrost =5

# Posodobite položaj tekača

x_koordinata +=x_hitrost

y_coord +=y_hitrost

# Če tekač zadene rob zaslona, ​​ga odskoči nazaj

če je x_coord> 675:

x_hitrost =-5

elif x_coord <0:

x_hitrost =5

če je y_coord> 475:

y_hitrost =-5

elif y_coord <0:

y_hitrost =5

# Če tekač zadene zid, ga ustavite

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

x_hitrost =0

y_hitrost =0

#Posodobite zaslon

pygame.display.flip()

Zapri pygame

pygame.quit()

```

Dramaturgija

Povezane kategorije