Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def make_choice(x,y,field):
- my_life = field[x][y]['life']
- act = ''
- #width = len(field)
- #height = len(field[0])
- tanks = []
- coin_up = False
- coin_down = False
- coin_left = False
- coin_right = False
- coin = False
- tank = False
- tank_up = False
- tank_down = False
- tank_left = False
- tank_right = False
- tank_life_en = {}
- actions = []
- if x - 1 != 0:
- for i in range(x-1, 0):
- if field[i][y] == 1:
- coin_left = True
- if field[i][y] not in [-1, 0, 1]:
- tank_left = True
- tank_life_en = field[i][y]['life']
- break
- if field[i][y] == -1:
- break
- if x + 1 != len(field):
- for i in range(x+1, len(field)):
- if field[i][y] == 1:
- coin_right = True
- if field[i][y] not in [-1, 0, 1]:
- tank_right = True
- tank_life_en = field[i][y]['life']
- break
- if field[i][y] == -1:
- break
- if y - 1 != 0:
- for i in range(y-1, 0):
- if field[x][i] == 1:
- coin_up = True
- if field[x][i] not in [-1, 0, 1]:
- tank_up = True
- tank_life_en = field[x][i]['life']
- break
- if field[x][i] == -1:
- break
- if y + 1 != len(field[x]):
- for i in range(y+1, len(field[x])):
- if field[x][i] == 1:
- coin_down = True
- if field[x][i] not in [-1, 0, 1]:
- tank_down = True
- tank_life_en = field[x][i]['life']
- break
- if field[x][i] == -1:
- break
- if coin_up == True or coin_down == True or coin_left == True or coin_right == True:
- coin = True
- if coin_up == True:
- coin = True
- act = 'go_up'
- elif coin_down == True:
- coin = True
- act = 'go_down'
- elif coin_left == True:
- coin = True
- act = 'go_left'
- elif coin_right == True:
- coin = True
- act = 'go_right'
- if tank_up == True or tank_down == True or tank_left == True or tank_right == True:
- tank = True
- if tank_up == True:
- if tank_life_en > my_life:
- if field[x+1][y] == 0:
- act = 'go_right'
- elif field[x-1][y] == 0:
- act == 'go_left'
- else:
- act = 'fire_up'
- elif tank_down == True:
- if tank_life_en > my_life:
- if field[x+1][y] == 0:
- act = 'go_right'
- elif field[x-1][y] == 0:
- act == 'go_left'
- else:
- act = 'fire_down'
- elif tank_left == True:
- if tank_life_en > my_life:
- if field[x][y+1] == 0:
- act = 'go_up'
- elif field[x][y-1] == 0:
- act = 'go_down'
- else:
- act = 'fire_left'
- elif tank_right == True:
- if tank_life_en > my_life:
- if field[x][y+1] == 0:
- act = 'go_up'
- elif field[x][y-1] == 0:
- act = 'go_down'
- else:
- act = 'fire_right'
- if field[x+1][y] == 0:
- actions.append('go_right')
- if field[x-1][y] == 0:
- actions.append('go_left')
- if field[x][y+1] == 0:
- actions.append('go_up')
- if field[x][y-1] == 0:
- actions.append('go_down')
- if tank == True:
- return act
- elif coin == True:
- return act
- else:
- return random.choice(actions)
- if __name__ == "__main__":
- T = {"life": 10}
- my_field = [
- [0,0,0,0],
- [0,T,0,1],
- [0,0,T,0],
- [0,0,0,0]
- ]
- my_x = 1
- my_y = 1
- res = make_choice(my_x, my_y, my_field)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement