Пример #1
0
    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()
Пример #2
0
    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
Пример #3
0
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')
Пример #4
0
    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()
Пример #5
0
    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)
Пример #6
0
    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)
Пример #7
0
    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()
Пример #8
0
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
Пример #9
0
    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
Пример #10
0
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)
Пример #11
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()
Пример #12
0
    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!"
        )
Пример #13
0
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):
Пример #14
0
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)
Пример #15
0
 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)))
Пример #16
0
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: