Найти - Пользователи
Полная версия: Графический исполнитель "Робот"
Начало » Python для новичков » Графический исполнитель "Робот"
1 2 3 4 None 27 28 29 30 31
Vangeli

Спасибо за обратную связь, я сделал счётчиками действительно потому, что не нашёл другого удобного способа

но хотелось бы пояснить свой тезисы, ты пишешь:
py.user.next
Оно здесь есть, только ты его не видишь,

но тем ни менее твой код заканчивается так:

шагнуть вправо
шагнуть вниз
конец цикла

И когда я писал, что не смог найти закономерность для масштабирования, то это было только о том, что не смог в изначальный скрипт, ровно как и в твоём коде, заложить точку выхода. У нас обоих так или иначе делается дополнительное действие после основного алгоритма

Но, ты безусловно прав о формах и методах обучения. Но я ведь прихожу к подобному решению только потому что не вижу другого, и снова, как ты правильно заметил, из-за отсутствия опыта. Но тем ни менее, все эти хитрые сложные алгоритмы - не из головы, а результате чтения книжек М. Лутца
py.user.next
Vangeli
но тем ни менее твой код заканчивается так:
шагнуть вправо
шагнуть вниз
конец цикла
Ну, там ещё один выход и цикла есть.

Здесь делал эту задачу.

Вот этот фрагмент
цикл выполнять
шагнуть вниз
если снизу_нет_стены то
шагнуть вверх
иначе
шагнуть вверх
выход из цикла
конец если
Он как раз и определяет, нужно ли остановиться.

  
>>> from pyrob.api import *
>>> 
>>> 
>>> @task(delay=0.05)
... def task_4_3():
...     move_right()
...     while True:
...         move_down()
...         if not wall_is_beneath():
...             move_up()
...         else:
...             move_up()
...             break
...         while not wall_is_on_the_right():
...             fill_cell()
...             move_right()
...         while not wall_is_on_the_left():
...             move_left()
...         move_right()
...         move_down()
...     
... 
>>> if __name__ == '__main__':
...     run_tasks()
... 
INFO:pyrob:Starting task task_4_3
INFO:pyrob:Task task_4_3 finished: +
INFO:pyrob:Total: 1/1
True
>>>

Vangeli
И когда я писал, что не смог найти закономерность для масштабирования, то это было только о том, что не смог в изначальный скрипт, ровно как и в твоём коде, заложить точку выхода. У нас обоих так или иначе делается дополнительное действие после основного алгоритма
А с чего ты взял-то, что там должна быть точка выхода? Там же человек придумывал эту задачу, и он её специально придумал так, чтобы точкой выхода были два последних ряда незакрашенных во всём поле. Дело в том, что клетки, которые нужно закрасить, никак не определяются исполнителем, такой операции у него нет “проверь, является ли клетка необходимой для закрашивания”. Он может только проверить ещё не закрашенную клетку и уже закрашенную клетку. Поэтому никакого другого способа, кроме как по наличию стены, определить конец закрашивания невозможно. Подумай сам: как ты без участия нижней стены определишь там конец закрашенного блока? Никак.
benchase
This graphic artist “Robot” is such a creative concept! I love how it combines technology with art. It's amazing to see how Python can be used to bring ideas like this to life. Can't wait to explore more about creating graphics and animations using code! Anyone have tips for beginners?
____ _________________________
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB