Esempio n. 1
0
def get_game_variables(consts):
    # Player
    fighter_component = Fighter(hp=30, defense=2, power=5)
    inventory_comp = Inventory(26)
    level_comp = Level()
    player = Entity(0,
                    0,
                    '@',
                    tcod.white,
                    'Player',
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_comp,
                    level=level_comp)
    entities = [player]

    # Game Map
    game_map = GameMap(consts['map_width'], consts['map_height'])
    game_map.make_map(consts['max_rooms'], consts['room_min'],
                      consts['room_max'], consts['map_width'],
                      consts['map_height'], player, entities,
                      consts['max_monsts_room'], consts['max_items_room'])

    # Game State
    game_state = GameStates.PLAYER_TURN

    # Message Log
    message_log = MessageLog(consts['msg_x'], consts['msg_width'],
                             consts['msg_height'])

    return player, entities, game_map, message_log, game_state
def get_game_variables(constants):
    fighter_component = Fighter(hp=100, defense=1, power=2)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()

    #Create a player entity for the player
    player = Entity(0, 0, '@', libtcod.white, 'Player', blocks=True, render_order=RenderOrder.ACTOR,
                    fighter=fighter_component, inventory=inventory_component, level=level_component,
                    equipment=equipment_component)
    entities = [player]

    #Give a starting weapon - a dagger - to the player
    equippable_component = Equippable(EquipmentSlots.MAIN_HAND, power_bonus=2)
    dagger = Entity(0, 0, '-', libtcod.sky, 'Dagger', equippable=equippable_component)
    player.inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'], constants['room_max_size'],
                      constants['map_width'], constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'], constants['message_width'], constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 3
0
def get_game_variables(constants):
    fighter_component = Fighter(hp=30, defence=2, power=5)

    inventory_component = Inventory(26)
    player = Entity(0,
                    0,
                    '@',
                    libtcod.white,
                    'Player',
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component)
    entities = [player]

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities,
                      constants['max_monsters_per_room'],
                      constants['max_items_per_room'])

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 4
0
def get_game_variables(constants):
    # Entities
    fighter_component = Fighter(hp=10000,
                                defense=1,
                                strength=200,
                                dexterity=0,
                                intelligence=0,
                                charisma=0)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    player = Entity(0,
                    0,
                    '@',
                    libtcodpy.white,
                    'Player',
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component,
                    equipment=equipment_component)
    entities = [player]

    for itm in range(0, 25):
        item_component = Item(use_function=heal, amount=40)
        item = Entity(0,
                      0,
                      '!',
                      libtcodpy.violet,
                      'Healing Potion',
                      render_order=RenderOrder.ITEM,
                      item=item_component)
        player.inventory.add_item(item)

    equippable_component = Equippable(EquipmentSlots.MAIN_HAND,
                                      strength_bonus=2)
    dagger = Entity(0,
                    0,
                    '-',
                    libtcodpy.sky,
                    'Dagger',
                    equippable=equippable_component)
    player.inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)

    # Game Map
    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities)

    # Message
    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
def get_game_variables(constants):
    player = playerships.player_cruiser()
    targeting_cursor = entity.Entity(
        0,
        0,
        '#',
        'yellow',
        'TargetingCursor',
        blocks=False,
        render_order=RenderOrder.INACTIVE_TARGETING)
    entities = [player, targeting_cursor]

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_asteroids'],
                      constants['max_asteroid_radius'], entities,
                      constants['max_enemies_per_screen'],
                      constants['max_items_per_screen'],
                      constants['max_stars_per_screen'])

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 6
0
def get_game_variables(config):
    fighter_component = Fighter(hp=100, defense=2, power=4)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()

    player = Entity(0,
                    0,
                    '@',
                    libtcod.white,
                    'Player',
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component,
                    equipment=equipment_component)
    entities = [player]

    game_map = GameMap(config)
    game_map.make_map(player, entities)

    message_log = MessageLog(config)

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
def get_game_variables(constants):
    """Initialize game variables."""
    # === Entities ===
    fighter_component = Fighter(hp=100, defense=1, power=3)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    player = Entity(0, 0, '@', libtcod.lightest_grey, 'Player', blocks=True, render_order=RenderOrder.ACTOR,
                    fighter=fighter_component, inventory=inventory_component, level=level_component,
                    equipment=equipment_component, description='You.')
    entities = [player]

    equippable_component = Equippable(**dagger['kwargs'])
    char, color, name = dagger['entity_args']
    starting_weapon = Entity(0, 0, char, color, name, render_order=RenderOrder.ITEM,
                            equippable=equippable_component, description=dagger['description'])

    player.inventory.add_item(starting_weapon)
    player.equipment.toggle_equip(starting_weapon)

    # === Game map ===
    game_map = GameMap(constants['map_width'], constants['map_height'],
                        constants['room_min_size'], constants['room_max_size'])
    dungeon_type = Tunnel
    game_map.make_map(dungeon_type, player, entities)

    # === Message log ===
    message_log = MessageLog(constants['message_x'], constants['message_width'], constants['message_height'])

    # === Game state ===
    game_state = GameStates.PLAYER_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 8
0
def get_game_variables():
    fighter_component = Fighter(hp=100, defense=1, power=2)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    player = Entity(name="Player", entity_type=EntityType.PLAYER, x=const.SCREEN_WIDTH // 2,
                    y=const.SCREEN_HEIGHT // 2, glyph=ord('@'),
                    fg=(255, 255, 255), blocks=True, fighter=fighter_component,
                    inventory=inventory_component, level=level_component, equipment=equipment_component)

    equippable_component = Equippable(EquipmentSlots.MAIN_HAND, power_bonus=2)
    dagger = Entity("Dagger", EntityType.ITEM, 0, 0, ord('-'), fg=tcod.sky, equippable=equippable_component)
    player.inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)

    dungeon = {}
    game_map = GameMap(const.MAP_WIDTH, const.MAP_HEIGHT)
    game_map.make_map(const.MAX_ROOMS, const.ROOM_MIN_SIZE, const.ROOM_MAX_SIZE,
                      const.MAP_WIDTH, const.MAP_HEIGHT, player)
    game_map.entities.append(player)
    dungeon.update({game_map.dungeon_level: game_map})

    message_log = MessageLog(0, const.LOG_WIDTH, const.LOG_HEIGHT)

    game_state = GameState.PLAYER_TURN

    camera = Camera(0, 0, const.VIEWPORT_WIDTH - 1, const.VIEWPORT_HEIGHT - 1)

    current_level = 1

    return player, dungeon, message_log, game_state, current_level, camera
Esempio n. 9
0
def get_game_variables(constants):
    fighter_component = Fighter(hp=100, defense=1, power=2)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    skill_list_component = SkillList()
    learnable_skills_component = ['Shoulder Charge', 'Cloak of Quills', 'Throw Rock']

    player = Entity(0, 0, CustomTile.PLAYER0, libtcod.white, 'Player', blocks=True, render_order=RenderOrder.ACTOR,
                    fighter=fighter_component, inventory=inventory_component, level=level_component,
                    equipment=equipment_component, skill_list=skill_list_component,
                    learnable_skills=learnable_skills_component)
    entities = [player]

    equippable_component = Equippable(EquipmentSlots.MAIN_HAND, power_bonus=2)
    sharp_rock = Entity(0, 0, CustomTile.SHARP_ROCK, libtcod.sky, 'Sharp Rock', equippable=equippable_component)
    player.inventory.add_item(sharp_rock)
    player.equipment.toggle_equip(sharp_rock)

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'], constants['room_max_size'],
                      constants['map_width'], constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'], constants['message_width'], constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
def get_game_variables():
    screen: pygame.display = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
    constants = get_constants()
    pygame.display.set_caption(constants['title'])
    
    manager = UIManager(width=constants['screen_width'], height=constants['screen_height'],
        main_menu_rect=constants['main_menu_rect'],
        message_log_rect=constants['message_log_rect'], theme=constants['theme1'])

    fighter_component = Fighter(hp=constants['start_hp'], defense=constants['start_def'], power=constants['start_power'])
    inventory_component = Inventory(constants['start_inventory'])
    player = Entity(x=constants['map_width'] // 2, y=constants['map_height'] // 2, name='player',
        sprite_type='player', dead_sprite_type='bones',
        render_order=RenderOrder.ACTOR, fighter=fighter_component, inventory=inventory_component)
    
    entities = [player]

    screen_health_bar = HealthBar(name=player.name, hp=player.fighter.hp, max_hp=player.fighter.max_hp,
        bg_color=constants['health_bar_bg_color'], fg_color=constants['health_bar_fg_color'],
        rect=constants['health_bar_rect'])

    entity_info = EntityInfo(constants['entity_info_rect'])

    map_surf = MapSurface(constants['map_rect'], constants['sprites'])

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(player, entities, constants['max_monsters_per_room'],
            constants['max_items_per_room'])

    camera = Camera(game_map, player, constants['camera_width'], constants['camera_height'])

    return screen, manager, screen_health_bar, entity_info, player, entities, game_map, map_surf, camera
Esempio n. 11
0
def get_game_variables(constants):
    fighter_component = Fighter(hp=100, defense=1, power=4)
    inventory_component = Inventory(26)
    level_component = Level()
    player = Entity(0,
                    0,
                    '@',
                    libtcod.white,
                    "Player",
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component)
    entities = [player]

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 12
0
def get_game_variables(constants):
    fighter_component = Fighter(hp=100, str=3, dex=3)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    death_component = Death(kill_player)
    player = Entity(0, 0, '@', libtcod.white, 'Player', blocks=True, render_order=RenderOrder.ACTOR,
                    fighter=fighter_component, inventory=inventory_component, level=level_component,
                    equipment=equipment_component, death=death_component)

    entities = [player]

    dagger = generate_weapon('dagger', 0, 0)
    player.inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)

    potion = generate_item('healing_potion', 0, 0)
    player.inventory.add_item(potion)

    game_map = GameMap(constants['map_width'], constants['map_height'], constants['version'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'], constants['room_max_size'],
                      constants['map_width'], constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'], constants['message_width'], constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 13
0
def get_game_variables(constants):
	fighter_component = Fighter(hp=100, defense=1, power=2)
	inventory_component = Inventory(26)
	level_component = Level()
	equipment_component = Equipment()
	player = Entity(0, 0, '@', libtcod.white, "Player", blocks=True,
		render_order=RenderOrder.ACTOR, fighter=fighter_component,
		inventory=inventory_component, level=level_component,
		equipment=equipment_component)
	entities = [player]
	
	equippable_component = Equippable(EquipmentSlots.MAIN_HAND, power_bonus=2)
	dagger = Entity(0, 0, '-', libtcod.sky, "Dagger", equippable=equippable_component)
	player.inventory.add_item(dagger)
	player.equipment.toggle_equip(dagger)
	
	game_map = GameMap(constants["map_width"], constants["map_height"])
	game_map.make_map(constants["max_room"], constants["room_min_size"], 
		constants["room_max_size"], constants["map_width"], constants["map_height"], 
		player, entities)
		
	message_log = MessageLog(constants["message_x"], 
		constants["message_width"], constants["message_height"])

	game_state = GameStates.PLAYERS_TURN
	
	return player, entities, game_map, message_log, game_state
Esempio n. 14
0
def get_game_variables(constants):
    fighter_comp = Fighter(20, 5, 5)
    inventory_comp = Inventory(10)
    level_comp = Level()
    equipment_component = Equipment()
    player = Entity('Player', int(constants['screen_width'] / 2),
                    int(constants['screen_height'] / 2), '@', libtcod.white,
                    is_player=True, fighter=fighter_comp, inventory=inventory_comp,
                    level=level_comp, equipment=equipment_component)

    entities = [player]

    weapon = get_item('Hammer', 0, 0)
    player.inventory.add_item(weapon)
    player.equipment.toggle_equip(weapon)

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities)

    game_map.populate_dungeon(entities)

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYER_TURN

    return player, entities, game_map, message_log, game_state
def initialize_game(constants, chosen):

    player_component, inventory_component, abilities_component, info_component, starting_equip, starting_feats, name = Character(chosen)

    level_component = Level()
    equipment_component = Equipment()


    player = Entity(0, 0, '@', libtcod.lightest_gray, name, blocks=True, render_order=RenderOrder.PLAYER,
                    fighter=player_component, inventory=inventory_component, abilities=abilities_component, level=level_component,
                    equipment=equipment_component, info=info_component)

    entities = [player]

    player.abilities.add_feat(starting_feats)
    player.inventory.add_item(starting_equip)
    player.equipment.toggle_equip(starting_equip)


    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'], constants['room_max_size'],
                      constants['map_width'], constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'], constants['message_width'], constants['message_height'])

    game_state = GameStates.PLAYERS_TURN
    
    permanent_cooldown_counter = 0

    return player, entities, game_map, message_log, game_state, permanent_cooldown_counter
Esempio n. 16
0
def get_game_variables(constants):
    fighter_component = Fighter("player")
    inventory_component = Inventory(26)
    level_component = Level()
    player = Entity(0,
                    0,
                    "@",
                    tcod.white,
                    "Player",
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component)
    game_state = GameStates.PLAYER_TURN
    entities = [player]
    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities,
                      float(player.fighter.cr),
                      constants['max_items_per_room'])
    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])
    return player, entities, game_map, message_log, game_state
Esempio n. 17
0
def main():
    screen_width = 80
    screen_height = 50
    map_width = 80
    map_height = 45

    room_max_size = 10
    room_min_size = 6
    max_rooms = 30

    colors = {
        'dark_wall': libtcod.Color(0, 0, 100),
        'dark_ground': libtcod.Color(50, 50, 150)
    }

    player = Entity(40, 25, '@', libtcod.white, name="Player")
    npc = Entity(25, 20, 'N', libtcod.yellow, name="NPC")
    entities = [npc, player]

    libtcod.console_set_custom_font(
        'arial10x10.png',
        libtcod.FONT_TYPE_GREYSCALE | libtcod.FONT_LAYOUT_TCOD)

    libtcod.console_init_root(screen_width, screen_height,
                              'libtcod tutorial revised', False)
    con = libtcod.console_new(screen_width, screen_height)

    game_map = GameMap(map_width, map_height)
    game_map.make_map(max_rooms, room_min_size, room_max_size, player,
                      entities, 3, 2)

    key = libtcod.Key()
    mouse = libtcod.Mouse()

    while not libtcod.console_is_window_closed():
        libtcod.sys_check_for_event(libtcod.EVENT_KEY_PRESS, key, mouse)

        render_all(con, entities, game_map, screen_width, screen_height,
                   colors)

        libtcod.console_flush()

        clear_all(con, entities)

        action = handle_keys(key)

        move = action.get('move')
        exit_game = action.get('exit')
        full_screen = action.get('fullscreen')

        if move:
            dx, dy = move
            if not game_map.is_blocked(player.x + dx, player.y + dy):
                player.move(dx, dy)
        if exit_game:
            return True

        if full_screen:
            libtcod.console_set_fullscreen(not libtcod.console_is_fullscreen())
Esempio n. 18
0
def main():
    screen_width = 80
    screen_height = 50
    map_width = 80
    map_height = 45

    room_max_size = 10
    room_min_size = 6
    max_rooms = 1000

    colors = {
        # Gray
        'dark_wall': libtcod.darkest_gray,
        # Brown
        'dark_ground': libtcod.orange * libtcod.darker_gray
    }

    player = Entity(int(screen_width / 2), int(screen_height / 2), '@', libtcod.white)
    npc = Entity(int(screen_width / 2 - 5), int(screen_height / 2), '@', libtcod.yellow)
    entities = [player, npc]

    libtcod.console_set_custom_font('arial10x10.png', libtcod.FONT_TYPE_GREYSCALE | libtcod.FONT_LAYOUT_TCOD)

    libtcod.console_init_root(screen_width, screen_height, 'RoguelikeDev Tutorial', False)

    con = libtcod.console_new(screen_width, screen_height)

    game_map = GameMap(map_width, map_height)
    game_map.make_map(max_rooms, room_min_size, room_max_size, map_width, map_height, player)

    key = libtcod.Key()
    mouse = libtcod.Mouse()

    while not libtcod.console_is_window_closed():
        libtcod.sys_check_for_event(libtcod.EVENT_KEY_PRESS, key, mouse)
        
        render_all(con, entities, game_map, screen_width, screen_height, colors)
    
        libtcod.console_flush()

        clear_all(con, entities)

        action = handle_keys(key)

        move = action.get('move')
        exit = action.get('exit')
        fullscreen = action.get('fullscreen')

        if move:
            dx, dy = move
            if not game_map.is_blocked(player.x + dx, player.y + dy):
                player.move(dx, dy)

        if exit:
            return True

        if fullscreen:
            libtcod.console_set_fullscreen(not libtcod.console_is_fullscreen())        
Esempio n. 19
0
def get_game_variables(constants):
    status_component = Status_Effects()
    job_component = Jobs()
    fighter_component = Fighter(hp=100,
                                mana=50,
                                defense=1,
                                power=2,
                                attack_dice_minimum=1,
                                attack_dice_maximum=4,
                                constitution=10,
                                willpower=10,
                                status_effects=status_component,
                                job=job_component,
                                nutrition=500,
                                ac=1,
                                accuracy=1)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    skill_component = Skills(50)
    player = Entity(0,
                    0,
                    '@',
                    libtcod.white,
                    'Player',
                    blocks=True,
                    player=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component,
                    equipment=equipment_component,
                    skills=skill_component)
    entities = [player]

    equippable_component = Equippable(EquipmentSlots.MAIN_HAND, power_bonus=2)
    dagger = Entity(0,
                    0,
                    '-',
                    libtcod.sky,
                    'Dagger',
                    equippable=equippable_component)
    player.inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
def get_game_variables(constants):
    fighter_component = Fighter(hp=100,
                                defense=1,
                                power=2,
                                magic=0,
                                magic_defense=1,
                                talismanhp=0,
                                gold=0)
    inventory_component = Inventory(26)
    equipment_inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    player = Entity(0,
                    0,
                    '@',
                    libtcod.white,
                    'Player',
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component,
                    equipment=equipment_component,
                    equipment_inventory=equipment_inventory_component)
    entities = [player]

    equipment_component = Equippable(EquipmentSlots.MAIN_HAND, power_bonus=1)
    dagger = Entity(0,
                    0,
                    '-',
                    libtcod.darker_orange,
                    "Dagger (+1 atk)",
                    equippable=equipment_component)
    player.equipment_inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)

    item_component = Item(use_function=cast_magic, damage=2, maximum_range=3)
    magic_wand = Entity(0,
                        0,
                        '|',
                        libtcod.darker_sepia,
                        "Magic Wand",
                        item=item_component)
    player.inventory.add_item(magic_wand)

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 21
0
def main():
    screen_width = 80
    screen_height = 50
    map_width = 80
    map_height = 45

    room_max_size = 10
    room_min_size = 6
    max_rooms = 30

    colors = {
        'dark_wall': libtcod.Color(0, 0 ,100),
        'dark_ground': libtcod.Color(50, 50, 150)
    }
#Player and NPC settings. Defines entities
    player = Entity(int(screen_width / 2), int(screen_height / 2), '@', libtcod.white)
    npc = Entity(int(screen_width / 2 - 5), int(screen_height / 2), '@', libtcod.yellow)
    entities = [npc, player]
#Sets font img
    libtcod.console_set_custom_font('arial10x10.png', libtcod.FONT_TYPE_GREYSCALE | libtcod.FONT_LAYOUT_TCOD)
#Init for root console(Width, Height, Window name, fullscreen)
    libtcod.console_init_root(screen_width, screen_height, 'TepisRL', False)
#Consoles
    con = libtcod.console_new(screen_width, screen_height)
#Calls map gen
    game_map = GameMap(map_width, map_height)
    game_map.make_map(max_rooms, room_min_size, room_max_size, map_width, map_height, player)
#Calls key functions
    key = libtcod.Key()
    mouse = libtcod.Mouse()
    #Game loop
    while not libtcod.console_is_window_closed():
        libtcod.sys_check_for_event(libtcod.EVENT_KEY_PRESS, key, mouse)

        render_all(con, entities, game_map, screen_width, screen_height, colors)

        libtcod.console_flush()

        clear_all(con, entities)
        #Handles recognition of keypresses for movement
        action = handle_keys(key)
        
        move = action.get('move')
        exit = action.get('exit')
        fullscreen = action.get('fullscreen')

        if move:
            dx, dy = move
            if not game_map.is_blocked(player.x + dx, player.y + dy):
                player.move(dx, dy)

        if exit:
            return True

        if fullscreen:
            libtcod.console_set_fullscreen(not libtcod.console_is_fullscreen())
Esempio n. 22
0
def get_game_variables(constants):
    fighter_component = Fighter(hp=100, defense=1, power=4, agility=4)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    player = Entity(0,
                    0,
                    '@',
                    libtcod.white,
                    'Player',
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component,
                    equipment=equipment_component)
    entities = [player]

    equippable_component = Equippable(EquipmentSlots.MAIN_HAND, power_bonus=4)
    dagger = Entity(0,
                    0,
                    '/',
                    libtcod.sky,
                    'Carving Knife',
                    equippable=equippable_component)
    equippable_component = Equippable(EquipmentSlots.OFF_HAND,
                                      defense_bonus=1,
                                      agility_bonus=-1)
    buckler = Entity(0,
                     0,
                     '{',
                     libtcod.sky,
                     'Buckler',
                     equippable=equippable_component)
    player.inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)
    player.inventory.add_item(buckler)
    player.equipment.toggle_equip(buckler)

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['max_maze_rooms'],
                      constants['maze_min_size'], constants['maze_max_size'],
                      constants['map_width'], constants['map_height'], player,
                      entities)

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.CHARACTER_CREATION
    ggender = Gender.male

    return player, entities, game_map, message_log, game_state, ggender
Esempio n. 23
0
def get_game_variables(game):
    player = game.temp_player
    entities = [player]
    game_map = GameMap(game.width, game.height, game.tile_size)
    game_map.make_map(game.max_room, game.room_min_size, game.room_max_size,
                      player, entities)
    message_log = MessageLog(game.message_x, game.message_width,
                             game.message_height)
    game_state = GameState.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state,
Esempio n. 24
0
    def enter_nameless_location(self, map_creator):
        player = self.engine.entities.player
        self.engine.world_map.current_dungeon_entry_point = (player.x,
                                                             player.y)

        game_map = GameMap(map_vars.width,
                           map_vars.height,
                           map_creator=map_creator)
        game_map.make_map(self.engine.entities)
        self.engine.world_map.current_dungeon = game_map
        self.engine.player_location = PlayerLocations.DUNGEON
        self.engine.regulatory_flags.add('change_location')
Esempio n. 25
0
 def __init__(self, width, height, x, y, constants, player):
     self.maps = [[None for x in range(width)] for y in range(height)]
     self.x = x
     self.y = y
     game_map = GameMap(constants['map_width'], constants['map_height'])
     game_map.make_map(constants['max_buildings'],
                       constants['building_min_size'],
                       constants['building_max_size'],
                       constants['map_width'], constants['map_height'],
                       player, game_map.entities, constants['max_enemies'],
                       constants['max_items_per_building'])
     self.maps[x][y] = game_map
Esempio n. 26
0
def get_game_variables(constants):
    fighter_component = Fighter(hp=100, defense=1, power=3, speed=100)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    player = Entity(
        [],
        0,
        0,
        "@",
        libtcod.white,
        "Player",
        blocks=True,
        render_order=RenderOrder.ACTOR,
        fighter=fighter_component,
        inventory=inventory_component,
        level=level_component,
        equipment=equipment_component,
    )
    entities = [player]

    dagger = items["dagger"]
    player.inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)

    game_map = GameMap(constants["map_width"], constants["map_height"])
    game_map.make_map(
        constants["max_rooms"],
        constants["room_min_size"],
        constants["room_max_size"],
        constants["map_width"],
        constants["map_height"],
        player,
        entities,
    )

    camera = Camera(
        0,
        0,
        constants["screen_width"],
        constants["screen_height"],
        constants["map_width"],
        constants["map_height"],
    )

    message_log = MessageLog(
        constants["message_x"], constants["message_width"], constants["message_height"], constants["screen_height"]
    )

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state, camera
def get_game_variables(constants):
    fighter_component = Fighter(hp=100, defense=1, power=2)
    inventory_component = Inventory(26)
    equipment_component = Equipment()
    level_component = Level()
    player = Entity(0,
                    0,
                    tiles.get('player_tile'),
                    libtcod.white,
                    'you',
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component,
                    equipment=equipment_component)
    entities = [player]

    equippable_component = Equippable(EquipmentSlots.MAIN_HAND, power_bonus=2)
    #godmode    equippable_component = Equippable(EquipmentSlots.MAIN_HAND, power_bonus=800, defense_bonus=800)
    dagger = Entity(0,
                    0,
                    tiles.get('dagger_tile'),
                    libtcod.white,
                    'Dagger',
                    render_order=RenderOrder.ITEM,
                    equippable=equippable_component,
                    sprite_main_shift=320)
    player.inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)
    item_component = Item(use_function=heal, amount=40)
    potion = Entity(0,
                    0,
                    tiles.get('healingpotion_tile'),
                    libtcod.white,
                    'Healing Potion',
                    render_order=RenderOrder.ITEM,
                    item=item_component)
    player.inventory.add_item(potion)

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 28
0
def get_game_variables(constants):
    fighter_component = Fighter(hp=1250, defense=10, power=40)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    player = Entity(0,
                    0,
                    197,
                    libtcod.Color(15, 77, 0),
                    'Wrpgnyth',
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component,
                    equipment=equipment_component)
    entities = [player]

    equippable_component = Equippable(EquipmentSlots.TENTACLE, power_bonus=20)
    tentaclaws = Entity(0,
                        0,
                        218,
                        libtcod.red,
                        'Tentaclaws',
                        equippable=equippable_component)
    player.inventory.add_item(tentaclaws)
    player.equipment.toggle_equip(tentaclaws)

    equippable_component = Equippable(EquipmentSlots.TENTACLE,
                                      power_bonus=20,
                                      defense_bonus=20)
    aluminitetentasleeve = Entity(0,
                                  0,
                                  192,
                                  libtcod.silver,
                                  'Aluminite Tentasleeve',
                                  equippable=equippable_component)
    player.inventory.add_item(aluminitetentasleeve)
    player.equipment.toggle_equip(aluminitetentasleeve)

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 29
0
def get_game_variables(constants):
    fighter_component = Fighter(hp=100,
                                defense=12,
                                strength=6,
                                agility=6,
                                intelligence=6,
                                charisma=4,
                                perception=4,
                                endurance=4)
    inventory_component = Inventory(26)
    level_component = Level()
    equipment_component = Equipment()
    player = Entity(0,
                    0,
                    '@',
                    constants['colors'].white(),
                    'Player',
                    blocks=True,
                    render_order=RenderOrder.ACTOR,
                    fighter=fighter_component,
                    inventory=inventory_component,
                    level=level_component,
                    equipment=equipment_component)
    entities = [player]

    equippable_component = Equippable(EquipmentSlots.MAIN_HAND,
                                      damage_dice_count=1,
                                      damage_die_face=4,
                                      damage_bonus=0,
                                      weapon_type='melee',
                                      damage_type='piercing')
    dagger = Entity(0,
                    0,
                    '-',
                    constants['colors'].lblue(),
                    'Dagger',
                    equippable=equippable_component)
    player.inventory.add_item(dagger)
    player.equipment.toggle_equip(dagger)

    game_map = GameMap(constants['map_width'], constants['map_height'])
    game_map.make_map(constants['max_rooms'], constants['room_min_size'],
                      constants['room_max_size'], constants['map_width'],
                      constants['map_height'], player, entities)

    message_log = MessageLog(constants['message_x'],
                             constants['message_width'],
                             constants['message_height'])

    game_state = GameStates.PLAYERS_TURN

    return player, entities, game_map, message_log, game_state
Esempio n. 30
0
 def move_to(self, x, y, constants, player):
     self.x = x
     self.y = y
     if not self.maps[x][y]:
         game_map = GameMap(constants['map_width'], constants['map_height'])
         game_map.make_map(
             constants['max_buildings'], constants['building_min_size'],
             constants['building_max_size'], constants['map_width'],
             constants['map_height'], player, game_map.entities,
             constants['max_enemies'], constants['max_items_per_building'])
         self.maps[x][y] = game_map
     else:
         self.maps[x][y].entities.append(player)
Esempio n. 31
0
def get_game_variables(constants):
	fighter_component = Fighter(hp=100, defense=1, power=4)
	inventory_component = Inventory(26)
	level_component = Level()
	player = Entity(0, 0, '@', libtcod.white, 'Player', blocks=True, render_order=RenderOrder.ACTOR, fighter=fighter_component, inventory=inventory_component, level=level_component)
	entities = [player]


	game_map = GameMap(constants['map_width'], constants['map_height'])
	game_map.make_map(constants['max_rooms'], constants['room_min_size'], constants['room_max_size'], constants['map_width'], constants['map_height'], player, entities)

	message_log = MessageLog(constants['message_x'], constants['message_width'], constants['message_height'])

	game_state = GameStates.PLAYERS_TURN

	return player, entities, game_map, message_log, game_state

	return constants