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 map terrain.
[plomrogue2-experiments]
/
new2
/
plomrogue
/
mapping.py
diff --git
a/new2/plomrogue/mapping.py
b/new2/plomrogue/mapping.py
index aa5af2c6778c33444e51de1f74236e61a8442838..0a96058c29c2f9b7b990dc98083a84b47037f504 100644
(file)
--- a/
new2/plomrogue/mapping.py
+++ b/
new2/plomrogue/mapping.py
@@
-17,6
+17,9
@@
class YX(collections.namedtuple('YX', ('y', 'x'))):
class MapGeometry():
class MapGeometry():
+ def __init__(self, size):
+ self.size = size
+
def get_directions(self):
directions = []
for name in dir(self):
def get_directions(self):
directions = []
for name in dir(self):
@@
-26,7
+29,11
@@
class MapGeometry():
def move(self, start_pos, direction):
mover = getattr(self, 'move_' + direction)
def move(self, start_pos, direction):
mover = getattr(self, 'move_' + direction)
- return mover(start_pos)
+ target = mover(start_pos)
+ if target.y < 0 or target.x < 0 or \
+ target.y >= self.size.y or target.x >= self.size.x:
+ return None
+ return target
@@
-47,3
+54,15
@@
class MapGeometrySquare(MapGeometryWithLeftRightMoves):
def move_DOWN(self, start_pos):
return YX(start_pos.y + 1, start_pos.x)
def move_DOWN(self, start_pos):
return YX(start_pos.y + 1, start_pos.x)
+
+
+
+class Map():
+
+ def __init__(self, map_size):
+ self.size = map_size
+ self.terrain = '.' * self.size_i
+
+ @property
+ def size_i(self):
+ return self.size.y * self.size.x