V BOB.  WWW-TEXNOLOGIYA VA HTML TILI




Download 27,94 Mb.
Pdf ko'rish
bet132/153
Sana19.05.2024
Hajmi27,94 Mb.
#244031
1   ...   128   129   130   131   132   133   134   135   ...   153
Bog'liq
10-sinf yangi

V BOB. 
WWW-TEXNOLOGIYA VA HTML TILI
class Car(pygame.sprite.Sprite):
Sinf e’lon qilindi.
def __init__(self,img,cent):
“init” funksiyasi ishga tushdi.
pygame.sprite.Sprite.__init__(self)
“Self” parametriga “Sprite” sinfi 
funksiyalari biriktirildi.
self.image = img
Spraytga rasm yuklandi.
self.rect = self.image.get_rect()
Sprayt qobig‘i belgilandi.
self.rect.center = cent
Sprayt joylashuv koordinatasi berildi.
def update(self):
“update” funksiyasi e’lon qilindi.
self.rect.y+=5
“rect.y” parametri 5 ga orttirildi.
if self.rect.top > HEIGHT+200:
Spraytning yuqori qirrasi oyna 
balandligidan katta ekanligi tekshirildi.
self.rect.bottom = 0
Shart rost bo‘lsa, s
praytning o‘ng 
qirrasi qiymatiga 0 o‘zlashtirildi.
def replace(self,img1):
“replace” funksiyasi e’lon qilindi.
self.rect.y=random.randint(-1000,-100)
Qabul qilingan atributning “rect.y” 
qiymatiga tasodifiy son berildi.
self.rect.x+=random.randint(-15,15)
Qabul qilingan atributning “rect.x” 
qiymatiga tasodifiy son berildi.
self.image=img1
Qabul qilingan atributning “image” 
qiymatiga “img1” qymati berildi.
pygame.init()
PyGame ishga tushadi.
screen
= pygame.display.set_mode((WIDTH, 
HEIGHT))
O‘yin oynasi o‘lchamlari berildi.
pygame.display.set_caption("Race")
O‘yin sarlavhasi berildi.
clock = pygame.time.Clock()
Tezlikni boshqarish e’lon qilindi.
all_sprites = pygame.sprite.Group()
“all_sprites” spraytlar guruhi yaratildi.
cars = pygame.sprite.Group()
“cars” spraytlar guruhi yaratildi.
player = Player()
Player sinfining “player” obyekti 
yaratildi.
car=Car(enemy1,(230,0))
Car sinfining “car” obyekti yaratildi.
car2=Car(enemy2,(350,-100))
Car sinfining “car2” obyekti yaratildi.
car3=Car(enemy3,(490,-400))
Car sinfining “car3” obyekti yaratildi.
car4=Car(enemy4,(610,-300))
Car sinfining “car4” obyekti yaratildi.
all_sprites.add(player)
“player” spraytlar guruhiga qo‘shildi.
cars.add(car)
“car” spraytlar guruhiga qo‘shildi.
cars.add(car2)
“car2” spraytlar guruhiga qo‘shildi.
cars.add(car3)
“car3” spraytlar guruhiga qo‘shildi.
cars.add(car4)
“car4” spraytlar guruhiga qo‘shildi.
over=False
“over”ga False qiymati berildi.
running = True
“running”ga True qiymati berildi.
while running:
O‘yin sikli ishga tushdi.


187
187
187
187
if over:
“over” qiymati rostligi tekshirildi.
game_over()
“game_over()” funksiyasi ishga tushdi.
over=False
“over”ga False qiymati berildi.
all_sprites = pygame.sprite.Group()
“all_sprites” guruhi yaratildi.
cars = pygame.sprite.Group()
“cars” guruhi yaratildi.
player = Player()
“Player” sinfining “player” obyekti 
yaratildi.
car=Car(enemy1,(230,0))
“Car” sinfining “car” obyekti yaratildi.
car2=Car(enemy2,(350,-100))
“Car” sinfining “car2” obyekti yaratildi.
car3=Car(enemy3,(490,-400))
“Car” sinfining “car3” obyekti yaratildi.
car4=Car(enemy4,(610,-300))
“Car” sinfining “car4” obyekti yaratildi.
all_sprites.add(player)
“player” spraytlar guruhiga qo‘shildi.
cars.add(car)
“car” spraytlar guruhiga qo‘shildi.
cars.add(car2)
“car2” spraytlar guruhiga qo‘shildi.
cars.add(car3)
“car3” spraytlar guruhiga qo‘shildi.
cars.add(car4)
“car4” spraytlar guruhiga qo‘shildi.
clock.tick(FPS)
O‘yin tezligi PyGamega e’lon qilindi.
for event in pygame.event.get():
Hodisalar bo‘yicha sikl boshlandi.
if event.type == pygame.QUIT:
Hodisa turi “QUIT”ligi tekshirildi.
running = False
“running”ga False qiymati berildi.
if play
er.rect.right > WIDTH-70 or player.rect.
left < 110:
“player” obyekti 
mashina yo‘li to‘siqlari 
bilan to‘qnashuvi tekshirildi.
over=True
“over”ga True qiymati berildi.
for car in cars:
“cars” guruhi bo‘yicha sikl boshlandi.
if car.rect.y>HEIGHT:
“cars” obyektlarining “car.rect.y” qiymati 
oyna balandligidan kattaligi tekshirildi.
car.replace(random.choice(car_list))
“Car” sinfining “replace” funksiyasi 
ishga tushdi.
all_sprites.update()
“all_sprites” spraytlar guruhi yangilandi.
cars.update()
“cars” spraytlar guruhi yangilandi.
hits = pygame.sprite.spritecollideany(player, 
cars,pygame.sprite.collide_rect_ratio(0.7))
To‘qnashuv qiymati qabul qilindi.
if hits:
To‘qnashuv qiymati rostligi tekshirildi.
over=True
“running”ga False qiymati berildi.
screen.blit(bg, (0, 0))
Fonga rasm o‘rnatiladi.
all_sprites.draw(screen)
“all_sprites” o‘yin oynasiga chizildi.
cars.draw(screen)
“cars” o‘yin oynasiga chizildi.
pygame.display.flip()
O‘yin oynasi yangilandi.
pygame.quit()
O‘yindan chiqiladi.


188
188
188
188

Download 27,94 Mb.
1   ...   128   129   130   131   132   133   134   135   ...   153




Download 27,94 Mb.
Pdf ko'rish