Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def act_towards(self, y, x, c=(-1, 1)):
- # Self
- sy, sx = self.getloc()
- # Difference
- dy = y - sy
- dx = x - sx
- # Modifier
- my, mx = 0, 0
- if dy > 0:
- my = 1
- elif dy < 0:
- my = -1
- if dx > 0:
- mx = 1
- elif dx < 0:
- mx = -1
- #TODO: make more aesthethically pleasing at some point
- if self.rcs(sy + my, sx + mx):
- r = choice(c)
- if my == 0:
- if self.rcs(sy + r, sx + mx):
- if self.rcs(sy - r, sx + mx):
- if self.rcs(sy + r, sx):
- if self.rcs(sy - r, sx):
- if self.rcs(sy + r, sx - mx):
- if self.rcs(sy - r, sx - mx):
- self.rcs(sy, sx - mx)
- elif mx == 0:
- if self.rcs(sy + my, sx + r):
- if self.rcs(sy + my, sx - r):
- if self.rcs(sy, sx + r):
- if self.rcs(sy, sx - r):
- if self.rcs(sy - my, sx + r):
- if self.rcs(sy - my, sx - r):
- self.rcs(sy - my, sx - mx)
- elif abs(dy) > abs(dx):
- if self.rcs(sy + my, sx):
- if self.rcs(sy, sx + mx):
- if self.rcs(sy + my, sx - mx):
- if self.rcs(sy - my, sx + mx):
- if self.rcs(sy, sx - mx):
- if self.rcs(sy - my, sx):
- self.rcs(sy - my, sx - mx)
- elif abs(dy < abs(dx)):
- if self.rcs(sy, sx + mx):
- if self.rcs(sy + my, sx):
- if self.rcs(sy - my, sx + mx):
- if self.rcs(sy + my, sx - mx):
- if self.rcs(sy - my, sx):
- if self.rcs(sy, sx - mx):
- self.rcs(sy - my, sx - mx)
- elif r == 1:
- if self.rcs(sy + my, sx):
- if self.rcs(sy, sx + mx):
- if self.rcs(sy + my, sx - mx):
- if self.rcs(sy - my, sx + mx):
- if self.rcs(sy, sx - mx):
- if self.rcs(sy - my, sx):
- self.rcs(sy - my, sx - mx)
- elif r == -1:
- if self.rcs(sy, sx + mx):
- if self.rcs(sy + my, sx):
- if self.rcs(sy - my, sx + mx):
- if self.rcs(sy + my, sx - mx):
- if self.rcs(sy - my, sx):
- if self.rcs(sy, sx - mx):
- self.rcs(sy - my, sx - mx)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement