Hell_Circus_game
parent
39809d49df
commit
17f1ca1b19
Binary file not shown.
After Width: | Height: | Size: 96 KiB |
Binary file not shown.
|
@ -0,0 +1,135 @@
|
||||||
|
import pygame
|
||||||
|
import sys
|
||||||
|
|
||||||
|
class Player:
|
||||||
|
def __init__(self):
|
||||||
|
self.sprites_right = [pygame.image.load("Sprites/player/Sized_1_right.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_2_right.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_3_right.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_4_right.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_5_right.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_6_right.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_7_right.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_8_right.png")]
|
||||||
|
self.sprites_left = [pygame.image.load("Sprites/player/Sized_1_left.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_2_left.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_3_left.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_4_left.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_5_left.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_6_left.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_7_left.png"),
|
||||||
|
pygame.image.load("Sprites/player/Sized_8_left.png")]
|
||||||
|
self.sprites_standing = [pygame.image.load("Sprites/player/Sized_test_standing.png")]
|
||||||
|
|
||||||
|
self.current_direction = "standing"
|
||||||
|
self.current_sprites = self.sprites_standing
|
||||||
|
self.sprite_rect = self.sprites_right[0].get_rect()
|
||||||
|
self.sprite_rect.x = 100
|
||||||
|
self.sprite_rect.y = 500
|
||||||
|
|
||||||
|
self.speed = 10
|
||||||
|
self.current_frame = 0
|
||||||
|
|
||||||
|
def update(self, keys):
|
||||||
|
self.current_frame += 0.5
|
||||||
|
if keys[pygame.K_RIGHT]:
|
||||||
|
self.current_direction = "right"
|
||||||
|
self.current_sprites = self.sprites_right
|
||||||
|
if self.sprite_rect.x < 1170:
|
||||||
|
self.sprite_rect.x += self.speed
|
||||||
|
if self.current_frame % 2 == self.current_frame //2:
|
||||||
|
pygame.mixer.Sound("Music/Steps1.mp3").play()
|
||||||
|
elif keys[pygame.K_LEFT]:
|
||||||
|
self.current_direction = "left"
|
||||||
|
self.current_sprites = self.sprites_left
|
||||||
|
if self.sprite_rect.x > 10:
|
||||||
|
self.sprite_rect.x -= self.speed
|
||||||
|
if self.current_frame % 2 == self.current_frame //2:
|
||||||
|
pygame.mixer.Sound("Music/Steps1.mp3").play()
|
||||||
|
else:
|
||||||
|
self.current_direction = "standing"
|
||||||
|
self.current_sprites = self.sprites_standing
|
||||||
|
|
||||||
|
if self.current_frame >= len(self.current_sprites):
|
||||||
|
self.current_frame = 0
|
||||||
|
|
||||||
|
class Game:
|
||||||
|
def __init__(self):
|
||||||
|
pygame.init()
|
||||||
|
self.screen_height = 720
|
||||||
|
self.screen_width = 1280
|
||||||
|
self.screen_caption = pygame.display.set_caption("Hell Circus")
|
||||||
|
self.screen = pygame.display.set_mode((self.screen_width, self.screen_height)) # Fixing this line
|
||||||
|
self.clock = pygame.time.Clock()
|
||||||
|
self.running = True
|
||||||
|
|
||||||
|
self.background_image = pygame.image.load("Sprites/Fon.png")
|
||||||
|
self.background_rect = self.background_image.get_rect(center=[self.screen_width // 2, self.screen_height // 2])
|
||||||
|
|
||||||
|
self.player = Player()
|
||||||
|
|
||||||
|
def handle_events(self):
|
||||||
|
for event in pygame.event.get():
|
||||||
|
if event.type == pygame.QUIT:
|
||||||
|
self.running = False
|
||||||
|
pygame.quit()
|
||||||
|
sys.exit()
|
||||||
|
if event.type == pygame.KEYDOWN:
|
||||||
|
if event.key == pygame.K_ESCAPE:
|
||||||
|
self.show_main_menu()
|
||||||
|
|
||||||
|
def update(self, keys):
|
||||||
|
self.player.update(keys)
|
||||||
|
|
||||||
|
def draw(self):
|
||||||
|
self.screen.fill((0, 0, 0))
|
||||||
|
self.screen.blit(self.background_image, [0, -90])
|
||||||
|
self.screen.blit(self.player.current_sprites[int(self.player.current_frame)], self.player.sprite_rect)
|
||||||
|
pygame.display.flip()
|
||||||
|
|
||||||
|
def show_main_menu(self):
|
||||||
|
menu_active = True
|
||||||
|
while menu_active:
|
||||||
|
for event in pygame.event.get():
|
||||||
|
if event.type == pygame.QUIT:
|
||||||
|
pygame.quit()
|
||||||
|
sys.exit()
|
||||||
|
if event.type == pygame.MOUSEBUTTONDOWN:
|
||||||
|
mouse_pos = pygame.mouse.get_pos()
|
||||||
|
if 540 <= mouse_pos[0] <= 740 and 255 <= mouse_pos[1] <= 305:
|
||||||
|
menu_active = False
|
||||||
|
break
|
||||||
|
elif 540 <= mouse_pos[0] <= 740 and 355 <= mouse_pos[1] <= 405:
|
||||||
|
pygame.quit()
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
self.screen.fill((0, 0, 0))
|
||||||
|
self.screen.blit(self.background_image, [0, 0])
|
||||||
|
|
||||||
|
font = pygame.font.SysFont(None, 64)
|
||||||
|
title_text = font.render("Hell Circus", True, (255, 255, 255))
|
||||||
|
self.screen.blit(title_text, (self.screen_width // 2 - title_text.get_width() // 2, 100))
|
||||||
|
|
||||||
|
pygame.draw.rect(self.screen, (0, 255, 0), (540, 255, 200, 50))
|
||||||
|
pygame.draw.rect(self.screen, (0, 0, 0), (540, 255, 200, 50), 3)
|
||||||
|
play_text = font.render("Play", True, (255, 255, 255))
|
||||||
|
self.screen.blit(play_text, (self.screen_width // 2 - play_text.get_width() // 2, 260))
|
||||||
|
|
||||||
|
pygame.draw.rect(self.screen, (0, 255, 0), (540, 355, 200, 50))
|
||||||
|
pygame.draw.rect(self.screen, (0, 0, 0), (540, 355, 200, 50), 3)
|
||||||
|
exit_text = font.render("Exit", True, (255, 255, 255))
|
||||||
|
self.screen.blit(exit_text, (self.screen_width // 2 - exit_text.get_width() // 2, 360))
|
||||||
|
pygame.display.flip()
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
self.show_main_menu()
|
||||||
|
while self.running:
|
||||||
|
keys = pygame.key.get_pressed()
|
||||||
|
self.handle_events()
|
||||||
|
self.update(keys)
|
||||||
|
self.draw()
|
||||||
|
self.clock.tick(60)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
game = Game()
|
||||||
|
game.run()
|
Binary file not shown.
Loading…
Reference in New Issue