def test_updateScores():
    """
    GIVEN a Game model and Player models
    WHEN a score is updated
    THEN check scores are updated correctly for each player and the answer count increases
    """
    new_game = Game('1234', ["-37.2236053,145.929006"], 5)
    player_one = Player('Sam')
    player_two = Player('Dan')
    player_three = Player('Mo')
    new_game.addPlayer(player_one)
    new_game.addPlayer(player_two)
    new_game.addPlayer(player_three)
    new_game.calcPlayerCount()
    new_game.updateScores("Mo", 300)
    new_game.updateScores("Sam", 600)
    new_game.updateScores("Dan", 900)
    assert new_game.pin == '1234'
    assert new_game.arrayOfPlayers == [player_one, player_two, player_three]
    assert new_game.scores == {"Sam": 600, "Dan": 900, "Mo": 300}
    assert new_game.round == 0
    assert new_game.totalRounds == 5
    assert new_game.playerCount == 3
    assert new_game.started == False
    assert new_game.randomLocations == ["-37.2236053,145.929006"]
    assert new_game.answerCount == 3
Beispiel #2
0
def test_addScore():
    """
    GIVEN a Player model
    WHEN a Player's score is updated
    THEN check the score has been updated
    """
    new_player = Player('Sam')
    new_player.addScore(300)
    assert new_player.score == 300
Beispiel #3
0
def test_addLatestLocation():
    """
    GIVEN a Player model
    WHEN a Player's location coordinates are updated
    THEN check the score has been updated
    """
    new_player = Player('Sam')
    new_player.addLatestLocation('40.7376767', '-73.9918385')
    assert new_player.lat == '40.7376767'
    assert new_player.long == '-73.9918385'
Beispiel #4
0
    def player_hit(self, player: Player):
        if player.state is Player.State.EXPLODING or player.state is Player.State.DEAD:
            return
        for m in pygame.sprite.spritecollide(player, self.enemy_missiles,
                                             False):
            if m.state is Missile.State.ALIVE:
                player.get_hit(m)
                m.active = False
                m.set_state(Missile.State.EXPLODING)
                self.hits += 1

                SoundManager.sound_player_hit()
Beispiel #5
0
 def __init__(self, screen, stars, clock):
     self.screen = screen
     self.stars = stars
     EnemyMissile.init()
     PlayerMissile.init()
     Rocket.init()
     Enemy.init()
     Player.init()
     SecondPlayer.init()
     self.clock = clock
     self.enemies_wrapper = None
     self.missile_wrapper = None
     self.player1 = None
     self.player2 = None
     self.huds = None
     self.player = None
     self.player1 = None
     self.player2 = None
Beispiel #6
0
def test_new_player():
    """
    GIVEN a Player model
    WHEN a new Player is created
    THEN check the name, score, lat and long are defined correctly
    """
    new_player = Player('Sam')
    assert new_player.name == 'Sam'
    assert new_player.score == 0
    assert new_player.lat == 0
    assert new_player.long == 0
def test_calcPlayerCount():
    """
    GIVEN a Game model and Player models
    WHEN a player is added to a game
    THEN check playerCount is calculated based on the items in arrayOfPlayers
    """
    new_game = Game('1234', ["-37.2236053,145.929006"], 5)
    player_one = Player('Sam')
    player_two = Player('Dan')
    player_three = Player('Mo')
    new_game.addPlayer(player_one)
    new_game.addPlayer(player_two)
    new_game.addPlayer(player_three)
    new_game.calcPlayerCount()
    assert new_game.pin == '1234'
    assert new_game.arrayOfPlayers == [player_one, player_two, player_three]
    assert new_game.scores == {"Sam": 0, "Dan": 0, "Mo": 0}
    assert new_game.round == 0
    assert new_game.totalRounds == 5
    assert new_game.playerCount == 3
    assert new_game.started == False
    assert new_game.randomLocations == ["-37.2236053,145.929006"]
    assert new_game.answerCount == 0
def test_startGame():
    """
    GIVEN a Game model and Player models
    WHEN a game is started
    THEN check count of players, change the started flag to 'true' and increment the round
    """
    new_game = Game('1234', ["-37.2236053,145.929006"], 5)
    player_one = Player('Sam')
    player_two = Player('Dan')
    player_three = Player('Mo')
    new_game.addPlayer(player_one)
    new_game.addPlayer(player_two)
    new_game.addPlayer(player_three)
    new_game.startGame()
    assert new_game.pin == '1234'
    assert new_game.arrayOfPlayers == [player_one, player_two, player_three]
    assert new_game.scores == {"Sam": 0, "Dan": 0, "Mo": 0}
    assert new_game.round == 1
    assert new_game.totalRounds == 5
    assert new_game.playerCount == 3
    assert new_game.started == True
    assert new_game.randomLocations == ["-37.2236053,145.929006"]
    assert new_game.answerCount == 0
def test_addPlayer():
    """
    GIVEN a Game model and Player model
    WHEN a player is added to a game
    THEN check the player is added to the arrayOfPlayers
    """
    new_player = Player('Sam')
    new_game = Game('1234', ["-37.2236053,145.929006"], 5)
    new_game.addPlayer(new_player)
    assert new_game.pin == '1234'
    assert new_game.arrayOfPlayers == [new_player]
    assert new_game.scores == {"Sam": 0}
    assert new_game.round == 0
    assert new_game.totalRounds == 5
    assert new_game.playerCount == 0
    assert new_game.started == False
    assert new_game.randomLocations == ["-37.2236053,145.929006"]
    assert new_game.answerCount == 0
Beispiel #10
0
 def player_prefab(self, t=1):
     if t == 1:
         return Player(pygame.Rect(self.screen.get_width()/2 + 80, self.screen.get_height() - 60, 40, 40), 9)
     else:
         return SecondPlayer(pygame.Rect(self.screen.get_width()/2 - 80, self.screen.get_height() - 65, 40, 40), 9)