I don't know to what extent my real-time game will end up being a roguelike, but my solution is to divide the dungeon into screen-sized rooms. There can be only one monster in each room and the player automatically targets it. The player can choose to fire different kinds of projectiles at it or enter "fight mode", in which he and the monster, once adjacent to each other, will engage in hand-to-hand combat until one is either dead or moves away. So, when a player enters a room with a monster in it, the monster will run towards him and the player might press "fire magic arrow" a few times, then press "f" when the monster is near him to fight the weakened enemy hand-to-hand.
The tactical challenge in this game comes from the fact that ammunition and healing potions are relatively rare and not often found in the dungeon. Instead, the player has to undergo perilous travels to reach safe havens where he can restock. If a player is low on regular arrows, he has to decide whether to engage in hand-to-hand combat and use up healing elixers instead, or whether to use his magic arrows and risk not having any when he encounters a creature that is not harmed by the regular kind (there are in fact three kinds of projectiles - iron arrows, magic arrows, and phials of tana powder, all of which do different amounts of damage to different monsters.) Projectiles are also more accurate the closer the monster is to the player, so the player has the choice of shooting at the creature when it is far away, and potentially wasting arrows, or of only shooting at it when it gets close - then, he runs the risk of it getting too close and having to go into hand-to-hand combat. When he's running low on resources, he also has to decide whether to return to a known haven to restock, and then have to fight his way back (random monsters spawn at a rate dependent on the amount of treasure the player is carrying,) or to press on in the hopes of finding a haven or a chest of arrows soon.
I've considered two systems of targeting if I end up allowing more than one monster per room. If there are only ever two or three in a room, then the player could easily just press a "switch target" key. If there are more monsters than that, or if I ditch the room-per-screen system and have a scrolling map, I'll have to use the mouse. ncurses allows for using the mouse, but I don't think you can do that over SSH or telnet, which would be a bit of a disadvantage.
If anyone knows the old Apple II game "SuperQuest," you'll see how my game was influenced by it.