git.fiddlerwoaroof.com
Raw Blame History
import libtcodpy as tc

class Player(object):
	@property
	def pos(self):
		return self.x, self.y

	def __init__(self, x,y, map):
		self.x = x
		self.y = y
		self.char = ord('@')
		self.color = tc.Color(255,255,255)
		self.map = map

	def draw(self):
		self.map.add(self)

	def move(self, dx, dy):
		print self.pos,
		dx, dy = self.map.move(self, dx,dy)
		self.x += dx
		self.y += dy
		print self.pos

class ArrowHandler(object):
	def __init__(self, player, eh):
		self.player = player
		eh.register(tc.KEY_LEFT,self.left)
		eh.register(tc.KEY_RIGHT,self.right)
		eh.register(tc.KEY_UP,self.up)
		eh.register(tc.KEY_DOWN,self.down)
	def left(self, alt, shift, ctrl):
		print 'left'
		if alt:
			self.player.move(-1, -1)
		else:
			self.player.move(-1, 0)
	def right(self, alt, shift, ctrl):
		print 'right'
		if alt:
			self.player.move(1, 1)
		else:
			self.player.move(1, 0)
	def up(self, alt, shift, ctrl):
		print 'up'
		if alt:
			self.player.move(1, -1)
		else:
			self.player.move(0, -1)
	def down(self, alt, shift, ctrl):
		print 'down'
		if alt:
			self.player.move(-1, 1)
		else:
			self.player.move(0, 1)