示例#1
0
 def test_make_crevasse(self):
     for i in range(1):
         crevasse.seed = i
         print(
             fort.add_forts(
                 resource.add_resources(
                     crevasse.make_crevasse(world.Map(101, 50)))).draw())
示例#2
0
 def test_mutate(self):
     m = world.Map(150, 50)
     m = ca.init_map(m, 0.45)
     print(m.draw())
     for i in range(3):
         m = ca.mutate(m, 5, 0)
         print("itr #{}".format(str(i)))
         print(m.draw())
     for ii in range(3):
         m = ca.mutate(m, 5, -1)
         print("itr #{}".format(str(3 + ii)))
         print(m.draw())
示例#3
0
def newgame():
    """Get player name and create new world"""
    global worldmap
    global player
    print "\n"
    while True:
        playername = raw_input("Enter your name: ")
        if len(playername) < 2:
            print "Name must be at least two characters long."
        else:
            player = characters.Player(playername)
            break
    worldmap = world.Map()
    print "Prepare to begin your journey..."
    raw_input("Press \"Enter\" to continue...")
示例#4
0
 def test_init(self):
     m = world.Map(8, 4)
     n = ca.init_map(m, 0.45)
     self.assertNotEqual(m.data, n.data)
示例#5
0
 def test_draw(self):
     m = world.Map(8, 4)
     print(m.draw())
示例#6
0
def main_loop(render, players_count, map_name):
    play_map = world.Map()
    play_map.load(map_path(map_name))

    players = []

    for i in xrange(players_count):
        player = Player()
        player.name = 'Player %d' % i
        players.append(player)

    keyboard_controllers = controllers.keyboard_controls()
    pygame.joystick.init()
    for i in xrange(pygame.joystick.get_count()):
        if i >= len(players):
            break
        j = pygame.joystick.Joystick(i)
        j.init()
        players[i].controller = controllers.Gamepad(j)

    for player in players:
        if player.controller is not None:
            continue
        player.controller = keyboard_controllers.next()

    for i, position in enumerate(play_map.player_starts):
        if i >= players_count:
            break
        tank = Tank(position, play_map)
        players[i].tank = tank

    for player in players:
        if player.tank is None:
            raise Exception("Not enough start points for players!")

    game_world = world.World(play_map, players)
    eventer = EventManager()

    clock = pygame.time.Clock()

    while 42:
        deltat = clock.tick(FRAMES)
        events = eventer.get_events()
        if eventer.game_stopped():
            stats = game_world.get_end_game_stats()
            render.draw_end_game_screen("You Gave Up! Why?", stats)
            break

        if eventer.toggled_full_screen():
            render.toggle_full_screen()

        game_state = game_world.tick(deltat, events)
        if game_state == GAME_OVER:
            stats = game_world.get_end_game_stats()
            render.draw_end_game_screen("GAME OVER. You've lost!", stats)
            break
        if game_state == GAME_WON:
            stats = game_world.get_end_game_stats()
            render.draw_end_game_screen("Yey! You've won!", stats)
            break
        render.draw(game_world.get_drawables())

    time.sleep(3)