home
·
contact
·
privacy
projects
/
plomrogue2-experiments
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ensure rough feature parity between clients.
[plomrogue2-experiments]
/
new2
/
plomrogue
/
game.py
diff --git
a/new2/plomrogue/game.py
b/new2/plomrogue/game.py
index e871d59401f1a9418ccc97c5f6c7fd5a055dd58a..da148460d0c244b3f350bd6c0ada8c407ec5e4e3 100755
(executable)
--- a/
new2/plomrogue/game.py
+++ b/
new2/plomrogue/game.py
@@
-6,7
+6,7
@@
from plomrogue.commands import (cmd_ALL, cmd_LOGIN, cmd_QUERY, cmd_PING,
cmd_ANNOTATE, cmd_PORTAL, cmd_GET_GAMESTATE)
from plomrogue.io import GameIO
from plomrogue.misc import quote
cmd_ANNOTATE, cmd_PORTAL, cmd_GET_GAMESTATE)
from plomrogue.io import GameIO
from plomrogue.misc import quote
-from plomrogue.things import Thing, ThingPlayer
+from plomrogue.things import Thing, ThingPlayer
from plomrogue.mapping import YX, MapGeometrySquare, Map
from plomrogue.mapping import YX, MapGeometrySquare, Map
@@
-14,9
+14,9
@@
from plomrogue.mapping import YX, MapGeometrySquare, Map
class GameBase:
def __init__(self):
class GameBase:
def __init__(self):
- pass
self.turn = 0
self.things = []
self.turn = 0
self.things = []
+ self.map_geometry = MapGeometrySquare(YX(24, 40))
def get_thing(self, id_, create_unfound):
# No default for create_unfound because every call to get_thing
def get_thing(self, id_, create_unfound):
# No default for create_unfound because every call to get_thing
@@
-43,7
+43,6
@@
class Game(GameBase):
'MOVE': Task_MOVE,
'WRITE': Task_WRITE,
'FLATTEN_SURROUNDINGS': Task_FLATTEN_SURROUNDINGS}
'MOVE': Task_MOVE,
'WRITE': Task_WRITE,
'FLATTEN_SURROUNDINGS': Task_FLATTEN_SURROUNDINGS}
- self.map_geometry = MapGeometrySquare(YX(24, 40))
self.commands = {'QUERY': cmd_QUERY,
'ALL': cmd_ALL,
'LOGIN': cmd_LOGIN,
self.commands = {'QUERY': cmd_QUERY,
'ALL': cmd_ALL,
'LOGIN': cmd_LOGIN,
@@
-86,13
+85,15
@@
class Game(GameBase):
def send_thing(thing):
self.io.send('THING_POS %s %s' % (thing.id_, t.position))
def send_thing(thing):
self.io.send('THING_POS %s %s' % (thing.id_, t.position))
+ if hasattr(thing, 'nickname'):
+ self.io.send('THING_NAME %s %s' % (thing.id_, quote(t.nickname)))
self.io.send('TURN ' + str(self.turn))
for t in self.things:
send_thing(t)
self.io.send('MAP %s %s' % (self.map_geometry.size, quote(self.map.terrain)))
for yx in self.portals:
self.io.send('TURN ' + str(self.turn))
for t in self.things:
send_thing(t)
self.io.send('MAP %s %s' % (self.map_geometry.size, quote(self.map.terrain)))
for yx in self.portals:
- self.io.send('PORTAL %s %s' % (yx,
self.portals[yx]
))
+ self.io.send('PORTAL %s %s' % (yx,
quote(self.portals[yx])
))
self.io.send('GAME_STATE_COMPLETE')
def run_tick(self):
self.io.send('GAME_STATE_COMPLETE')
def run_tick(self):
@@
-184,7
+185,7
@@
class Game(GameBase):
for yx in self.annotations:
write(f, 'ANNOTATE %s %s' % (yx, quote(self.annotations[yx])))
for yx in self.portals:
for yx in self.annotations:
write(f, 'ANNOTATE %s %s' % (yx, quote(self.annotations[yx])))
for yx in self.portals:
- write(f, 'PORTAL %s %s' % (yx,
self.portals[yx]
))
+ write(f, 'PORTAL %s %s' % (yx,
quote(self.portals[yx])
))
def new_world(self, size):
self.map_geometry = MapGeometrySquare(YX(size.y, size.x))
def new_world(self, size):
self.map_geometry = MapGeometrySquare(YX(size.y, size.x))