X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=new2%2Frogue_chat_curses.py;h=9eb99c89354b9402aeddc28f857c0f1b01cd91d5;hb=5456d88241c1ede82de12c069bbe7dcd93c6aa39;hp=8bd45afb3e3742a5bc796632cd8e5d07380ad250;hpb=4eb281718a289961da0737570ceceee069fa681a;p=plomrogue2-experiments diff --git a/new2/rogue_chat_curses.py b/new2/rogue_chat_curses.py index 8bd45af..9eb99c8 100755 --- a/new2/rogue_chat_curses.py +++ b/new2/rogue_chat_curses.py @@ -73,9 +73,9 @@ def cmd_GAME_STATE_COMPLETE(game): game.tui.query_info() player = game.get_thing(game.player_id, False) if player.position in game.portals: - host, port = game.portals[player.position].split(':') - game.tui.teleport_target_host = host - game.tui.teleport_target_port = port + #host, port = game.portals[player.position].split(':') + game.tui.teleport_target_host = game.portals[player.position] + game.tui.teleport_target_port = 5000 game.tui.switch_mode('teleport') game.turn_complete = True game.tui.do_refresh = True @@ -171,6 +171,7 @@ class TUI: self.log = [] self.do_refresh = True self.queue = queue.Queue() + self.login_name = None self.switch_mode('waiting_for_server') curses.wrapper(self.loop) @@ -200,7 +201,10 @@ class TUI: if self.mode.name == 'waiting_for_server': self.log_msg('@ waiting for server …') elif self.mode.name == 'login': - self.log_msg('@ enter username') + if self.login_name: + self.send('LOGIN ' + quote(self.login_name)) + else: + self.log_msg('@ enter username') elif self.mode.name == 'teleport': self.log_msg("@ May teleport to %s:%s" % (self.teleport_target_host, self.teleport_target_port)); @@ -218,18 +222,21 @@ class TUI: self.log_msg(" :nick NAME - re-name yourself to NAME"); self.log_msg(" :msg USER TEXT - send TEXT to USER"); self.log_msg(" :help - show this help"); - self.log_msg(" :p or :play - switch to play mode"); + self.log_msg(" :P or :play - switch to play mode"); self.log_msg(" :? or :study - switch to study mode"); self.log_msg("commands common to study and play mode:"); - self.log_msg(" w,a,s,d - move"); - self.log_msg(" c - switch to chat mode"); + if type(self.game.map_geometry) == MapGeometrySquare: + self.log_msg(" w,a,s,d - move"); + elif type(self.game.map_geometry) == MapGeometryHex: + self.log_msg(" e,d,c,x,s,w - move"); + self.log_msg(" C - switch to chat mode"); self.log_msg("commands specific to play mode:"); - self.log_msg(" e - write following ASCII character"); + self.log_msg(" E - write following ASCII character"); self.log_msg(" f - flatten surroundings"); self.log_msg(" ? - switch to study mode"); self.log_msg("commands specific to study mode:"); - self.log_msg(" e - annotate terrain"); - self.log_msg(" p - switch to play mode"); + self.log_msg(" E - annotate terrain"); + self.log_msg(" P - switch to play mode"); def loop(self, stdscr): @@ -293,7 +300,7 @@ class TUI: def reset_screen_size(): self.size = YX(*stdscr.getmaxyx()) - self.size = self.size - YX(self.size.y % 2, 0) + self.size = self.size - YX(self.size.y % 4, 0) self.size = self.size - YX(0, self.size.x % 4) self.window_width = int(self.size.x / 2) @@ -377,15 +384,14 @@ class TUI: indent = 0 if indent else 1 else: for line in map_lines_split: - map_lines += [''.join(line)] + map_lines += [' '.join(line)] window_center = YX(int(self.size.y / 2), int(self.window_width / 2)) player = self.game.get_thing(self.game.player_id, False) center = player.position if self.mode.shows_info: center = self.explorer - if type(self.game.map_geometry) == MapGeometryHex: - center = YX(center.y, center.x * 2) + center = YX(center.y, center.x * 2) offset = center - window_center if type(self.game.map_geometry) == MapGeometryHex and offset.y % 2: offset += YX(0, 1) @@ -445,11 +451,12 @@ class TUI: if len(self.input_) > max_length: self.input_ = self.input_[:max_length] elif self.mode == self.mode_login and key == '\n': + self.login_name = self.input_ self.send('LOGIN ' + quote(self.input_)) self.input_ = "" elif self.mode == self.mode_chat and key == '\n': if self.input_[0] == ':': - if self.input_ in {':p', ':play'}: + if self.input_ in {':P', ':play'}: self.switch_mode('play') elif self.input_ in {':?', ':study'}: self.switch_mode('study')