1
好吧,我一整天都在這裏,一點也不知道。我需要讓我的烏龜對象在之外畫一個圓圈。python中的龜內圈邊界
我已經做了限制之前的邊界內的隨機線的代碼,所以我認爲我所要做的只是改變標誌,但沒有奏效。我不能用座標幾何 - 它有更多的東西基本...
這裏是我的代碼,在它的當前格式:
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()'函數向當前方向前進了一步。它測試這是不是一個好主意(即我們是否進入圈子或離開窗口邊界)。如果這是一個糟糕的主意,它會解除它(把它的位置恢復到移動前的位置)並進行掉頭(但不會向前移動)。無論移動的好壞,它都會進行額外的輕微轉動(絆腳石效應),並在100ms內啓動另一個對此功能的調用的定時器。讓我知道你想要更詳細地描述哪部分內容。 – cdlane