Arts >> Művészet és szórakozás >  >> Színház >> Dramaturgia

Mi a labirintus kódja a futókönyvön?

``` python

import pygame

Határozzon meg néhány színt

FEKETE =(0, 0, 0)

FEHÉR =(255, 255, 255)

Állítsa be a képernyő magasságát és szélességét

méret =[700, 500]

képernyő =pygame.display.set_mode(size)

Curkolás, amíg a felhasználó a bezárás gombra nem kattint.

kész =Hamis

óra =pygame.time.Clock()

Sebesség képpont per másodpercben

x_sebesség =0

y_sebesség =0

Jelenlegi pozíció

x_coord =10

y_coord =10

Hozzon létre egy labirintust

labirintus =[

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

]

Curkolás, amíg kész ==False

míg nincs kész:

# Ez korlátozza a while ciklust legfeljebb 10-szer másodpercenként.

# Hagyd ezt, és minden CPU-t felhasználunk.

clock.tick(10)

eseményhez a pygame.event.get():# A felhasználó csinált valamit

if event.type ==pygame.QUIT:# Ha a felhasználó a bezárásra kattintott

done =True # Jelölje meg, hogy végeztünk, így kilépünk ebből a ciklusból

# Törölje a képernyőt, és állítsa be a képernyő hátterét

screen.fill(FEKETE)

# Rajzold le a labirintust

a(9) tartományban:

a(10) tartomány oszlopához:

if labirintus[sor][oszlop] ==1:

pygame.draw.rect(képernyő, FEHÉR, [(25 * oszlop), (25 * sor), 25, 25])

# Rajzold le a futót

pygame.draw.rect(képernyő, FEHÉR, [x_coord, y_coord, 25, 25])

# Mozgassa a futót a lenyomott billentyű alapján

pressed =pygame.key.get_pressed()

ha megnyomja [pygame.K_UP]:

y_sebesség =-5

elif lenyomva[pygame.K_DOWN]:

y_sebesség =5

elif lenyomva[pygame.K_LEFT]:

x_sebesség =-5

elif lenyomva[pygame.K_RIGHT]:

x_sebesség =5

# Frissítse a futó pozícióját

x_coord +=x_speed

y_coord +=y_speed

# Ha a futó eléri a képernyő szélét, verje vissza

ha x_coord> 675:

x_sebesség =-5

elif x_coord <0:

x_sebesség =5

ha y_coord> 475:

y_sebesség =-5

elif y_coord <0:

y_sebesség =5

# Ha a futó falnak ütközik, állítsa meg

if labirintus[int(y_coord / 25)][int(x_coord / 25)] ==1:

x_sebesség =0

y_sebesség =0

#Frissítse a képernyőt

pygame.display.flip()

Kilépés a pygame-ből

pygame.quit()

```

Dramaturgia

Kapcsolódó kategóriák