reworked the code structure for better feature implementation
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
import pygame as pg
|
||||
from game.settings import *
|
||||
from game.util import draw_text
|
||||
import sys
|
||||
|
||||
|
||||
class StartMenu:
|
||||
|
||||
def __init__(self, screen, clock):
|
||||
self.screen = screen
|
||||
self.clock = clock
|
||||
self.screen_size = self.screen.get_size()
|
||||
|
||||
|
||||
def run(self):
|
||||
self.menu_running = True
|
||||
while self.menu_running:
|
||||
self.clock.tick(60)
|
||||
self.update()
|
||||
self.draw()
|
||||
return True
|
||||
|
||||
def update(self):
|
||||
|
||||
for event in pg.event.get():
|
||||
if event.type == pg.QUIT:
|
||||
pg.quit()
|
||||
sys.exit()
|
||||
if event.type == pg.KEYDOWN:
|
||||
if event.key == pg.K_RETURN:
|
||||
self.menu_running = False
|
||||
if event.key == pg.K_ESCAPE:
|
||||
pg.quit()
|
||||
sys.exit()
|
||||
|
||||
def draw(self):
|
||||
self.screen.fill((0, 0, 0))
|
||||
|
||||
draw_text(self.screen, "TETRIS", 50, width // 2, HEIGHT // 2 - 50, (255, 255, 255))
|
||||
draw_text(self.screen, "Press ENTER to Start", 30, width // 2, HEIGHT // 2 + 50, (200, 200, 200))
|
||||
pg.display.update()
|
||||
|
||||
|
||||
class GameMenu:
|
||||
def __init__(self, screen, clock):
|
||||
self.screen = screen
|
||||
self.clock = clock
|
||||
self.screen_size = self.screen.get_size()
|
||||
self.playing = True
|
||||
|
||||
def run(self):
|
||||
self.menu_running = True
|
||||
while self.menu_running:
|
||||
self.clock.tick(60)
|
||||
self.update()
|
||||
self.draw()
|
||||
return self.playing
|
||||
|
||||
def update(self):
|
||||
for event in pg.event.get():
|
||||
if event.type == pg.QUIT:
|
||||
pg.quit()
|
||||
sys.exit()
|
||||
if event.type == pg.KEYDOWN:
|
||||
if event.key == pg.K_RETURN:
|
||||
self.menu_running = False
|
||||
if event.key == pg.K_ESCAPE:
|
||||
self.playing = False
|
||||
self.menu_running = False
|
||||
|
||||
def draw(self):
|
||||
|
||||
self.screen.fill((0, 0, 0))
|
||||
|
||||
if gamestate:
|
||||
draw_text(self.screen, "Game Paused", 50, width // 2, HEIGHT // 2 - 50, (255, 255, 255))
|
||||
draw_text(self.screen, "Press ESC to Resume", 30, width // 2, HEIGHT // 2 + 10, (200, 200, 200))
|
||||
else:
|
||||
draw_text(self.screen, "Game Over", 50, WIDTH // 2, HEIGHT // 2 - 50, (255, 0, 0))
|
||||
draw_text(self.screen, "Press Enter to Restart", 30, WIDTH // 2, HEIGHT // 2 + 50, (200, 200, 200))
|
||||
|
||||
pg.display.update()
|
||||
Reference in New Issue
Block a user