# Oyun Ayarları GENISLIK = 800 YUKSEKLIK = 400 FPS = 60 # Renkler BEYAZ = (255, 255, 255) SIYAH = (0, 0, 0) KIRMIZI = (255, 0, 0) MAVI = (0, 0, 255) pygame.init() ekran = pygame.display.set_mode((GENISLIK, YUKSEKLIK)) pygame.display.set_caption("Engellerden Kaçış") saat = pygame.time.Clock() # Oyuncu Sınıfı class Oyuncu(pygame.sprite.Sprite): def __init__(self): super().__init__() self.image = pygame.Surface((40, 60)) self.image.fill(MAVI) self.rect = self.image.get_rect() self.rect.bottom = YUKSEKLIK - 10 self.rect.left = 50 self.hiz_y = 0 self.zipliyor = False def zipla(self): if not self.zipliyor: self.hiz_y = -15 self.zipliyor = True def update(self): # Yerçekimi self.hiz_y += 0.8 self.rect.y += self.hiz_y # Yere basma kontrolü if self.rect.bottom >= YUKSEKLIK - 10: self.rect.bottom = YUKSEKLIK - 10 self.hiz_y = 0 self.zipliyor = False # Engel Sınıfı class Engel(pygame.sprite.Sprite): def __init__(self): super().__init__() self.image = pygame.Surface((30, 50)) self.image.fill(KIRMIZI) self.rect = self.image.get_rect() self.rect.x = GENISLIK + random.randint(0, 100) self.rect.bottom = YUKSEKLIK - 10 def update(self): self.rect.x -= 7 # Engelin hızı if self.rect.right < 0: self.kill() # Ekrandan çıkan engeli sil # Gruplar tum_spriteler = pygame.sprite.Group() engeller = pygame.sprite.Group() oyuncu = Oyuncu() tum_spriteler.add(oyuncu) # Engel oluşturma zamanlayıcısı engel_zamani = pygame.USEREVENT + 1 pygame.time.set_timer(engel_zamani, 1500) skor = 0 oyun_devam = True # Oyun Döngüsü while oyun_devam: ekran.fill(BEYAZ) for event in pygame.event.get(): if event.type == pygame.QUIT: oyun_devam = False if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: oyuncu.zipla() if event.type == engel_zamani: yeni_engel = Engel() tum_spriteler.add(yeni_engel) engeller.add(yeni_engel) # Güncelleme tum_spriteler.update() # Çarpışma Kontrolü if pygame.sprite.spritecollide(oyuncu, engeller, False): print(f"Oyun Bitti! Skorun: {int(skor)}") oyun_devam = False # Skoru artır skor += 0.1 # Çizim tum_spriteler.draw(ekran) pygame.display.flip() saat.tick(FPS) pygame.quit() Birleşen Meyve Oyunu