어떻게 충돌을합니까? 그래서 거북이/뱀은 상자 밖으로 나가지 않습니다. 그들 (-200, -200)과 (200, 200) 안에 머무르려고합니다.파이썬 거북이 충돌
from turtle import *
from random import *
def bounding_box():
up()
right(90)
forward(200)
down()
left(90)
forward(200)
left(90)
forward(400)
left(90)
forward(400)
left(90)
forward(400)
left(90)
forward(200)
up()
goto(0,0)
down()
def drawSnakeRec(segments, length):
if segments <= 0 or length <= 0:
return 0
else:
color(random(), random(), random())
forward(length)
pensize(randint(1,10))
left(randint(-30, 30))
return length + drawSnakeRec(segments - 1, randint(1,20))
def drawSnakeIter(segments, length):
TL = 0
while segments > 0:
color(random(), random(), random())
pensize(randint(1,10))
forward(length)
left(randint(-30, 30))
TL += length
segments -=1
return TL
def main():
segments = int(input("Enter the segments between 0 and 500: "))
bounding_box()
hideturtle()
speed('fast')
if segments < 0 or segments > 500:
print("Segments is out of range. Segment must be between 0 and 500 inclusive")
input("Press enter to close")
else:
x = drawSnakeRec(segments, randint(1, 20))
print("Recursive Snake's Length is:",x,"Units")
input("Press Enter to go on Iterative Snake")
up()
goto(0,0)
reset()
bounding_box()
y = drawSnakeIter(segments, randint(1,20))
print("Iterative Snake's Length is:",y," Units")
input("Press Enter to exit...")
bye()
main()
도움이 필요하십니까? 고맙습니다. 그래서, 나는 이것을 끝내려고 노력하고 있습니다. 예, 제가 끝내려고하는 연구실 숙제입니다. 여러분이 저를 도울 수 있거나 제게 할 수있는 일을 제공 할 수 있다면 좋을 것입니다. 추신 : 나는 거북이에 나쁘다. 나는 전에 거북이를 배운 적이 없으며, 나는 파이썬을 조금 배웠다.
가장자리에 닿으면 어떻게 될까요? 내가 본 것 중 가장 멋진 거북이 프로그램, btw. – Veedrac
숙제가 있습니까? 그렇다면 귀하의 질문에 그 사실을 분명히 밝혀야합니다. Stackoverflow 당신에게 포인터를 줄 수 있지만 그 이상을 요구하는 것은 비 윤리적이고 부정 행위입니다. 거북이에는 원하는 것을 수행 할 수있는 마법 명령이 없습니다. 각 재귀 단계/반복이 상자와 관련이 있는지 확인해야합니다. – yasashiku
@yasashiku 예예요. 이것은 hw입니다. 또한이 작업을 수행하는 방법에 대한 도움이 필요하기 때문에 이것이 어떻게 부정 행위가 될 수 있습니까? 어디서부터 시작해야할지 모르겠습니다. – Singh2013