diff options
author | RaindropsSys <contact@minteck.org> | 2023-08-31 22:47:58 +0200 |
---|---|---|
committer | RaindropsSys <contact@minteck.org> | 2023-08-31 22:47:58 +0200 |
commit | 03afd42fdcd52e4a827016828c4ad286de320078 (patch) | |
tree | 0cb77209fdb1d4d192afa2ac6d6c3ada0074661b /src/menu.py | |
parent | e54ac640f1d3f7071a48032e924b04529cbd358f (diff) | |
download | blocks-03afd42fdcd52e4a827016828c4ad286de320078.tar.gz blocks-03afd42fdcd52e4a827016828c4ad286de320078.tar.bz2 blocks-03afd42fdcd52e4a827016828c4ad286de320078.zip |
Updated 5 files, added 2 files and deleted 337 files (automated)
Diffstat (limited to 'src/menu.py')
-rw-r--r-- | src/menu.py | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/menu.py b/src/menu.py new file mode 100644 index 0000000..d066f51 --- /dev/null +++ b/src/menu.py @@ -0,0 +1,80 @@ +import pygame +import helper +import audio + +def show(screen): + running = True + audio.play_menu(True) + + while running: + for event in pygame.event.get(): + if event.type == pygame.MOUSEMOTION: + pygame.mouse.set_visible(True) + if event.type == pygame.MOUSEBUTTONDOWN: + left, middle, right = pygame.mouse.get_pressed() + mouse = pygame.mouse.get_pos() + print(mouse) + + if left: + if 45 < mouse[0] < 195 and 40 < mouse[1] < 70: + print("New game") + screen.fill("black") + canvas = pygame.Surface((1280, 720)) + canvas.fill("black") + + width = screen.get_size()[0] + height = width / (16/9) + + if width > screen.get_size()[0] or height > screen.get_size()[1]: + height = screen.get_size()[1] + width = height * (16/9) + + canvas.blit(helper.text("Generating world...", 20, (255, 255, 255)), (50, 50)) + + scaled_win = pygame.transform.scale(canvas, (width, height)) + screen.blit(scaled_win, (screen.get_size()[0] / 2 - width / 2, screen.get_size()[1] / 2 - height / 2)) + + pygame.display.flip() + + blocks = [] + + for i in range(20): + for j in range(20): + blocks.append((802 + j * 21 - i * 42, 202 + j * 13 + i, "grass_block")) + + import game + audio.stop(1) + game.run(screen, blocks) + return + elif 45 < mouse[0] < 205 and 40+25 < mouse[1] < 70+25: + print("Load game") + elif 45 < mouse[0] < 125 and 40+25*2 < mouse[1] < 70+25*2: + print("Settings") + elif 45 < mouse[0] < 90 and 40+25*3 < mouse[1] < 70+25*3: + print("Exit") + running = False + + if event.type == pygame.QUIT: + running = False + + screen.fill("black") + canvas = pygame.Surface((1280, 720)) + canvas.fill("red") + + width = screen.get_size()[0] + height = width / (16/9) + + if width > screen.get_size()[0] or height > screen.get_size()[1]: + height = screen.get_size()[1] + width = height * (16/9) + + canvas.blit(helper.text("Start new game", 20, (255, 255, 255)), (50, 50)) + canvas.blit(helper.text("Load saved game", 20, (255, 255, 255)), (50, 75)) + canvas.blit(helper.text("Settings", 20, (255, 255, 255)), (50, 100)) + canvas.blit(helper.text("Exit", 20, (255, 255, 255)), (50, 125)) + + scaled_win = pygame.transform.scale(canvas, (width, height)) + screen.blit(scaled_win, (screen.get_size()[0] / 2 - width / 2, screen.get_size()[1] / 2 - height / 2)) + + audio.play_menu() + pygame.display.flip()
\ No newline at end of file |