Implement condition functions
parent
70456794a4
commit
cf311ae3fa
51
lambdaV.py
51
lambdaV.py
|
@ -74,30 +74,51 @@ def draw_field():
|
||||||
print(field[row][column], end="")
|
print(field[row][column], end="")
|
||||||
print("")
|
print("")
|
||||||
|
|
||||||
def condition_in_front_of_wall(inverted):
|
|
||||||
return False
|
|
||||||
|
|
||||||
def condition_goal_reached(inverted):
|
|
||||||
return False
|
|
||||||
|
|
||||||
def condition_on_apple(inverted):
|
|
||||||
return False
|
|
||||||
|
|
||||||
def condition_facing_north(inverted):
|
def condition_facing_north(inverted):
|
||||||
return False
|
if inverted:
|
||||||
|
return not cursor_current == cursor_north
|
||||||
|
return cursor_current == cursor_north
|
||||||
|
|
||||||
def condition_facing_south(inverted):
|
def condition_facing_south(inverted):
|
||||||
return False
|
if inverted:
|
||||||
|
return not cursor_current == cursor_south
|
||||||
|
return cursor_current == cursor_south
|
||||||
|
|
||||||
def condition_facing_east(inverted):
|
def condition_facing_east(inverted):
|
||||||
return False
|
if inverted:
|
||||||
|
return not cursor_current == cursor_east
|
||||||
|
return cursor_current == cursor_east
|
||||||
|
|
||||||
def condition_facing_west(inverted):
|
def condition_facing_west(inverted):
|
||||||
return False
|
if inverted:
|
||||||
|
return not cursor_current == cursor_west
|
||||||
|
return cursor_current == cursor_west
|
||||||
|
|
||||||
# condition prefixed with !
|
def condition_in_front_of_wall(inverted):
|
||||||
def modifier_not(condition):
|
if condition_facing_north(False):
|
||||||
return condition(true)
|
result = field[cursor_position[1]-1][cursor_position[0]]==wall or field[cursor_position[1]-1][cursor_position[0]]=='_'
|
||||||
|
elif condition_facing_south(False):
|
||||||
|
result = field[cursor_position[1]+1][cursor_position[0]]==wall or field[cursor_position[1]+1][cursor_position[0]]=='¯'
|
||||||
|
elif condition_facing_east(False):
|
||||||
|
result = field[cursor_position[1]][cursor_position[0]+1]==wall or field[cursor_position[1]][cursor_position[0]+1]=='|'
|
||||||
|
elif condition_facing_west(False):
|
||||||
|
result = field[cursor_position[1]][cursor_position[0]-1]==wall or field[cursor_position[1]][cursor_position[0]-1]=='|'
|
||||||
|
else:
|
||||||
|
result = False
|
||||||
|
if inverted:
|
||||||
|
return not result
|
||||||
|
return result
|
||||||
|
|
||||||
|
def condition_goal_reached(inverted):
|
||||||
|
if inverted:
|
||||||
|
return not field[cursor_position[1]][cursor_position[2]]==goal
|
||||||
|
return field[cursor_position[1]][cursor_position[2]]==goal
|
||||||
|
|
||||||
|
def condition_on_apple(inverted):
|
||||||
|
if inverted:
|
||||||
|
return not field[cursor_position[1]][cursor_position[2]]==apple
|
||||||
|
return field[cursor_position[1]][cursor_position[2]]==apple
|
||||||
|
|
||||||
# return value: "" or error message
|
# return value: "" or error message
|
||||||
def command_step():
|
def command_step():
|
||||||
|
|
Loading…
Reference in New Issue