示例#1
0
def test_player_sink_an_opponent_ship():
    player1 = Player(1)
    player2 = Player(2)
    player1.add_opponent(player2)
    player2.board.place_ship(player2.ships[0], 2, 2)
    assert player1.take_turn(2, 2, 2)['sunk'] == False
    assert player1.take_turn(2, 3, 2)['sunk'] == True
示例#2
0
def test_player_take_turn_miss():
    player1 = Player(1)
    player2 = Player(2)
    player1.add_opponent(player2)
    player2.board.place_ship(player2.ships[0], 2, 2)
    assert player2.ships[0].length == 2
    player1.take_turn(2, 4, 2)
    assert player2.ships[0].length == 2
示例#3
0
def test_player_have_i_won():
    player1 = Player(1)
    player2 = Player(2)
    player2.ships.pop()
    player2.ships.pop()
    player1.add_opponent(player2)
    player2.board.place_ship(player2.ships[0], 2, 2)
    assert player1.take_turn(2, 2, 2)['winner'] == False
    assert player1.take_turn(2, 3, 2)['winner'] == True
示例#4
0
文件: window.py 项目: fryntiz/gMusic
    def __init__(self):
        app_builder = ApplicationWindow.builder
        app_builder.add_from_file("gui.glade")

        app_builder.connect_signals(Player())

        _switch_status = app_builder.get_object('switch_status')
        if Player().is_server_active():
            _switch_status.set_active(True)

        window = app_builder.get_object("mainWindow")
        window.show_all()
示例#5
0
def main():

    signal.signal(signal.SIGINT, signal_handler)

    _log = Logger('play_test', Level.INFO)

    try:
        _log.info('executing player tests...')

        _player = Player(Level.INFO)

        _player.play(Sound.BLIP)
        time.sleep(3.0)

        _player.play(Sound.ALARM)
        time.sleep(3.0)

        _log.info('test complete.')

    except KeyboardInterrupt:
        _log.warning('Ctrl-C caught: complete.')
    except Exception as e:
        _log.error('error in test: {}'.format(e))
        traceback.print_exc(file=sys.stdout)
        sys.exit(1)
    finally:
        sys.exit(0)
示例#6
0
    def _configure_default_features(self):
        '''
            Import dependencies and configure default features.
        '''
        self._log.warning('configure default features...')
        from lib.button import Button
        self._log.info('configuring button...')
        self._ros._button = Button(self._ros._config,
                                   self._ros.get_message_queue(),
                                   self._ros._mutex)

        from lib.bumpers import Bumpers
        self._log.info('configuring bumpers...')
        self._ros._bumpers = Bumpers(self._ros._config,
                                     self._ros.get_message_queue(), None,
                                     Level.INFO)

        from lib.infrareds import Infrareds
        self._log.info('configuring infrared trio...')
        self._ros._infrareds = Infrareds(self._ros._config,
                                         self._ros.get_message_queue(),
                                         Level.INFO)

        from lib.player import Sound, Player
        self._log.info('configuring player...')
        self._ros._player = Player(Level.INFO)

        self._log.warning('default features ready.')
示例#7
0
 def setup_game(self):
     player1_letter = input(
         "What letter would Player 1 like to user? (X or O)?: ").upper()
     if player1_letter not in ['X', 'O']:
         #NOTE the player won't see this as is
         print(
             'Invalid input! Automatically selecting X for Player 1 and O for Player 2'
         )
         player1_letter = 'X'
         player2_letter = 'O'
     else:
         print('Assigned %s to Player 1' % player1_letter)
         player2_letter = 'O' if player1_letter == 'X' else 'X'
         print('Assigned %s to Player 2' % player2_letter)
     self.p1 = Player('Player 1', player1_letter, self.size)
     self.p2 = Player('Player 2', player2_letter, self.size)
示例#8
0
def test_player_incoming_miss():
    player1 = Player(1)
    assert player1.incoming(2, 2) == {
        'hit': False,
        'sunk': False,
        'winner': False
    }
示例#9
0
 def setUp(self):
   card_one = Card("Heart", "5", 5)
   card_two = Card("Diamond", "Jack",11)
   card_three = Card("Spade", "7", 7)
   card_four = Card("Spade", "Ace", 14)
   cards = [card_one, card_two, card_three, card_four]
   self.deck = Deck(cards)
   self.player1 = Player("John", self.deck)
   card_five = Card("Heart", "8", 8)
   card_six = Card("Diamond", "Jack",11)
   card_seven = Card("Spade", "3", 3)
   card_eight = Card("Club", "Queen", 12)
   cards2 = [card_five, card_six, card_seven, card_eight]
   self.deck2 = Deck(cards2)
   self.player2 = Player("John", self.deck2)
   self.turn = Turn(self.player1, self.player2)
示例#10
0
    def reset(self):
        self.level = 1
        self.xp = 1
        self.hp = 10
        self.max_hp = 10
        self.attack = 1
        self.prev_level = 1
        self.high_score_current = self.score_display.score_read()
        self.player = Player(self.hp, self.attack, self.max_hp,
                             self.display_width, self.display_height,
                             self.health_bar, pygame)
        self.crashed = False
        self.enemies = []
        self.point = 0
        self.xp_new = 100
        self.enemy_spawn_time = 5
        self.multiplier = 1
        self.items = []

        for count in range(0, 5):
            test_enemy = Enemy(random.randint(0, self.display_width),
                               random.randint(0, self.display_height),
                               self.health_bar, pygame, self.multiplier)
            self.enemies.append(test_enemy)

        self.add_enemy()
示例#11
0
    def initialize_players(self):
        if self.lan_mode and len(self.players) < self.play_num:
            self.master.master.after(1000, self.initialize_players)
        else:
            # Play num in joined mode is 0
            for i in range(self.play_num):
                pl = Player(self.players[i])
                pl.draw_letters(self.bag)
                self.players.append(pl)

                # If the game is against a computer, no need for the second
                # iteration because its class is different
                if self.comp_mode:
                    self.opponent = AIOpponent()
                    self.opponent.draw_letters(self.bag)
                    self.players.append(self.opponent)

                    break

            # Deletes the name strings
            del self.players[:self.play_num]

            if self.lan_mode:
                self.queue.put(self.players)

            self.init_turn()
示例#12
0
 def __init__(self):
     """
     Initiates a Game object with the necessary features
     """
     self.dealer = Dealer(self)  # The dealer
     self.player = Player(
         self
     )  # The players: eventually change this to a list of players to allow for more than one
示例#13
0
 def on_scene_enter(self):
     #glEnable(GL_POINT_SMOOTH)
     #glEnable(GL_TEXTURE_2D)
     self.player = Player()
     self.players = [self.player]
     self.dynamic.append(self.player)
     self.last_lead = self.player.position = self.campos = self.cam_spline.get_point(0)
     clock.schedule(self.update)
 def setUp(self):
     card_one = Card("Heart", "5", 5)
     card_two = Card("Diamond", "Jack", 11)
     card_three = Card("Spade", "7", 7)
     card_four = Card("Spade", "Ace", 14)
     cards = [card_one, card_two, card_three, card_four]
     self.deck = Deck(cards)
     self.player = Player("John", self.deck)
示例#15
0
def test_player_incoming_hit():
    player1 = Player(1)
    player1.board.place_ship(player1.ships[0], 2, 2)
    assert player1.incoming(2, 2) == {
        'hit': True,
        'sunk': False,
        'winner': False
    }
示例#16
0
 def test_player_updates_play_state(self):
     player = Player()
     # assert default player state
     assert player.in_game is True
     # assert we can set player to inactive
     player.in_game = False
     # assert that the player state has changed
     assert player.in_game is False
示例#17
0
 def __init__(self, is_prod=False):
     pygame.init()
     inf = pygame.display.Info()
     pygame.mouse.set_visible(False)
     flags = pygame.FULLSCREEN if is_prod else pygame.RESIZABLE
     window = pygame.display.set_mode([inf.current_w, inf.current_h], flags)
     self.player = Player()
     self.text = MirrorText('', window)
     self.is_running = False
示例#18
0
 def startGame(self):
     self.player = Player()
     self.enemies = []
     self.amountOfEnemies = 0
     self.spawnEnemy()
     self.clock = pygame.time.Clock()
     self.timer = 0
     self.enemyTimer = 0
     self.timeUntilEnemySpawns = 2000
     self.gameState = "GAME"
示例#19
0
文件: db.py 项目: doylezdead/phase10
def new_player(session, game_id):
    game = get_game(session, game_id)
    num = len(get_players(session, game_id))
    new_player = Player(game_id=game_id, player_id=num)
    print(new_player.__dict__)
    session.add(new_player)
    session.flush()
    pid = new_player.player_id
    game.ac += 1
    session.commit()
    return pid
示例#20
0
 def __init__(self, pnames):
     """
     :param pnames: An Array. Name of the players as Strings
     """
     self.board = Board()
     self.players = tuple([Player(pn, self.board, self) for pn in pnames])
     self.plookup = {p.getId(): p for p in self.players}
     self.lastRoll = None
     self.p = None
     self.getFirstPlayer()
     self.state = 0
示例#21
0
    def __init__(self):
        deck = Deck.shuffle()
        self.trump = deck[-1]

        hand1 = deck[:HAND_SIZE]
        deck = deck[HAND_SIZE:]

        hand2 = deck[:HAND_SIZE]

        self.deck = deck[HAND_SIZE:]
        self.ai = AIPlayer(self, hand1)
        self.player = Player(self, hand2)
        self.set_first_turn()
示例#22
0
    def main(self):
        pygame.init()

        self.DISPLAYSURF = pygame.display.set_mode(
            (WINDOW_WIDTH, WINDOW_HEIGHT))

        pygame.display.set_caption('Hello World!')
        self.playerImg = pygame.image.load('./pics/player.png')
        self.appleImg = pygame.image.load('./pics/apple.png')
        self.player = Player()
        self.apple = Apple()

        self.score = 0
        self.clock = pygame.time.Clock()

        # Text
        self.font = pygame.font.Font('freesansbold.ttf', 16)
        self.text = self.font.render('Score: ' + str(self.score), True, white,
                                     black)
        self.textRect = self.text.get_rect()
        self.textRect.x = 1200
        self.textRect.y = 700

        while True:

            # Event Handler
            for event in pygame.event.get():
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_LEFT:
                        self.player.moveLeft()

                    if event.key == pygame.K_UP:
                        self.player.moveUp()

                    if event.key == pygame.K_DOWN:
                        self.player.moveDown()

                    if event.key == pygame.K_RIGHT:
                        self.player.moveRight()

                    if event.key == pygame.K_ESCAPE:
                        self.die()

                if event.type == QUIT:
                    self.die()

            self.player.update()
            self.checkCollision()
            self.draw()
            pygame.display.update()
            time.sleep(50.0 / 1000.0)
示例#23
0
def main():

    signal.signal(signal.SIGINT, signal_handler)

    try:
        print('all_tests         :' + Fore.CYAN +
              ' INFO  : executing tests...' + Style.RESET_ALL)

        _player = Player(Level.INFO)

        subprocess.call("ads_test.py", shell=True)
        _player.play(Sound.BLIP)

        subprocess.call("batterycheck_test.py", shell=True)
        _player.play(Sound.BLIP)

        subprocess.call("rgbmatrix_test.py", shell=True)
        _player.play(Sound.BLIP)

        subprocess.call("button_test.py", shell=True)
        _player.play(Sound.ALARM)

        subprocess.call("bumpers_test.py", shell=True)
        _player.play(Sound.ALARM)

        subprocess.call("infrareds_test.py", shell=True)
        _player.play(Sound.ALARM)

        subprocess.call("scanner_test.py", shell=True)
        _player.play(Sound.ALARM)

        #       _player.play(Sound.ALARM)
        #       subprocess.call("motors_test.py", shell=True)

        time.sleep(5.0)
        print('all_tests         :' + Fore.CYAN + ' INFO  : test complete.' +
              Style.RESET_ALL)

    except KeyboardInterrupt:
        print('all_tests         :' + Fore.RED + Style.BRIGHT +
              ' INFO  : Ctrl-C caught: complete.' + Style.RESET_ALL)
    except Exception as e:
        print('all_tests         :' + Fore.RED + Style.BRIGHT +
              ' ERROR : error in test: {}'.format(e) + Style.RESET_ALL)
        traceback.print_exc(file=sys.stdout)
        sys.exit(1)

    finally:
        sys.exit(0)
示例#24
0
def main():

    signal.signal(signal.SIGINT, signal_handler)

    _log = Logger("scanner", Level.INFO)
    _log.info(Fore.CYAN + Style.BRIGHT + ' INFO  : starting test...')
    _log.info(Fore.YELLOW + Style.BRIGHT + ' INFO  : Press Ctrl+C to exit.')

    try:
        _i2c_scanner = I2CScanner(Level.WARN)
        _addresses = _i2c_scanner.getAddresses()
        hexAddresses = _i2c_scanner.getHexAddresses()
        _addrDict = dict(list(map(lambda x, y:(x,y), _addresses, hexAddresses)))
        for i in range(len(_addresses)):
            _log.debug(Fore.BLACK + Style.DIM + 'found device at address: {}'.format(hexAddresses[i]))

        vl53l1x_available = ( 0x29 in _addresses )
        ultraborg_available = ( 0x36 in _addresses )

        if not vl53l1x_available:
            raise OSError('VL53L1X hardware dependency not available.')
        elif not ultraborg_available:
            raise OSError('UltraBorg hardware dependency not available.')
    
        _log.info('starting scan...')
        _player = Player(Level.INFO)

        _loader = ConfigLoader(Level.INFO)
        filename = 'config.yaml'
        _config = _loader.configure(filename)

        _lidar = Lidar(_config, _player, Level.INFO)
        _lidar.enable()
        values = _lidar.scan()

        _angle_at_min = values[0]
        _min_mm       = values[1]
        _angle_at_max = values[2]
        _max_mm       = values[3]
        _log.info(Fore.CYAN + Style.BRIGHT + 'min. distance at {:>5.2f}°:\t{}mm'.format(_angle_at_min, _min_mm))
        _log.info(Fore.CYAN + Style.BRIGHT + 'max. distance at {:>5.2f}°:\t{}mm'.format(_angle_at_max, _max_mm))
        time.sleep(1.0)
        _lidar.close()
        _log.info(Fore.CYAN + Style.BRIGHT + 'test complete.')


    except Exception:
        _log.info(traceback.format_exc())
        sys.exit(1)
示例#25
0
def train():

    env = Environment()
    player = Player()

    for episode in range(2):
        env.start()

        while True:
            actions = player.act(env.state)
            reverd = env.apply(actions)
            player.learn(reverd)
            if env.done:
                break
    return
示例#26
0
    def __init__(self):
        pygame.init()
        self.display_width = 790
        self.display_height = 740
        self.level = 1
        self.xp = 1
        self.hp = 10
        self.max_hp = 10
        self.attack = 1
        self.talent_point = 0
        self.prev_level = 1
        self.name = "test name"
        self.score_display = ScoreScreen()
        self.high_score_current = self.score_display.score_read()
        self.is_paused = False
        pygame.display.set_caption('Taemasu v0.1')
        self.health_bar = pygame.image.load('lib/img/healthbar.png')
        self.player = Player(self.hp, self.attack, self.max_hp,
                             self.display_width, self.display_height,
                             self.health_bar, pygame)
        self.game_display = pygame.display.set_mode((1200, 1200))
        self.white = (255, 255, 255)
        self.clock = pygame.time.Clock()
        self.crashed = False
        self.game_display.fill(self.white)
        self.enemies = []
        self.sword = pygame.image.load('lib/img/sword.png')
        self.map = Map('maptest.txt', self.display_width, self.display_height,
                       pygame)
        pygame.font.init()  # you have to call this at the start,
        # if you want to use this module.
        self.myfont = pygame.font.SysFont('Comic Sans MS', 30)
        self.point = 0
        self.xp_new = 100
        self.background = pygame.image.load('lib/img/background4.png')
        self.enemy_spawn_time = 2
        self.multiplier = 1
        self.start = True
        self.items = []
        self.exiting = False

        for count in range(0, 5):
            test_enemy = Enemy(random.randint(0, self.display_width),
                               random.randint(0, self.display_height),
                               self.health_bar, pygame, self.multiplier)
            self.enemies.append(test_enemy)

        self.add_enemy()
示例#27
0
 def _get_name_from_user(self):
     """Run the code to get the user's desired character/save name."""
     self.ENTER_CHARACTER_NAME.display()
     if self.game.keys.text_input:  # Only allow the user to continue with a name entered.
         if self.game.keys.enter or self.game.keys.numpad_enter:
             self.game.keys.stop_text_input()
         if self.game.mouse.is_in(553, 404, 727, 442):
             self.CONTINUE_BUTTON_FLARED.display()
             if self.game.mouse.left:
                 self.game.keys.stop_text_input()
     Text(self.game.keys.text_input, Font.SUNNI, Color.BLACK,
          (370, 338)).display()
     if not self.game.keys.receiving_text_input:
         self.game.player = Player(self.game, self.game.keys.text_input)
         character_name_text = f"Character name: {self.game.player.name}"
         self.player_name_text = Text(character_name_text, Font.DEFAULT,
                                      Color.MILD_BLUE, (10, 10))
示例#28
0
def getTeam(team = None,verbose = True):
    teams = ['ari','atl','bal','buf','car','chi','cin','cle','dal', 'den', 'det', 'gb', 'hou', 'ind','jax','kc', 'lac', 'lar', 'lv','mia','min','ne','no','nyg','nyj','phi','pit','sea','sf','tb','ten','was']

    gotTeam = False

    if team == None:
        team = ""
        while (not gotTeam):
            try:
                team = input("Enter a team abbreviation\n")
                team = team.lower()
                if team == 'q' or team == '^C':
                    raise Exception('q')
                elif team not in teams:
                    raise Exception('bad')
                else:
                    gotTeam = True
            except Exception as e:
                if str(e) == 'q':
                    sys.exit(0)
                else:
                    print("Invalid team name")

        team = team.upper()
    
    filename = 'data/py_objects/'+team+'.json'
    data = []
    with open(filename) as json_file:
        data = json.load(json_file)

    
    players = []
    for d in data:
        p = Player(d)
        players.append(p)

    teamName = team
    team = Team(teamName, players)
    if verbose:
        team.printStats()
        team.printLineup()

    return team
示例#29
0
 def __init__(self, game_map, screen):
     """
     Maze grid, from Grid class which import external file.
     """
     self.maze_grid = copy.deepcopy(game_map.grid)
     self.screen = screen
     self.guardian = Guardian(game_map)
     self.player = Player(game_map)
     self.needle = Item(game_map, self.guardian)
     self.tube = Item(game_map, self.guardian)
     self.ether = Item(game_map, self.guardian)
     self.bag = Bag()
     self.objects_list = [
         game_map, self.player, self.guardian, self.needle, self.tube,
         self.ether, self.bag
     ]
     self.item_1 = (6, 21)
     self.item_2 = (8, 21)
     self.item_3 = (10, 21)
     self.bag_items = [self.item_1, self.item_2, self.item_3]
     self.floor = None
     self.wall = None
     self.macgyver = None
     self.guard = None
     self.exit_tile = None
     self.exit_open = None
     self.needle_img = None
     self.tube_img = None
     self.ether_img = None
     self.empty_bag = None
     self.item_bag = None
     self.seringue_img = None
     self.splash1 = None
     self.splash2 = None
     self.splash3 = None
     self.rip = None
     self.bag_font = None
     self.text_full = None
     self._running = True
     self.list_guardian_animation = []
 def on_scene_enter(self):
     clock.schedule(self.update)
     
     self.player = Player()
     self.players = [self.player]
     self.generate_level()
     
     # set up collision detection
     self.coll_detector = collision.CollisionDetector()
     
     # collisions between:
     # flock-player, player-bullets, player-objstacles, bulltets-obstacles, bullets-flock
     #self.coll_detector.register_once(self, group_name1, group_name2, group1, group2, coll_strategy, type_tuple, func):
     self.coll_detector.register_group('player', self.players)
     self.coll_detector.register_group('flocks', self.flocks)
     self.coll_detector.register_group('obstacles', self.obstacles)
     self.coll_detector.register_group('enemies', self.enemies)
     self.coll_detector.register_group('bullets', self.bullets)
     self.coll_detector.register_pair('player', 'flocks', PlayerFlockCollisionStrategy(self))
     self.coll_detector.register_pair('player', 'bullets', PlayerBulletsCollisionStrategy(self))
     self.coll_detector.register_pair('player', 'obstacles', PlayerObstaclesCollisionStrategy(self))
     self.coll_detector.register_pair('bullets', 'obstacles', BulletsObstaclesCollisionStrategy(self))
     self.coll_detector.register_pair('flocks', 'bullets', FlockBulletsCollisionStrategy(self))
     
     #self.coll_detector.register_once('player', 'flocks', self.players, self.flocks, PlayerFlockCollisionStrategy(self), tuple(), None):
     
     # enemy
     #scene, fire_rate, position, orientation)
     self.enemies.append( Enemy(self, 1, Vec3(300, 10), Vec3(0, 1) * 100.0) )
     self.enemies.append( Enemy(self, 0.1, Vec3(10, 200), Vec3(1, -0.1) * 300.0) )
     self.enemies.append( Enemy(self, 1, Vec3(500, 10), Vec3(0, 1) * 200) )
     
     p = Polygon()
     p.add_vertex(400, 400)
     p.add_vertex(550, 400)
     p.add_vertex(550, 420)
     p.add_vertex(400, 450)
     self.obstacles.append(p)