# move challenge question for task 1

Our game's player only has two attributes, x and y coordinates. Let's practice with a slightly different one, though. This one has x, y, and "hp", which stands for hit points.

Our move function takes this three-part tuple player and a direction tuple that's two parts, the x to move and the y (like (-1, 0) would move to the left but not up or down).

Finish the function so that if the player is being run into a wall, their hp is reduced by 5. Don't let them go past the wall. Consider the grid to be 0-9 in both directions. Don't worry about keeping their hp above 0 either.

Any ideas on what I am doing wrong here?

movement.py
```# EXAMPLES:
# move((1, 1, 10), (-1, 0)) => (0, 1, 10)
# move((0, 1, 10), (-1, 0)) => (0, 1, 5)
# move((0, 9, 5), (0, 1)) => (0, 9, 0)

#def wall_perimeter(player):

def move(player, direction):
x, y, hp = player
if ((direction[0]+x)>=0 or (direction[1]+y)>=0 or (direction[0]+x)<=9 or (direction[1]+y)<=9) is True:
move_x,move_y=direction
x=x+move_x
y=y+move_y
else:
print('You hit a wall')
hp=hp-5
return x, y, hp
```

```def move(player, direction):
x, y, hp = player
if ((direction[0]+x)>=0 and (direction[1]+y)>=0 and (direction[0]+x)<=9 and (direction[1]+y)<=9) is True:
move_x,move_y=direction
x=x+move_x
y=y+move_y
else:
print('You hit a wall')
hp=hp-5
return x, y, hp
```

That worked, and another way of writing it:

```#EXAMPLES:
#move((1, 1, 10), (-1, 0)) => (0, 1, 10)
#move((0, 1, 10), (-1, 0)) => (0, 1, 5)
#move((0, 9, 5), (0, 1)) => (0, 9, 0)

def move(player, direction):
x, y, hp = player
a, b = direction
if a + x >= 0 and b + y >= 0 and a + x <= 9 and b + y <= 9:
x += a
y += b
else:
hp -= 5

return x, y, hp
```