50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
import pygame
|
|
from pygame.locals import *
|
|
|
|
from Classes.Game.BoardField import BoardField
|
|
from Classes.Game.World import World
|
|
|
|
class Window:
|
|
__width:int = 800
|
|
__height:int = 600 # takes 80% of width which tranlates to 640
|
|
__title:str = "python game engine"
|
|
__screen:pygame.Surface
|
|
__clock:pygame.time.Clock
|
|
|
|
def __init__(self, width:int=800, height:int=600, title:str="python game engine"):
|
|
self.__width = width
|
|
self.__height = height
|
|
self.__title = title
|
|
|
|
self.__screen = pygame.display.set_mode((self.__width, self.__height), pygame.FULLSCREEN)
|
|
pygame.display.init()
|
|
|
|
pygame.display.set_caption = self.__title
|
|
|
|
# set framerate (where the fuck is it?)
|
|
def Render(self):
|
|
# dear future me figure out what past me did!
|
|
pass
|
|
|
|
def setWidth(self, width:int):
|
|
self.__width = width
|
|
|
|
def setHeight(self, height:int):
|
|
self.__height = height
|
|
|
|
def setTitle(self, title:str):
|
|
self.__title = title
|
|
|
|
def getScreen(self) -> pygame.surface:
|
|
return self.__screen
|
|
|
|
# draws a passed sprite group to the screen
|
|
def drawSpriteGroup(self, group:pygame.sprite.Group):
|
|
group.draw(self.__screen)
|
|
|
|
# draws a given group of rectangles onto the screen
|
|
def drawWorld(self, world:World):
|
|
for field in world.getBoardFields():
|
|
pygame.draw.rect(self.__screen, field.getColor(), field.getRect())
|
|
for label in world.getLabels():
|
|
label.draw() |