Skip to content

Instantly share code, notes, and snippets.

@aoisensi
Created December 1, 2012 16:10
Show Gist options
  • Save aoisensi/4183039 to your computer and use it in GitHub Desktop.
Save aoisensi/4183039 to your computer and use it in GitHub Desktop.
class Collision(object):
_value = 0
_left = 0x1
_right = 0x2
_up = 0x4
_down = 0x8
def left(self):
return self._value & _left
def right(self):
return self._value & _right
def up(self):
return self._value & _up
def down(self):
return self._value & _down
def left(self, value):
self._value = value if self._value | _left else self._value & ~_left
def right(self, value):
self._value = value if self._value | _right else self._value & ~_right
def up(self, value):
self._value = value if self._value | _up else self._value & ~_up
def down(self, value):
self._value = value if self._value | _down else self._value & ~_down
def _not_ander(self, left, right, up, down):
self.left(self.left() and (not left))
self.right(self.right() and (not right))
self.up(self.up() and (not up))
self.down(self.down() and (not down))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment