это снова я, извините за беспокойство. я совсем недавно (чуть больше недели) начал осваивать с нуля программирование. может задачки и простые, но что-то запнулся на последней из этой практики. Задача №32: task_8_18. Закрасить отмеченные клетки. В регистр ax записать количество клеток, которые были закрашены ещё до того, как робот начал двигаться. Количество и размеры коридоров не известны.
2 вариант: с таким кодом все проходится, но проблема с регистром AX. ума не приложу что с этим делать.
def up():
if cell_is_filled():
if not wall_is_above():
move_up()
x+=1
else:
fill_cell()
if not wall_is_above():
move_up()
if wall_is_above():
while not wall_is_beneath():
move_down()
@task(delay=0.01)
def task_8_18():
x=0
while not wall_is_on_the_right():
if wall_is_above() and wall_is_beneath():
fill_cell()
move_right()
else:
move_up()
up()
def up():
while not wall_is_above():
if cell_is_filled():
if not wall_is_above():
move_up()
else:
fill_cell()
if not wall_is_above():
move_up()
if wall_is_above():
if cell_is_filled():
move_down()
else:
fill_cell()
while wall_is_on_the_left():
move_down()
if not wall_is_on_the_right():
move_right()
@task(delay=0.05)
def task_8_18():
while not wall_is_on_the_right():
if wall_is_above() and wall_is_beneath():
fill_cell()
move_right()
else:
move_up()
up()