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
Add PING.
[plomrogue2-experiments]
/
new2
/
plomrogue
/
game.py
diff --git
a/new2/plomrogue/game.py
b/new2/plomrogue/game.py
index e0c07155b0333486d1b82cf41ee0cc3af376417f..25f4d809b69b04083abb4bcea83996608920ee42 100755
(executable)
--- a/
new2/plomrogue/game.py
+++ b/
new2/plomrogue/game.py
@@
-1,9
+1,10
@@
-from plomrogue.tasks import Task_WAIT, Task_MOVE
+from plomrogue.tasks import Task_WAIT, Task_MOVE
, Task_WRITE
from plomrogue.errors import GameError
from plomrogue.errors import GameError
-from plomrogue.commands import cmd_ALL, cmd_LOGIN, cmd_QUERY
+from plomrogue.commands import cmd_ALL, cmd_LOGIN, cmd_QUERY
, cmd_PING
from plomrogue.io import GameIO
from plomrogue.misc import quote
from plomrogue.things import Thing, ThingPlayer
from plomrogue.io import GameIO
from plomrogue.misc import quote
from plomrogue.things import Thing, ThingPlayer
+from plomrogue.mapping import YX, MapGeometrySquare, Map
@@
-35,15
+36,25
@@
class Game(GameBase):
self.changed = True
self.io = GameIO(self)
self.tasks = {'WAIT': Task_WAIT,
self.changed = True
self.io = GameIO(self)
self.tasks = {'WAIT': Task_WAIT,
- 'MOVE': Task_MOVE}
- self.commands = {'QUERY': cmd_QUERY, 'ALL': cmd_ALL, 'LOGIN': cmd_LOGIN}
+ 'MOVE': Task_MOVE,
+ 'WRITE': Task_WRITE}
+ self.map_geometry = MapGeometrySquare(YX(24, 40))
+ self.commands = {'QUERY': cmd_QUERY,
+ 'ALL': cmd_ALL,
+ 'LOGIN': cmd_LOGIN,
+ 'PING': cmd_PING}
self.thing_type = Thing
self.thing_types = {'player': ThingPlayer}
self.sessions = {}
self.thing_type = Thing
self.thing_types = {'player': ThingPlayer}
self.sessions = {}
+ self.map = Map(self.map_geometry.size)
def get_string_options(self, string_option_type):
def get_string_options(self, string_option_type):
+ import string
if string_option_type == 'direction':
if string_option_type == 'direction':
- return ['UP', 'DOWN', 'LEFT', 'RIGHT']
+ return self.map_geometry.get_directions()
+ if string_option_type == 'char':
+ return [c for c in
+ string.digits + string.ascii_letters + string.punctuation]
return None
def send_gamestate(self, connection_id=None):
return None
def send_gamestate(self, connection_id=None):
@@
-55,6
+66,8
@@
class Game(GameBase):
self.io.send('TURN ' + str(self.turn))
for t in self.things:
send_thing(t)
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)))
+ self.io.send('GAME_STATE_COMPLETE')
def run_tick(self):
to_delete = []
def run_tick(self):
to_delete = []