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()'関数は現在の方向に一歩前進します。それが良い考えではないかどうかをテストします(つまり、サークルに入ったり、ウィンドウの境界から外れたりしたかどうか)。それが悪い考えであれば、それはそれを取り消し(移動前に位置を戻す)、Uターンを行います(しかし前進しません)。良いか悪いかにかかわらず、この機能への別の呼び出しのためのタイマーを100msecに設定します。あなたが細かい詳細で説明したい部分を教えてください。 – cdlane