我該如何進行碰撞?所以龜/蛇不會離開盒子。試圖讓他們留在(-200,-200)和(200,200)之內。Python龜碰撞
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()
任何幫助?謝謝。所以,我正試圖完成這一點。是的,這是我正在努力完成的實驗室功課。如果你們能夠幫助我或爲我提供我能做的事情,那將是非常棒的。 PS:我對龜很不好。我從來沒有學過烏龜,我也學過Python。
你想在碰到邊緣時發生什麼?順便說一句,我見過的最酷的海龜節目。 – Veedrac
這是一項家庭作業嗎?如果是這樣,你真的應該在你的問題中澄清。 Stackoverflow可以給你指針,但要求不止於此是不道德的和作弊的。 龜中沒有魔法命令來幫助你做你想做的事情......你必須檢查每個遞歸步驟/迭代與盒子的相對位置。 – yasashiku
@ yasashiku是這是一個重要的。此外,這將如何作弊,因爲我需要幫助如何做到這一點。我不知道從哪裏開始。 – Singh2013