Хорошо, я был на этом весь день и понятия не имею. Мне нужно, чтобы мой объект черепахи рисовал случайные линии снаружи круга.граница внутреннего круга черепахи в питоне
Я сделал код, который раньше ограничивал случайные строки в границах, поэтому я думал, что все, что мне нужно было сделать, это изменить знак, но это не сработало. Я не допускается использование координатной геометрии - это должно быть нечто большее, ...
Вот мой код в его нынешнем формате:
import turtle, random
mRoshi = turtle.Turtle()
def draw_any_shape(myTurtle, sideLength, numSides):
turnAng = 360/numSides
for i in range(numSides):
myTurtle.forward(sideLength)
myTurtle.right(turnAng)
def drawCircle(myTurtle, radius, startX, startY):
circumference = 2*3.1415*radius
sideLength = circumference/360
myTurtle.penup()
myTurtle.goto(startX, startY)
#myTurtle.dot()
myTurtle.goto(startX, startY+radius)
myTurtle.pendown()
draw_any_shape(myTurtle, sideLength, 360)
def stumblingTurtle(myTurtle, radius, startX, startY, paramN5):
circumference = 2*3.1415*radius
myTurtle.speed(6)
drawCircle(myTurtle, radius, startX, startY)
myTurtle.penup()
for i in range(paramN5):
drx = random.randint(-800, 800)
drw = random.randint(-800, 800)
if (drx**2 + drw**2) > radius**2:
myTurtle.goto(drx,drw)
crx = random.randint(-800, 800)
crw = random.randint(-800, 800)
xdif = crx-drx
ydif = crw-drw
for j in range(drx, crx):
for k in range(drw, crw):
if (xdif**2 + ydif**2) > radius**2:
myTurtle.goto(crx,crw)
Хорошо, мне нравится то, что ты сделал, но, когда я пытался адаптировать свой код для шахты (для назначения), он по-прежнему скрещены. Возможно, я упрощаю это, но все, что я сделал, это избавиться от всего после того, как crw добавит ваше первое условие if (я не смог правильно отобразить код в комментариях). – PolitEcon2016
Не могли бы вы объяснить мне вашу функцию bounded_random_move? – PolitEcon2016
@ PolitEcon2016, функция bounded_random_move() 'делает шаг вперед в текущем направлении. Он проверяет, не было ли это хорошей идеей (т. Е. Мы вошли в круг или вне границ окна). Если это была плохая идея, она отменяет ее (переставляя ее позицию назад перед движением) и делает разворот (но не движется вперед). Независимо от хорошего или плохого хода, он затем делает дополнительный небольшой поворот (эффект преткновения) и устанавливает таймер для другого вызова этой функции в 100 мс. Дайте мне знать, какую часть этого вы хотели бы описать более подробно. – cdlane