def __init__(self, root): self.root = root #Knapparnas-container self.menu = Frame(self.root) self.menu.pack() #Ny-omgång knappen self.newGameButton = Button(self.menu, height=1, width=20, text="Ny spelomgång") self.newGameButton.bind("<Button-1>", self.newGame) self.newGameButton.pack(side=LEFT) #highscore-knappen self.highscoreButton = Button(self.menu, height=1, width=20, text="Toggla Highscores") self.highscoreButton.bind("<Button-1>", self.toggleHighscore) self.highscoreButton.pack(side=LEFT) #Highscore-vyn self.highscoreView = Highscore(self.root, "highscores.txt") self.highscoreBool = False #Spel-vyn self.gameView = ChessBoard(self, self.root) self.gameView.container.pack()
def __init__(self, window, game_menu): self._window = window self._game_menu = game_menu self._font = settings.defaultFont self._highscore = Highscore() self._name = "" self._titletext = sf.Text("Game Over", self._font, 50) self._titletext_left = sf.Text("Game Over", self._font, 50) self._titletext_up = sf.Text("Game Over", self._font, 50) self._titletext_right = sf.Text("Game Over", self._font, 50) self._titletext_down = sf.Text("Game Over", self._font, 50) self._titletext_left.color = sf.Color.BLACK self._titletext_up.color = sf.Color.BLACK self._titletext_right.color = sf.Color.BLACK self._titletext_down.color = sf.Color.BLACK self._titletext.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,50) self._titletext_left.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2-1.5,50) self._titletext_up.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,50-1.5) self._titletext_right.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2+1.5,50) self._titletext_down.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,50+1.5) self._scoretext = sf.Text("Points "+str(self._game_menu._points), self._font, 50) self._enternametext = sf.Text("Enter Name!", self._font, 50) self._enternametext_left = sf.Text("Enter Name!", self._font, 50) self._enternametext_up = sf.Text("Enter Name!", self._font, 50) self._enternametext_right = sf.Text("Enter Name!", self._font, 50) self._enternametext_down = sf.Text("Enter Name!", self._font, 50) self._enternametext.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,250) self._enternametext_left.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2-1.5,250) self._enternametext_up.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,250-1.5) self._enternametext_right.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2+1.5,250) self._enternametext_down.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,250+1.5) self._enternametext_left.color = sf.Color.BLACK self._enternametext_up.color = sf.Color.BLACK self._enternametext_right.color = sf.Color.BLACK self._enternametext_down.color = sf.Color.BLACK self._nametext = sf.Text(self._name, self._font, 50) self._nametext_left = sf.Text(self._name, self._font, 50) self._nametext_up = sf.Text(self._name, self._font, 50) self._nametext_right = sf.Text(self._name, self._font, 50) self._nametext_down = sf.Text(self._name, self._font, 50) self._nametext.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,350) self._nametext_left.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2-1.5,350) self._nametext_up.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,350-1.5) self._nametext_right.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2+1.5,350) self._nametext_down.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,350+1.5) self._nametext_left.color = sf.Color.BLACK self._nametext_up.color = sf.Color.BLACK self._nametext_right.color = sf.Color.BLACK self._nametext_down.color = sf.Color.BLACK #backbutton self._okbutton = Button(sf.Vector2((self._window.size[0]-150)/2,(self._window.size[1]-50)), #position sf.Vector2(150,20), #size sf.Color.GREEN, #background color sf.Color.BLACK, #text color sf.Color.RED, #outline color 2, #outline thickness "OK", #lable self._font, #font 17) #text size
def enter(): global player, life, scoreLabel bg = Background() game_world.add_object(bg, game_world.layer_bg) player = Player() game_world.add_object(player, game_world.layer_player) life = Life() bg.target = player label = ui.Label("Score: 0", 35, get_canvas_height() - 55, 45, ui.FONT_2) label.color = (255, 127, 127) ui.labels.append(label) scoreLabel = label global highscore highscore = Highscore() global music_bg, wav_bomb, wav_item music_bg = load_music('background.mp3') wav_bomb = load_wav('explosion.wav') wav_item = load_wav('item.wav') game_world.isPaused = isPaused ready_game() global gameOverImage gameOverImage = load_image('game_over.png')
def end_game(self, player): """Call other methods to process game ending.""" self.score = Highscore(self.player1, self.player2) # self.score.write_highscore() self.set_game_status(False) print("WOW! Congra {} you won the game!".format(player.get_name())) self.histogram.print_histogram(self.player1, self.player2) self.score.write_file()
def setUp(self): """Run at the beginning of the test.""" self.game = Game() self.game.set_game_status(True) self.dice = Dice() self.player1 = Player(str, bool) self.player2 = Player(str, bool) self.computer_player = Player(str, bool) self.highscore = Highscore(self.player1, self.player2)
def setUp(self): """Run at the beginning of the test.""" self.game = Game() self.mock_player1 = Mock(spec=Player, name="player1", score=42, decision=False) self.mock_player2 = Mock(spec=Player, name="Computer", score=65, decision=True) self.assertIsInstance(self.mock_player1, Player) self.assertIsInstance(self.mock_player2, Player) self.score = Highscore(self.mock_player1, self.mock_player2)
def test_end_game(self): """Test end_game.""" histogram = Histogram() score = Highscore(self.game.player1, self.game.player2) self.game.set_game_status(False) self.assertIsInstance(histogram, Histogram) # self.assertFalse(self.game.get_game_status()) self.assertIsInstance(score, Highscore) # The folling two lines work find to test # the the method change-game.status to false # exp = self.player1 # self.game.end_game(exp) # However; # The followign method-call raise an error # and may need another tests typ! # score.write_file() <----- highscore = Highscore(self.game.player1, self.game.player2) highscore.write_file = MagicMock(name='write_file') highscore.write_file()
def enter(): global player, life, scoreStatic, scoreLabel bg = Background() game_world.add_object(bg, game_world.layer_bg) player = Player() game_world.add_object(player, game_world.layer_player) life = Life() global ball ball = Ball(400, 400, 1, 1) game_world.add_object(ball, game_world.layer_player) global wall wall = Wall() game_world.add_object(wall, game_world.layer_bg) bg.target = player global stage_number stage_number = 1 cw = get_canvas_width() ch = get_canvas_height() label = ui.Label("Score:", cw - 200, ch - 55, 36, ui.FONT_2) label.color = (255, 191, 127) ui.labels.append(label) scoreStatic = label label = ui.Label("0", cw - 200, ch - 100, 36, ui.FONT_2) label.color = (255, 191, 127) ui.labels.append(label) scoreLabel = label global highscore highscore = Highscore() global music_bg, wav_bomb, wav_item # music_bg = load_music('background.mp3') # wav_bomb = load_wav('explosion.wav') # wav_item = load_wav('item.wav') game_world.isPaused = isPaused ready_game() global gameOverImage
def __init__(self, window, game_menu): self._window = window self._game_menu = game_menu self._font = settings.defaultFont self._score = Highscore().getScore() #backbutton self._backbutton = Button( sf.Vector2(20, (self._window.size[1] - 50)), #position sf.Vector2(150, 20), #size sf.Color.GREEN, #background color sf.Color.BLACK, #text color sf.Color.RED, #outline color 2, #outline thickness "Back", #lable self._font, #font 17) #text size
def main(): player = AudioPlayer() player.play() tetris_environment = TetrisEnvironment() timer = 0 reward = 0 with keyboard.Listener(on_press=on_press, on_release=on_release) as listener: while not tetris_environment.gameover: if input_queue.qsize() > 0: key = input_queue.get() if key == 'q': print('Exit the GAME') break elif key == 'a' or key == '\x1b[D' or key == keyboard.Key.left: reward = tetris_environment.move_left() elif key == 'd' or key == '\x1b[C' or key == keyboard.Key.right: reward = tetris_environment.move_right() elif key == 's' or key == '\x1b[B' or key == keyboard.Key.down: reward = tetris_environment.drop() elif key == 'w' or key == '\x1b[A' or key == '.' or key == keyboard.Key.up: reward = tetris_environment.rotate_right() elif key == ',': reward = tetris_environment.rotate_left() draw_board(tetris_environment) print('Reward: {}'.format(reward)) if timer % FPS == 0: reward = tetris_environment.wait() draw_board(tetris_environment) print('Reward: {}'.format(reward)) timer += 1 time.sleep(1 / FPS) player.stop() print('GAME OVER') print('YOUR SCORE: {0}'.format(tetris_environment.score)) print('') highscore = Highscore() highscore.write(tetris_environment.score) print(highscore) exit(0)
def __init__(self): """Initialize instances from other classes.""" self.computer_controlar = False self.dice = Dice() # Changable value self.forbidden_face = 1 self.player1 = Player(str, bool) self.player2 = Player(str, bool) self.set_playing_now(self.player1) # Basically, player2 may be computer in case user decided. # However, computer_player object has been added to make the # code easier to read. Since computer controlled by another class. self.computer_player = Player("Computer", bool) self.computer_player.set_level("easy") self.score = Highscore(self.player1, self.player2) self.histogram = Histogram()
def __init__(self, root): self.root = root #Knapparnas-container self.menu = Frame(self.root) self.menu.pack() #Ny-omgång knappen self.newGameButton = Button(self.menu, height=1, width=20, text="Ny spelomgång") self.newGameButton.bind("<Button-1>", self.newGame) self.newGameButton.pack(side=LEFT) #highscore-knappen self.highscoreButton = Button(self.menu, height=1, width=20, text="Toggla Highscores") self.highscoreButton.bind("<Button-1>", self.toggleHighscore) self.highscoreButton.pack(side=LEFT) #Highscore-vyn/modulen self.highscoreView = Highscore(self.root, "highscores.txt") self.highscoreBool = False #Spel-vyn/modulen self.gameView = ChessBoard(self, self.root) self.gameView.container.pack() #Absolut noll dokumentation på tkinter.simpledialog. Denna ruta presenterar programmet. Ingen input är nödvändig. tkinter.simpledialog.askstring( "Info", "I detta spel rör du sig som en springare \npå ett shackbräde. Du får bara gå på \n varje ruta en gång och målet är att gå \nså många steg som möjligt. \n\nKlicka OK för att köra!" )
from sqare import Square from game import Game from highscore import Highscore import pygame import numpy as np from _thread import * import os SCREENSIZE = 905 hs = Highscore() hs.form() pygame.init() pygame.font.init() win = pygame.display.set_mode((SCREENSIZE + 400, SCREENSIZE)) test = Game(0, 0, 60, 200) back = Square(1000, 100, 0, 0, (100, 100, 100), test) fin = Square(1000, 350, 0, 0, (100, 100, 100), test) score = Square(1000, 600, 0, 0, (150, 80, 80), test) ext = Square(1255, 0, 0, 0, (100, 100, 100), Game(0, 0, 20, 50)) def end(x, game, win): if x: #print("reached end -- win") win.fill((255, 255, 255)) #s = "Gewonnen!! :)" #font = pygame.font.SysFont("comicsans", 80) #text = font.render(s, 1, (255,69,0)) #win.blit(text, (x,y)) for i in range(0, game.GAMESIZE):
pygame.font.init() clock = pygame.time.Clock() pygame.display.set_caption("TypeMaster") gameWidth = 1400 gameHeight = 800 spawnWordEvent = 25 moveWordEvent = 26 increaseSpeedEvent = 27 textArea = "" gameOver = False level = 1 gameScore = Score(int(gameWidth*0.15), gameHeight-50) gameHighscore = Highscore(int(gameWidth*0.72), gameHeight-50) win = pygame.display.set_mode((gameWidth, gameHeight)) font = pygame.font.SysFont("Comic Sans MS", 30) words = WordListMIT.listOfWords onScreenExplosions = [] sampleExplosion = Explosion(0, 0) bgMusic = BackgroundMusic("halo") wordsInPlay = [] spawnInterval = 2800 movePerMs = 15 pygame.time.set_timer(spawnWordEvent, spawnInterval)
def scorelist(self): self._highcontainer = DrawableContainer() self._score = Highscore().getScore() self._highcontainer.position = ((self._window.size[0] - 200) / 2, 0) self._titletext = sf.Text("Highscore", self._font, 50) self._titletext_left = sf.Text("Highscore", self._font, 50) self._titletext_left.position = (0 - 1.5, 0) self._titletext_left.color = sf.Color.BLACK self._titletext_up = sf.Text("Highscore", self._font, 50) self._titletext_up.position = (0, 0 - 1.5) self._titletext_up.color = sf.Color.BLACK self._titletext_right = sf.Text("Highscore", self._font, 50) self._titletext_right.position = (0 + 1.5, 0) self._titletext_right.color = sf.Color.BLACK self._titletext_down = sf.Text("Highscore", self._font, 50) self._titletext_down.position = (0, 0 + 1.5) self._titletext_down.color = sf.Color.BLACK self._highcontainer.add_element(self._titletext_left) self._highcontainer.add_element(self._titletext_up) self._highcontainer.add_element(self._titletext_right) self._highcontainer.add_element(self._titletext_down) self._highcontainer.add_element(self._titletext) for x in range(10): name = self._score[x]['name'] score = self._score[x]['score'] linename = sf.Text(name, self._font, 40) linename_left = sf.Text(name, self._font, 40) linename_left.color = sf.Color.BLACK linename_up = sf.Text(name, self._font, 40) linename_up.color = sf.Color.BLACK linename_right = sf.Text(name, self._font, 40) linename_right.color = sf.Color.BLACK linename_down = sf.Text(name, self._font, 40) linename_down.color = sf.Color.BLACK linescore = sf.Text(str(score), self._font, 40) linescore_left = sf.Text(str(score), self._font, 40) linescore_left.color = sf.Color.BLACK linescore_up = sf.Text(str(score), self._font, 40) linescore_up.color = sf.Color.BLACK linescore_right = sf.Text(str(score), self._font, 40) linescore_right.color = sf.Color.BLACK linescore_down = sf.Text(str(score), self._font, 40) linescore_down.color = sf.Color.BLACK self._highcontainer.add_element( linename_left, sf.Vector2(-200 - 1.5, (50 * x) + 50)) self._highcontainer.add_element( linename_up, sf.Vector2(-200, (50 * x) + 50 - 1.5)) self._highcontainer.add_element( linename_right, sf.Vector2(-200 + 1.5, (50 * x) + 50)) self._highcontainer.add_element( linename_down, sf.Vector2(-200, (50 * x) + 50 + 1.5)) self._highcontainer.add_element(linename, sf.Vector2(-200, (50 * x) + 50)) self._highcontainer.add_element( linescore_left, sf.Vector2(250 - 1.5, (50 * x + 50))) self._highcontainer.add_element( linescore_up, sf.Vector2(250, (50 * x + 50 - 1.5))) self._highcontainer.add_element( linescore_right, sf.Vector2(250 + 1.5, (50 * x + 50))) self._highcontainer.add_element( linescore_down, sf.Vector2(250, (50 * x + 50 + 1.5))) self._highcontainer.add_element(linescore, sf.Vector2(250, (50 * x + 50)))
name = input("Your name: ") level = input("easy, normal, hard: ") if level == "easy": while True: a, b, op, r, err = generate_quiz_easy() print(a, op, b, "=", r) chon = input("Y / N :") if chon == "y": if err == 0: print("Bingo") diem += 1 else: print("fail") print(name, diem) highscore = Highscore(name=name, diem=diem, level=level) highscore.save() break else: if err == 0: print("Fail") print(name, diem) highscore = Highscore(name=name, diem=diem, level=level) highscore.save() break else: print("Bingo") diem += 1 elif level == "normal": while True: