Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def make_choice(x,y,field):
- width = len(field)
- height = len(field[0])
- left_coin = 1000
- right_coin = 1000
- up_coin = 1000
- down_coin = 1000
- actions = ["go_up", "go_down", "go_left","go_right"]
- my_life = field[x][y]["life"]
- for r in range(y+1, height):
- if field[x][r] not in [-1, 0 ,1]:
- if field[x][y]["life"] < field[x][r]["life"]:
- if field[x+1][y]== 0:
- return "go_right"
- elif filed[x-1][y]== 0:
- return "go_left"
- elif filed[x][y-1]== 0:
- return "go_up"
- if field[x][r] == -1:
- break
- if field[x][r] not in [-1, 0 ,1]:
- return "fire_down"
- for z in range(x+1, width):
- if field[z][y] not in [-1, 0 ,1]:
- if field[x][y]["life"] < field[z][y]["life"]:
- if field[x][y+1]== 0:
- return "go_down"
- elif filed[x][y-1]== 0:
- return "go_up"
- elif filed[x-1][y]== 0:
- return "go_left"
- if field[z][y] == -1:
- break
- if field[z][y] not in [-1, 0 ,1]:
- return "fire_right"
- for f in range(y-1,-1,-1):
- if field[x][f] not in [-1, 0 ,1]:
- if field[x][y]["life"] < field[x][f]["life"]:
- if field[x+1][y]== 0:
- return "go_right"
- elif filed[x-1][y]== 0:
- return "go_left"
- elif filed[x][y+1]== 0:
- return "go_down"
- if field[x][f] == -1:
- break
- if field[x][f] not in [-1, 0 ,1]:
- return "fire_up"
- for j in range(x-1,-1,-1):
- if field[j][y] not in [-1, 0 ,1]:
- if field[x][y]["life"] < field[j][y]["life"]:
- if field[x][y+1]== 0:
- return "go_down"
- elif filed[x][y-1]== 0:
- return "go_up"
- elif filed[x+1 ][y]== 0:
- return "go_right"
- if field[j][y] == -1:
- break
- if field[j][y] not in [-1, 0 ,1]:
- return "fire_left"
- #счёт пути до монет
- for i in range(y-1,-1,-1):
- if field [x][i]==-1:
- break
- if field[x][i] == 1:
- up_coin = abs(x-i)
- break
- for a in range(x+1, width):
- if field [a][y]==-1:
- break
- if field[a][y] == 1:
- right_coin = abs(a-y)
- break
- for b in range(x-1,-1,-1):
- if field [b][y]==-1:
- break
- if field[b][y] == 1:
- left_coin = abs(b-y)
- break
- for d in range(y+1, height):
- if field [x][d]==-1:
- break
- if field[x][d] == 1:
- down_coin = abs(x-d)
- break
- if up_coin == min([up_coin, left_coin, right_coin, down_coin, 999]):
- if field [x][y-1]:
- return "go_up"
- if down_coin == min([up_coin, left_coin, right_coin, down_coin, 999]):
- if field [x][y+1]:
- return "go_down"
- if left_coin == min([up_coin, left_coin, right_coin, down_coin, 999]):
- if field [x-1][y]:
- return "go_left"
- if right_coin == min([up_coin, left_coin, right_coin, down_coin, 999]):
- if field [x+1][y]:
- return "go_right"
- return random.choice(actions)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement