summaryrefslogtreecommitdiff
path: root/src/menu.py
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-08-31 22:47:58 +0200
committerRaindropsSys <contact@minteck.org>2023-08-31 22:47:58 +0200
commit03afd42fdcd52e4a827016828c4ad286de320078 (patch)
tree0cb77209fdb1d4d192afa2ac6d6c3ada0074661b /src/menu.py
parente54ac640f1d3f7071a48032e924b04529cbd358f (diff)
downloadblocks-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.py80
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