Upload files to "/"
This commit is contained in:
137
kezdo.py
Normal file
137
kezdo.py
Normal file
@@ -0,0 +1,137 @@
|
||||
import pygame
|
||||
from sys import exit
|
||||
|
||||
pygame.init()
|
||||
|
||||
GAME_WIDTH = 888
|
||||
GAME_HEIGHT = 540
|
||||
|
||||
screen = pygame.display.set_mode((GAME_WIDTH, GAME_HEIGHT))
|
||||
pygame.display.set_caption("Mukodik")
|
||||
clock = pygame.time.Clock()
|
||||
|
||||
state = "menu"
|
||||
|
||||
menu_background = pygame.image.load("TITLESCREEN.png").convert()
|
||||
|
||||
new_game = pygame.image.load("NEW GAME.png").convert_alpha()
|
||||
con = pygame.image.load("CONTINUE.png").convert_alpha()
|
||||
reset = pygame.image.load("RESET.png").convert_alpha()
|
||||
save = pygame.image.load("SAVE.png").convert_alpha()
|
||||
settings = pygame.image.load("SETTINGS.png").convert_alpha()
|
||||
quit_btn = pygame.image.load("QUIT.png").convert_alpha()
|
||||
|
||||
# LEVELS
|
||||
level_one = pygame.image.load("levelONE_FORMATTED.png").convert()
|
||||
level_two = pygame.image.load("levelTWO_FORMATTED.png").convert()
|
||||
|
||||
current_level = level_one
|
||||
|
||||
karakter_bal = pygame.image.load("charpixel_left.png").convert_alpha()
|
||||
karakter_jobb = pygame.image.load("charpixel_rightside.png").convert_alpha()
|
||||
|
||||
new_game = pygame.transform.smoothscale(new_game, (160, 50))
|
||||
con = pygame.transform.smoothscale(con, (160, 50))
|
||||
reset = pygame.transform.smoothscale(reset, (160, 50))
|
||||
save = pygame.transform.smoothscale(save, (160, 50))
|
||||
settings = pygame.transform.smoothscale(settings, (160, 50))
|
||||
quit_btn = pygame.transform.smoothscale(quit_btn, (160, 50))
|
||||
karakter_jobb = pygame.transform.smoothscale(karakter_jobb, (160, 160))
|
||||
karakter_bal = pygame.transform.smoothscale(karakter_bal, (160, 160))
|
||||
|
||||
new_game_rect = new_game.get_rect(center=(460, 180))
|
||||
continue_rect = con.get_rect(center=(455, 230))
|
||||
reset_rect = reset.get_rect(center=(455, 280))
|
||||
save_rect = save.get_rect(center=(455, 330))
|
||||
settings_rect = settings.get_rect(center=(455, 380))
|
||||
quit_rect = quit_btn.get_rect(center=(455, 430))
|
||||
|
||||
# SCALE LEVEL
|
||||
def load_level(level_surface):
|
||||
rect = level_surface.get_rect()
|
||||
level_scaled = pygame.transform.scale(level_surface, (rect.width, GAME_HEIGHT))
|
||||
return level_scaled, level_scaled.get_rect()
|
||||
|
||||
level, level_rect = load_level(current_level)
|
||||
|
||||
KARAKTER_SPEED = 5
|
||||
|
||||
kamera_x = 0
|
||||
kamera_y = 0
|
||||
|
||||
current_sprite = karakter_jobb
|
||||
karakter_rect = karakter_jobb.get_rect()
|
||||
|
||||
karakter_x = 200
|
||||
karakter_y = level_rect.height - karakter_rect.height
|
||||
|
||||
while True:
|
||||
for event in pygame.event.get():
|
||||
if event.type == pygame.QUIT:
|
||||
pygame.quit()
|
||||
exit()
|
||||
|
||||
if state == "menu":
|
||||
if event.type == pygame.MOUSEBUTTONDOWN:
|
||||
if new_game_rect.collidepoint(event.pos):
|
||||
state = "game"
|
||||
current_level = level_one
|
||||
level, level_rect = load_level(current_level)
|
||||
|
||||
karakter_x = 200
|
||||
karakter_y = level_rect.height - karakter_rect.height
|
||||
kamera_x = 0
|
||||
kamera_y = 0
|
||||
|
||||
keys = pygame.key.get_pressed()
|
||||
|
||||
if state == "game":
|
||||
if keys[pygame.K_d]:
|
||||
karakter_x += KARAKTER_SPEED
|
||||
current_sprite = karakter_jobb
|
||||
|
||||
if keys[pygame.K_a]:
|
||||
karakter_x -= KARAKTER_SPEED
|
||||
current_sprite = karakter_bal
|
||||
|
||||
karakter_x = max(0, min(karakter_x, level_rect.width - karakter_rect.width))
|
||||
karakter_y = max(0, min(karakter_y, level_rect.height - karakter_rect.height))
|
||||
|
||||
|
||||
if karakter_x <= 0:
|
||||
current_level = level_two
|
||||
level, level_rect = load_level(current_level)
|
||||
karakter_x = level_rect.width - karakter_rect.width - 5
|
||||
|
||||
elif karakter_x >= level_rect.width - karakter_rect.width:
|
||||
current_level = level_two
|
||||
level, level_rect = load_level(current_level)
|
||||
karakter_x = 5
|
||||
|
||||
|
||||
kamera_x = karakter_x + karakter_rect.width // 2 - GAME_WIDTH // 2
|
||||
kamera_y = karakter_y + karakter_rect.height // 2 - GAME_HEIGHT // 2
|
||||
|
||||
kamera_x = max(0, min(kamera_x, level_rect.width - GAME_WIDTH))
|
||||
kamera_y = max(0, min(kamera_y, level_rect.height - GAME_HEIGHT))
|
||||
|
||||
if state == "menu":
|
||||
screen.blit(menu_background, (0, 0))
|
||||
screen.blit(new_game, new_game_rect)
|
||||
screen.blit(reset, reset_rect)
|
||||
screen.blit(save, save_rect)
|
||||
screen.blit(settings, settings_rect)
|
||||
screen.blit(quit_btn, quit_rect)
|
||||
screen.blit(con, continue_rect)
|
||||
|
||||
elif state == "game":
|
||||
screen.fill((0, 0, 0))
|
||||
screen.blit(level, (-kamera_x, -kamera_y))
|
||||
|
||||
karakter_screen_x = karakter_x - kamera_x
|
||||
karakter_screen_y = karakter_y - kamera_y
|
||||
|
||||
screen.blit(current_sprite, (karakter_screen_x, karakter_screen_y))
|
||||
|
||||
pygame.display.flip()
|
||||
clock.tick(60)
|
||||
Reference in New Issue
Block a user