我正在制作一个太空入侵者克隆只是为了学习一点Python,因为我刚开始使用它。我做了一个turtle.Screen()
,但每次我跑它,它立即冻结和崩溃。有谁知道是什么导致了这个问题?
import turtle
from turtle import forward, right, left
forward(50)
import os
import math
import random
import shelve
wn = turtle.Screen()
wn.bgcolor("black")
wn.title("Space invaders")
border_pen = turtle.Turtle()
border_pen.speed(0)
border_pen.color("white")
border_pen.penup()
border_pen.setposition(-300, -300)
border_pen.pendown()
border_pen.pensize(3)
for side in range(4):
border_pen.fd(600)
border_pen.lt(90)
border_pen.hideturtle()
delay = input("press enter to finish.")
我调试时没有错误,虽然在“from turtle import forward,right,left”行中,“forward,right,left”字样由于某种原因被标记为红色。 (如果有任何有用的信息,我也会使用pycharm社区版。)
答案 0 :(得分:2)
嘿,我知道这很老了,但是我遵循的是与您在YouTube上制作的《太空入侵者》游戏使用的相同的教程,所以我遇到了同样的问题。崩溃来自使用“ delay = input()”
只需擦除底部的内容,然后像wnd.exitonclick()一样替换cdlane即可,这是一个完整的修复程序。
希望这可以帮助其他执行本教程并陷入困境的人。
答案 1 :(得分:1)
一旦(重新)正确缩进,它对我有用。我建议你摆脱你不使用的所有进口以及合并到单一的海龟进口。用于调试的略微简化的龟代码:
from turtle import Turtle, Screen
wn = Screen()
wn.bgcolor("black")
wn.title("Space invaders")
border_pen = Turtle()
border_pen.speed("fastest")
border_pen.color("white")
border_pen.pensize(3)
border_pen.penup()
border_pen.setposition(-300, -300)
border_pen.pendown()
for side in range(4):
border_pen.forward(600)
border_pen.left(90)
border_pen.hideturtle()
wn.exitonclick()
然后检查这是否有效,如果没有,请向我们提供您获得的实际错误消息(例如,编辑原始问题以包含任何错误消息。)