标签: turtle-graphics

蟒龟速度

我和我的朋友正在使用海龟开发 Python 游戏。我们的问题在于它定义海龟的部分。我们试图加快每只海龟的速度,但是当我们这样做时,默认速度会运行。为什么会出现这个问题?

import turtle


turtle.setup(1000,1000)
wn=turtle.Screen()
wn.title("Snake Game!")

#defines first turtle

t1=turtle.Turtle()
t1.pensize(2)
t1.speed(3)
t1.penup()
t1.goto(0,100)
t1.color("blue", "blue")
t1.pendown()

#defines second turtle

t2=turtle.Turtle()
t2.pensize(2)
t2.speed(3)
t2.penup()
t2.goto(0,-100)
t2.color("red", "red")
t2.pendown()

#defines outline

ol=turtle.Turtle()
ol.pensize(2)
ol.speed(7)
ol.penup()
ol.goto(450,0)
ol.color("black", "black")
ol.pendown()

ol.left(90)
ol.forward(300)
ol.left(90)
ol.forward(900)
ol.left(90)
ol.forward(600)
ol.left(90)
ol.forward(900)
ol.left(90)
ol.forward(300)
ol.hideturtle()

#defines score

score1=int(2)
score2=int(2)

def motion():
    global move, score1, score2
    move = True
    path1 = []
    path2 = []

#prints score


    print("Player 1's score is", str(score1)+"!")
    print("Player 2's …
Run Code Online (Sandbox Code Playgroud)

python turtle-graphics

3
推荐指数
1
解决办法
3万
查看次数

有没有办法将海龟的绘图保存为动画 GIF?

我喜欢乌龟模块在 Python 中所做的,我想输出它绘制形状的整个动画。有没有办法做到这一点?GIF/MP4/任何显示动画的东西。请注意,我知道外部屏幕录像机可以完成这项工作,但我正在寻找一种让乌龟模块自己完成这项工作的方法。

python gif turtle-graphics

3
推荐指数
1
解决办法
6176
查看次数

使用 Python 海龟在螺旋中绘制螺旋

我的乌龟安吉代码有什么问题?我想让她在布拉德的方圆内盘旋。

我的代码:

import turtle

def draw_square(some_turtle):

    for i in range (1,5):
        some_turtle.forward(200)
        some_turtle.right(90)

def draw_art():
    window = turtle.Screen()
    window.bgcolor("black")
    #Turtle Brad
    brad = turtle.Turtle()
    brad.shape("turtle")
    brad.color("yellow")
    brad.speed(6)
    brad.pensize(2)
    for i in range(1,37):
        draw_square(brad)
        brad.right(10)
    #Turtle Angie
    angie = turtle.Screen()
    angie.shape("turtle")
    angie.color("blue")
    angie.speed(5)
    angie.pensize(2)
    size=1
    while (True):
        angie.forward(size)
        angie.right(91)
        size = size + 1

    window.exitonclick()

draw_art()
Run Code Online (Sandbox Code Playgroud)

这是我想要的照片。我想要布拉德的外部显示,然后在里面的圆圈包括螺旋。它应该看起来像附加的螺旋图像。谢谢!

布拉德 安琪

python turtle-graphics

3
推荐指数
1
解决办法
4万
查看次数

乌龟和乌龟的区别?

python 2.7版中的turtleTurtle有什么不同?

import turtle
star = turtle.Turtle()
for i in range(50):
    star.forward(50)
    star.right(144)
turtle.done()
Run Code Online (Sandbox Code Playgroud)

python turtle-graphics python-2.7 python-turtle

3
推荐指数
1
解决办法
2091
查看次数

检测 Python 海龟游戏中的碰撞

我正在尝试制作一个红海龟追逐蓝海龟的Python游戏。当红海龟抓住蓝海龟时,我希望它在屏幕上显示“碰撞”,但它不起作用。当它碰撞时,什么也没有发生,并且给我一个错误“Turtle”对象不可调用”。

from turtle import Turtle, Screen

playGround = Screen()

playGround.screensize(250, 250)
playGround.title("Turtle Keys")

run = Turtle("turtle")
run.speed("fastest")
run.color("blue")
run.penup()
run.setposition(250, 250)

follow = Turtle("turtle")
follow.speed("fastest")
follow.color("red")
follow.penup()
follow.setposition(-250, -250)

def k1():
    run.forward(45)

def k2():
    run.left(45)

def k3():
    run.right(45)

def k4():
    run.backward(45)

def quitThis():
    playGround.bye()

def follow_runner():
    follow.setheading(follow.towards(run))
    follow.forward(8)
    playGround.ontimer(follow_runner, 10)

playGround.onkey(k1, "Up")  # the up arrow key
playGround.onkey(k2, "Left")  # the left arrow key
playGround.onkey(k3, "Right")  # you get it!
playGround.onkey(k4, "Down")

playGround.listen()

follow_runner()

def is_collided_with(self, run):
    return self.rect.colliderect(run.rect)

runner …
Run Code Online (Sandbox Code Playgroud)

python collision-detection turtle-graphics python-3.x python-turtle

3
推荐指数
1
解决办法
3万
查看次数

海龟图形中的海龟方向?

如何告诉乌龟面向乌龟图形中的方向?我希望乌龟能够转动并面向一个方向,无论其原始位置如何,我怎样才能实现这一点?

python turtle-graphics python-turtle

3
推荐指数
1
解决办法
2万
查看次数

将 Python Turtle 指向特定坐标

有没有办法让海龟指向某个坐标

对此的任何帮助将不胜感激。

python turtle-graphics python-3.x

3
推荐指数
1
解决办法
4076
查看次数

如何检测python Turtle图形中的X(关闭)按钮?

当我在 Turtle 图形中运行无限循环绘图时单击 X(关闭)按钮时,会出现一些错误消息。

下面是一个例子:

import turtle

wn = turtle.Screen()
tess = turtle.Turtle()

while True:
    tess.forward(50)
    tess.left(120)
    tess.forward(50)

wn.mainloop()
Run Code Online (Sandbox Code Playgroud)

当我关闭窗口时,会出现以下错误消息。

Traceback (most recent call last):
  File "/Users/user/Downloads/test.py", line 8, in <module>
    tess.forward(50)
  File "/Users/user/anaconda3/lib/python3.6/turtle.py", line 1637, in forward
    self._go(distance)
  File "/Users/user/anaconda3/lib/python3.6/turtle.py", line 1605, in _go
    self._goto(ende)
  File "/Users/user/anaconda3/lib/python3.6/turtle.py", line 3178, in _goto
    self._pencolor, self._pensize, top)
  File "/Users/user/anaconda3/lib/python3.6/turtle.py", line 545, in _drawline
    self.cv.coords(lineitem, *cl)
  File "<string>", line 1, in coords
  File "/Users/user/anaconda3/lib/python3.6/tkinter/__init__.py", line 2463, in coords
    self.tk.call((self._w, 'coords') + args))]
_tkinter.TclError: …
Run Code Online (Sandbox Code Playgroud)

python turtle-graphics

3
推荐指数
1
解决办法
1405
查看次数

关于何时应该在函数中使用全局变量的经验法则

当我用函数编码游戏时,我经常对全局变量的哪个变量感到困惑。

我听说全球化变量不是一种很好的做法,所以我尝试通过不全球化任何变量来最小化数量,并且只全球化错误消息告诉我的变量。但是这样做很烦人,而且浪费时间。

有人能告诉我什么时候应该在函数中全局变量的经验法则,

什么时候不需要?

这是我的意思的示例(功能):

import turtle
from random import randint as rd
from time import sleep
delay = 0.1

wn = turtle.Screen()
wn.setup(400,400)
wn.tracer(0)

player = turtle.Turtle('square')
player.penup()
player.goto(0,-170)

rock = turtle.Turtle('circle')
rock.shapesize(0.5,0.5)
rock.penup()
rock.goto(rd(-190,190),200)

rocks = [rock]

pen = turtle.Turtle(visible=False)
pen.penup()
pen.goto(0,150)

def go_left(): # No globalizing here
    if player.xcor() >= -170:
        player.setx(player.xcor()-10)

def go_right(): # No globalizing here
    if player.xcor() <= 170:
        player.setx(player.xcor()+10)

def move_rocks(): # No globalizing here
    for rock in rocks:
        rock.sety(rock.ycor()-rd(0,2))

def loop_rocks():
    global …
Run Code Online (Sandbox Code Playgroud)

python function global-variables turtle-graphics python-turtle

3
推荐指数
1
解决办法
1333
查看次数

如何让乌龟画得更快?

我的代码:

import turtle

screen = turtle.Screen()
bob = turtle.Turtle()
screen.bgcolor("black")
bob.speed(0)


def crazy():
    for i in range(360):
        for colors in ['red', 'yellow', 'green', 'purple', 'orange', 'blue']:
            bob.pencolor(colors)
            bob.forward(i)
            bob.left(124)


crazy()
Run Code Online (Sandbox Code Playgroud)

我想大大加快绘制过程,以便更快地绘制最终图像。关于如何做到这一点有什么想法吗?

顺便说一句,我正在开发一个艺术蒙太奇 python 项目,你可能会猜到这个项目会在其中。感谢所有帮助,谢谢。

python turtle-graphics python-turtle

3
推荐指数
1
解决办法
1995
查看次数