Arts >> Sanat ve Eğlence >  >> tiyatro >> Oyun Yazarlığı

Runner kitabındaki labirentin kodu nedir?

```piton

pygame'i içe aktar

Bazı renkleri tanımlayın

SİYAH =(0, 0, 0)

BEYAZ =(255, 255, 255)

Ekranın yüksekliğini ve genişliğini ayarlayın

boyut =[700, 500]

ekran =pygame.display.set_mode(size)

Kullanıcı kapat düğmesini tıklayana kadar döngü.

yapıldı =Yanlış

saat =pygame.time.Clock()

Saniyedeki piksel cinsinden hız

x_hız =0

y_hız =0

Mevcut konum

x_koord =10

y_koord =10

Bir labirent oluşturun

labirent =[

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

]

Bittiği sürece döngü ==Yanlış

yapılmamışken:

# Bu, while döngüsünü saniyede maksimum 10 defayla sınırlandırır.

# Bunu dışarıda bırakırsak elimizden gelen tüm CPU'yu kullanırız.

saat.tick(10)

pygame.event.get() dosyasındaki etkinlik için:# Kullanıcı bir şey yaptı

if event.type ==pygame.QUIT:# Kullanıcı kapat'a tıkladıysa

done =True # Bu döngüden çıkmak için işimizin bittiğini işaretleyin

# Ekranı temizleyin ve ekran arka planını ayarlayın

screen.fill(SİYAH)

# Labirenti çiz

(9) aralığındaki satır için:

(10) aralığındaki sütun için:

eğer labirent[satır][sütun] ==1:

pygame.draw.rect(ekran, BEYAZ, [(25 * sütun), (25 * satır), 25, 25])

# Koşucuyu çiz

pygame.draw.rect(ekran, BEYAZ, [x_koord, y_koord, 25, 25])

# Basılan tuşa göre koşucuyu hareket ettirin

basıldı =pygame.key.get_pressed()

eğer[pygame.K_UP] tuşuna basılırsa:

y_hız =-5

elif[pygame.K_DOWN] tuşuna basıldı:

y_hız =5

elif[pygame.K_LEFT] tuşuna bastı:

x_hız =-5

elif[pygame.K_RIGHT] tuşuna basıldı:

x_hız =5

# Koşucunun konumunu güncelle

x_koord +=x_hız

y_koord +=y_hız

# Koşucu ekranın kenarına çarparsa onu geri sektirin

eğer x_koord> 675 ise:

x_hız =-5

elif x_koord <0:

x_hız =5

y_koord> 475 ise:

y_hız =-5

elif y_koord <0:

y_hız =5

# Koşucu duvara çarparsa onu durdurun

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

x_hız =0

y_hız =0

#Ekranı güncelle

pygame.display.flip()

Pygame'den çık

pygame.quit()

''''

Oyun Yazarlığı

İlgili Kategoriler