Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.99 KB | None | 0 0
  1.     def act_towards(self, y, x, c=(-1, 1)):
  2.         # Self
  3.         sy, sx = self.getloc()
  4.  
  5.         # Difference
  6.         dy = y - sy
  7.         dx = x - sx
  8.  
  9.         # Modifier
  10.         my, mx = 0, 0
  11.  
  12.         if dy > 0:
  13.             my = 1
  14.         elif dy < 0:
  15.             my = -1
  16.         if dx > 0:
  17.             mx = 1
  18.         elif dx < 0:
  19.             mx = -1
  20.  
  21.         #TODO: make more aesthethically pleasing at some point
  22.         if self.rcs(sy + my, sx + mx):
  23.             r = choice(c)
  24.             if my == 0:
  25.                 if self.rcs(sy + r, sx + mx):
  26.                     if self.rcs(sy - r, sx + mx):
  27.                         if self.rcs(sy + r, sx):
  28.                             if self.rcs(sy - r, sx):
  29.                                 if self.rcs(sy + r, sx - mx):
  30.                                     if self.rcs(sy - r, sx - mx):
  31.                                         self.rcs(sy, sx - mx)
  32.             elif mx == 0:
  33.                 if self.rcs(sy + my, sx + r):
  34.                     if self.rcs(sy + my, sx - r):
  35.                         if self.rcs(sy, sx + r):
  36.                             if self.rcs(sy, sx - r):
  37.                                 if self.rcs(sy - my, sx + r):
  38.                                     if self.rcs(sy - my, sx - r):
  39.                                         self.rcs(sy - my, sx - mx)
  40.             elif abs(dy) > abs(dx):
  41.                 if self.rcs(sy + my, sx):
  42.                     if self.rcs(sy, sx + mx):
  43.                         if self.rcs(sy + my, sx - mx):
  44.                             if self.rcs(sy - my, sx + mx):
  45.                                 if self.rcs(sy, sx - mx):
  46.                                     if self.rcs(sy - my, sx):
  47.                                         self.rcs(sy - my, sx - mx)
  48.             elif abs(dy < abs(dx)):
  49.                 if self.rcs(sy, sx + mx):
  50.                     if self.rcs(sy + my, sx):
  51.                         if self.rcs(sy - my, sx + mx):
  52.                             if self.rcs(sy + my, sx - mx):
  53.                                 if self.rcs(sy - my, sx):
  54.                                     if self.rcs(sy, sx - mx):
  55.                                         self.rcs(sy - my, sx - mx)
  56.             elif r == 1:
  57.                 if self.rcs(sy + my, sx):
  58.                     if self.rcs(sy, sx + mx):
  59.                         if self.rcs(sy + my, sx - mx):
  60.                             if self.rcs(sy - my, sx + mx):
  61.                                 if self.rcs(sy, sx - mx):
  62.                                     if self.rcs(sy - my, sx):
  63.                                         self.rcs(sy - my, sx - mx)
  64.             elif r == -1:
  65.                 if self.rcs(sy, sx + mx):
  66.                     if self.rcs(sy + my, sx):
  67.                         if self.rcs(sy - my, sx + mx):
  68.                             if self.rcs(sy + my, sx - mx):
  69.                                 if self.rcs(sy - my, sx):
  70.                                     if self.rcs(sy, sx - mx):
  71.                                         self.rcs(sy - my, sx - mx)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement