^我刚开始使用python尝试将蛇编码为游戏,从现在起我就拥有此代码
import turtle
import os
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()
player = turtle.Turtle()
player.color("blue")
player.shape("triangle")
player.penup()
player.speed(0)
player.setposition(0, -250)
player.setheading(90)
playerspeed = 15
def move_left():
x = player.xcor()
x -= playerspeed
if x < -280:
x = - 280
player.setx(x)
def move_right():
x = player.xcor()
x += playerspeed
if x > 280:
x = 280
player.setx(x)
turtle.listen()
turtle.onkey(move_left(), "Left")
turtle.onkey(move_right, "Right")
delay = input("Press enter to finish.")
所有内容都在代码上工作,但问题是我看不到游戏,因为它始终在崩溃时显示“无响应”,然后我需要关闭它,你能帮我吗
我有一台64位笔记本电脑
但是我需要使用32bit来打开它,这就是为什么我尝试安装32bit却仍然无法正常工作的原因
答案 0 :(得分:0)
您真的真的把我带到了这里。我找不到单个错误,但它死机了,但不是每个人都遇到。好的,我没有发现了一个错误:
首先将<?php hello(); ?>
更改为turtle.onkey(move_left(), "Left")
。
我发现问题出在你的最后一行:
turtle.onkey(move_left, "Left")
我不太确定,但是我怀疑input()语句正在等待输入,导致其余程序冻结,直到按下Enter键为止。但这也关闭了程序。显然,这不是使窗口保持活动状态的正确选择。将此行替换为:
delay = input("Press enter to finish.")
现在您的程序不再冻结,但让我们移动蓝色三角形。