--- /dev/null
+from pygame import font
+
+def createText(X, Y, size, textColour, weight, textInfo, alignment = "l"):
+ fontx = font.Font(f"./Font/Lato-{weight}.ttf", size)
+ text = fontx.render(textInfo, True, textColour)
+ textRect = text.get_rect()
+ if(alignment == "left" or alignment == "l"):
+ textRect = (X // 2, Y // 2) # Left aligned text
+ elif(alignment == "center" or alignment == "c"):
+ textRect.center = (X//2, Y//2) # Centered text
+ elif(alignment == "right" or alignment == "r"):
+ textRect.right = (X//2, Y//2) # Right aligned text
+
+ return text, textRect;
\ No newline at end of file
--- /dev/null
+from Setup import *
+from CommonImports.colours import black
+from Function.createText import createText
+
+class Menu:
+
+ def __init__(self):
+ self.texts = []
+ X = 250
+ self.texts.append(createText(X, 100, 32, black, "Bold", "Interstellar Pirate Title",))
+ self.texts.append(createText(X, 250, 24, black, "Regular", "Start"))
+ self.texts.append(createText(X, 350, 24, black, "Regular", "Options"))
+ self.texts.append(createText(X, 450, 24, black, "Regular", "Quit"))
+
+ self.level = 0
+
+
+ def update(self, delta):
+ for ev in pg.event.get():
+ if ev.type == pg.MOUSEBUTTONDOWN:
+ mouseX, mouseY = pg.mouse.get_pos()
+ for i in range(len(self.texts)):
+ x1 = self.texts[i][1][0]
+ y1 = self.texts[i][1][1]
+ x2 = x1 + self.texts[i][0].get_rect()[2]
+ y2 = y1 + self.texts[i][0].get_rect()[3]
+
+ if (x1 <= mouseX <= x2 and y1 <= mouseY <= y2):
+ self.menuFunctions(i)
+ return;
+
+ def draw(self, surf):
+ screen.fill((255, 255, 255))
+ for i in self.texts:
+ screen.blit(i[0], i[1])
+
+ def menuFunctions(self, num):
+ match num:
+ case 1:
+ self.level = self.level + 1
+ case 2:
+ print("Options")
+ case 3:
+ pg.quit();
\ No newline at end of file