Python'da oyun açılmıyor

HACKERMEGEPRO22

Centipat
Katılım
29 Haziran 2024
Mesajlar
94
Daha fazla  
Cinsiyet
Erkek
Python'da oyun açtığımda hata vermiyor fakat açılmıyor.

Kod:
import pygame;
import random;
programIcon = pygame.image.load('wwphp.png');
pygame.display.set_icon(programIcon);
pygame.display.set_caption('wwPHP Space Game');
# Game screen WIDTH and HEIGHT.(800x600)
SCREEN_WIDTH = 800;
SCREEN_HEIGHT = 600;
# Import pygame.locals parameters to use supported features.
from pygame.locals import (
 RLEACCEL,
 K_UP,
 K_DOWN,
 K_LEFT,
 K_RIGHT,
 K_ESCAPE,
 K_SPACE,
 KEYDOWN,
 QUIT,
);
# Define the Player object.
class Player(pygame.sprite.Sprite):
 def init(self):
 super(Player, self).init();
 # Set player object image.
 self.surf = pygame.image.load("Player-Plane.png").convert_alpha();
 self.surf.set_colorkey((255, 255, 255), RLEACCEL);
 self.rect = self.surf.get_rect();
 # Key Presses Event.
 def update(self, pressed_keys):
 if pressed_keys[K_UP]:
 self.rect.move_ip(0, -5); # if gamer press UP key on keyboard.
 if pressed_keys[K_DOWN]:
 self.rect.move_ip(0, 5); # if gamer press DOWN key on keyboard.
 if pressed_keys[K_LEFT]:
 self.rect.move_ip(-5, 0); # if gamer press LEFT key on keyboard.
 if pressed_keys[K_RIGHT]:
 self.rect.move_ip(5, 0); # if gamer press RIGHT key on keyboard.
 # Keep player on the screen.
 if self.rect.left < 0:
 self.rect.left = 0;
 elif self.rect.right > SCREEN_WIDTH:
 self.rect.right = SCREEN_WIDTH;
 if self.rect.top <= 0:
 self.rect.top = 0;
 elif self.rect.bottom >= SCREEN_HEIGHT:
 self.rect.bottom = SCREEN_HEIGHT;
# Define the enemy object.
class Enemy(pygame.sprite.Sprite):
 def init(self):
 super(Enemy, self).init();
 self.surf = pygame.image.load("Enemy.png").convert_alpha();
 self.surf.set_colorkey((255, 255, 255), RLEACCEL);
 self.rect = self.surf.get_rect(
 center=(
 random.randint(SCREEN_WIDTH + 20, SCREEN_WIDTH + 100),
 random.randint(0, SCREEN_HEIGHT),
 )
 );
 self.speed = 5;
 # Move enemy.
 def update(self):
 self.rect.move_ip(-self.speed, 0);
 if self.rect.right < 0:
 self.kill();
# Define the Bullet object.
class Bullet(pygame.sprite.Sprite):
 def init(self):
 super(Bullet, self).init();
 self.surf = pygame.image.load("Player-Laser-Bullet.png").convert_alpha();
 self.surf.set_colorkey((255, 255, 255), RLEACCEL);
 self.rect = self.surf.get_rect(
 center=(
 player.rect.left+30,
 player.rect.top+12,
 )
 );
 # Move bullet.
 def update(self):
 self.rect.move_ip(25, 0);
 if self.rect.left > SCREEN_WIDTH:
 self.kill();

# Initialize pygame.
pygame.init();
# Create game screen and set background image.
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT));
background_image = pygame.image.load("background.png").convert();
# Create player.
player = Player();
# Setup the clock for a decent framerate.
clock = pygame.time.Clock()
# Create custom enemy.
# Clock object call ADDENEMY event.
ADDENEMY = pygame.USEREVENT + 1
pygame.time.set_timer(ADDENEMY, 250)
# Create groups to hold enemy and bullets sprites, and each sprite.
enemies = pygame.sprite.Group()
bullets = pygame.sprite.Group()
# Create group to hold all sprites.(render)
all_sprites = pygame.sprite.Group()
all_sprites.add(player)
# Player score.
PlayerScore = 0;
# Score text font and size.
myfont = pygame.font.SysFont("Helvatica", 30)
# Score text put on screen.
label = myfont.render("Score : " + str(PlayerScore), 1, (0,100,0))
running = True.
# Mail loop.
while running:
 for event in pygame.event.get():
 if event.type == KEYDOWN:
 if event.key == K_ESCAPE: # if gamer press ESC on keyboard end the game.
 running = False.
 if event.key == K_SPACE: # if gamer press SPACE on keyboard create new bullet object.
 new_bullet = Bullet()
 bullets.add(new_bullet)
 all_sprites.add(new_bullet)
 elif event.type == QUIT:
 running = False.
 elif event.type == ADDENEMY: # ADDENEMY event called by the clock.(LINE 110)
 new_enemy = Enemy()
 enemies.add(new_enemy)
 all_sprites.add(new_enemy)
 pressed_keys = pygame.key.get_pressed()
 player.update(pressed_keys)
 # Update the position enemies and bullets.
 enemies.update()
 bullets.update();
 # Background image. Fill screen.
 screen.blit(background_image, [0, 0])
 # Draw all sprites on screen.
 for entity in all_sprites:
 screen.blit(entity.surf, entity.rect)
 # if any enemies have collided with the player.
 if pygame.sprite.spritecollideany(player, enemies):
 player.kill()
 running = False.
 # if any bullets have colliaded with the enemy.
 EnemyShot = pygame.sprite.groupcollide(bullets, enemies, True, True);
 if EnemyShot:
 PlayerScore = PlayerScore+1;
 label = myfont.render("Score : " + str(PlayerScore), 1, (0,100,0))
 screen.blit(label, (700, 10));
 pygame.display.flip()
 clock.tick(30); # Framerate.
 

Technopat Haberler

Yeni konular

Geri
Yukarı