import tcod from entity import Entity from render_functions import * from game_map import * from input_handlers import EventHandler from actions import EscapeAction, MovementAction def main(): screen_width = 80 screen_height = 50 map_width = 80 map_height = 50 room_max_size = 10 room_min_size = 6 max_rooms = 30 colors = { 'dark_wall': tcod.Color(0, 0, 100), 'dark_ground': tcod.Color(50, 50, 150) } # player = Entity(int(screen_width/2), int(screen_height/2), '@', tcod.white) # npc = Entity(int(screen_width/2), int(screen_height/2), '@', tcod.yellow) # entities = [npc, player] player_x = int(screen_width/2) player_y = int(screen_width/2) tileset = tcod.tileset.load_tilesheet( "arial10x10.png", 32,8, tcod.tileset.CHARMAP_TCOD ) event_handler = EventHandler() with tcod.context.new_terminal( screen_width, screen_height, tileset=tileset, title='Roguelike Tutorial', vsync=True, ) as context: root_console = tcod.Console(screen_width,screen_height, order="F") while True: root_console.print(x=player_x, y=player_y, string="@") context.present(root_console) root_console.clear() for event in tcod.event.wait(): action = event_handler.dispatch(event) if action is None: continue if isinstance(action, MovementAction): player_x += action.dx player_y += action.dy elif isinstance(action, EscapeAction): raise SystemExit() if __name__ == '__main__': main()