view gamelib/misc.py @ 69:18db99fda6bd

Move spawing code from engine to gameboard - seems more natural.
author Neil Muller <drnlmuller@gmail.com>
date Mon, 31 Aug 2009 22:14:12 +0000
parents
children e90068d1f374
line wrap: on
line source

# Holder for misc useful classes

class Position(object):
   """2D position / vector"""

   def __init__(self, x, y):
       self.x = x
       self.y = y

   def to_tuple(self):
       return self.x, self.y

   def dist(self, b):
       """Gives the distance to another position"""

       return abs(self.x - b.x) + abs(self.y - b.y)

   def __sub__(self, b):
       return Position(self.x - b.x, self.y - b.y)

   def __add__(self, b):
       return Position(self.x + b.x, self.y + b.y)

   def left_of(self, b):
       return self.x < b.x

   def right_of(self, b):
       return self.x > b.x

   def __eq__(self, b):
       return self.x == b.x and self.y == b.y