Arts >> Sztuka i rozrywka >  >> Teatr >> Dramaturgia

Jaki jest kod do labiryntu w książce biegacza?

```pyton

importuj pygame

Określ niektóre kolory

CZARNY =(0, 0, 0)

BIAŁY =(255, 255, 255)

Ustaw wysokość i szerokość ekranu

rozmiar =[700, 500]

ekran =pygame.display.set_mode(rozmiar)

Pętla, aż użytkownik kliknie przycisk zamykania.

zrobione =Fałsz

zegar =pygame.time.Clock()

Prędkość w pikselach na sekundę

x_prędkość =0

y_prędkość =0

Aktualna pozycja

x_coord =10

y_coord =10

Utwórz labirynt

labirynt =[

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

]

Pętla do zakończenia ==Fałsz

jeszcze nie zrobione:

# Ogranicza to pętlę while do maksymalnie 10 razy na sekundę.

# Zostaw to, a użyjemy całego procesora, jaki możemy.

zegar.tyk(10)

dla zdarzenia w pygame.event.get():# Użytkownik coś zrobił

if event.type ==pygame.QUIT:# Jeśli użytkownik kliknął Zamknij

gotowe =True # Oznacz, że skończyliśmy, więc wychodzimy z tej pętli

# Wyczyść ekran i ustaw tło ekranu

wypełnienie ekranu (CZARNY)

# Narysuj labirynt

dla wiersza w zakresie(9):

dla kolumny w zakresie(10):

jeśli labirynt[wiersz][kolumna] ==1:

pygame.draw.rect(ekran, BIAŁY, [(25 * kolumna), (25 * rząd), 25, 25])

# Narysuj biegacza

pygame.draw.rect(ekran, BIAŁY, [x_coord, y_coord, 25, 25])

# Przesuń prowadnicę w oparciu o wciśnięty klawisz

naciśnięty =pygame.key.get_pressed()

po naciśnięciu [pygame.K_UP]:

y_speed =-5

Elif naciśnięty [pygame.K_DOWN]:

y_prędkość =5

Elif naciśnięty [pygame.K_LEFT]:

x_prędkość =-5

Elif wciśnięty[pygame.K_RIGHT]:

x_prędkość =5

# Zaktualizuj pozycję biegacza

x_coord +=x_speed

y_coord +=y_speed

# Jeśli biegacz uderzy w krawędź ekranu, odbij go

jeśli x_coord> 675:

x_prędkość =-5

elif x_coord <0:

x_prędkość =5

jeśli y_coord> 475:

y_speed =-5

elif y_coord <0:

y_prędkość =5

# Jeśli biegacz uderzy w ścianę, zatrzymaj go

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

x_prędkość =0

y_prędkość =0

#Zaktualizuj ekran

pygame.display.flip()

Zamknij pygame

pygame.quit()

```

Dramaturgia

Powiązane kategorie