def Display(self): bg = loadImage("bg3.jpg") background(bg) # Background art fill(105) rect(253, 403, 400, 465, 40) fill(133, 129, 118) rect(250, 400, 400, 465, 40) fill(255) rect(250, 400, 385, 450, 30) fill(227, 227, 227) rect(250, 400, 370, 435, 20) fill(105) rect(250, 175, 307, 107, 20) fill(0) rect(250, 175, 300, 100, 15) for Button in self.ButtonsList: Button.Display() fill(255) text('Main Menu', 250, 175)
def Display(self): fill(0,0,0,200); rect(600,20,1200,3000) for Button in self.ButtonsList: Button.Display() fill(255) text('Game Over', 250, 40)
class GameManager(): def __init__(self, screenWidth, screenHeight, board1X, board1Y, board1Z, board2X, board2Y, board2Z, countersX, countersY, countersZ, timerX, timerY, timerZ, arcadeLevels, gameLevels): self.currentScene = "menu" self.arcadeLevels = arcadeLevels self.currentLevel = 0 self.gameLevels = gameLevels self.BackButton = Button(430, 40, 50, 110, "Back", "menu", 30) self.playerBoard = Board(board1X, board1Y, board1Z) self.refBoard = Board(board2X, board2Y, board2Z) self.MoveCounter = MoveCounter(countersX, countersY, countersZ) self.Timer = Timer(timerX, timerY, timerZ) # TODO: After updating the MoveCounter, add a second counter for the MAX moves (or target moves) self.LevelGenerator = LevelGenerator(board2X, board2Y, board2Z) self.mainMenu = MainMenu(screenWidth / 2, screenHeight / 2, 50, 50) self.levelSelectMenu = LevelSelect(screenWidth / 2, screenHeight / 2, 50, 50, self.gameLevels) self.levelCompleteMenu = LevelComplete(screenWidth / 2, screenHeight / 2, 50, 50) self.arcadeOverMenu = ArcadeOver(screenWidth / 2, screenHeight / 2, 50, 50) self.resetList = [ self.playerBoard, self.refBoard, self.MoveCounter, self.LevelGenerator ] def Click(self, x, y): if "level" in self.currentScene: clicked = self.BackButton.IsIn(x, y) if clicked: self.ChangeScene(self.BackButton.Value) return squareX, squareY = self.playerBoard.GetSquare(x, y) if squareX != -1: self.playerBoard.Click(squareX, squareY) self.MoveCounter.Add() if self.CheckWin(): if "arcade" in self.currentScene: self.currentLevel += 1 self.ChangeScene("level arcade") else: self.ChangeScene("complete") elif self.currentScene == "menu": button = self.mainMenu.GetButton(x, y) if button is not None: self.ChangeScene(button.Value) elif self.currentScene == "select menu": button = self.levelSelectMenu.GetButton(x, y) if button is not None: self.ChangeScene(button.Value) elif self.currentScene == "complete": button = self.levelCompleteMenu.GetButton(x, y) if button is not None: if button.Value == "next level": self.currentLevel += 1 self.ChangeScene( str(self.arcadeLevels[self.currentLevel]) + " level") else: self.ChangeScene(button.Value) elif self.currentScene == "arcade complete": button = self.arcadeOverMenu.GetButton(x, y) if button is not None: self.currentLevel = 0 self.ChangeScene(button.Value) #I need to add a value to the button which makes it go to next level # IF we clicked on "next level" then: # Check what the current level is (self.currentLevel), and increase it by 1. # Change level to that -> self.ChangeScene("2.2 level") elif self.currentScene == "settings": pass else: self.currentScene = "menu" def ChangeScene(self, newScene): if "complete" not in newScene: for object in self.resetList: object.Reset() else: self.Timer.Pause() if "level" in newScene: if "arcade" in newScene: self.GenerateLevel(int(self.arcadeLevels[self.currentLevel])) else: if newScene is "next level": self.currentLevel += 1 self.GenerateLevel(int(gameLevels[self.currentLevel][0])) #change generate level to my code inside generate level + make an actual input self.currentScene = newScene def CheckWin(self): if self.playerBoard.Equals( self.refBoard): #Impliment Equals check in board return True else: return False def Reset(self): self.MoveCounter.Reset() self.playerBoard.Reset() self.Timer.Increment(self.arcadeLevels[self.currentLevel] * 5) def GenerateLevel(self, moves): self.Reset() self.refBoard = self.LevelGenerator.GenerateLevel(moves) def Display(self): if "level" in self.currentScene: self.playerBoard.Display() self.refBoard.Display() self.MoveCounter.Display() self.Timer.Display() self.BackButton.Display() if self.Timer.OutofTime(): self.ChangeScene("arcade complete") elif self.currentScene == "arcade complete": self.playerBoard.Display() self.refBoard.Display() self.MoveCounter.Display() self.Timer.Display() self.arcadeOverMenu.Display() elif self.currentScene == "menu": self.mainMenu.Display() elif self.currentScene == "select menu": self.levelSelectMenu.Display() elif self.currentScene == "complete": self.playerBoard.Display() self.refBoard.Display() self.MoveCounter.Display() self.Timer.Display() # Task 3: Gray out what is behind it Look at processing docs, self.levelCompleteMenu.Display() elif self.currentScene == "settings": pass else: self.currentScene = "menu"
def Display(self): fill(0, 0, 0, 200) rect(600, 20, 1200, 3000) for Button in self.ButtonsList: Button.Display()
def Display(self): for Button in self.ButtonsList: Button.Display() fill(255) text('Select Level', 250, 40)