gpt4 book ai didi

python - 我正在尝试用 python 编写一个带有 turtle 图形的游戏,但是 Action 坏了

转载 作者:行者123 更新时间:2023-12-01 00:05:06 25 4
gpt4 key购买 nike

所以,这就是我到目前为止所拥有的:

import time
import random

#Window
wn = turtle.Screen()
wn.title("Turtle Game")
wn.bgcolor("black")
wn.setup(width=600, height=600)
wn.tracer(0)

#Player's character
player = turtle.Turtle()
player.speed(0)
player.shape("square")
player.color("white")
player.penup()
player.goto(0,0)
player.direction = "stop"

#Player's movement
def go_up():
if player.direction != "down":
player.direction = "up"

def go_down():
if player.direction != "up":
player.direction = "down"

def go_left():
if player.direction != "right":
player.direction = "left"

def go_right():
if player.direction != "left":
player.direction = "right"

def move():
if player.direction == "up":
y = player.ycor()
player.sety(y + 20)

if player.direction == "down":
y = player.ycor()
player.sety(y - 20)

if player.direction == "left":
x = player.xcor()
player.setx(x - 20)

if player.direction == "right":
x = player.xcor()
player.setx(x + 20)

#Listen for keypresses
wn.listen()
wn.onkeypress(go_up, "w")
wn.onkeypress(go_down, "s")
wn.onkeypress(go_left, "a")
wn.onkeypress(go_right, "d")

目前,我所看到的只是窗口中的空白屏幕。 #Window 似乎工作正常,但除此之外,没有其他内容出现。老实说,我不确定为什么会发生这种情况,所以我向 StackOverflow 寻求帮助。

最佳答案

代码中的一些要点:

  1. 我必须在开头添加 importturtle 才能使用 turtle 模块。

  2. 窗口打开,然后立即关闭。我必须在末尾添加 wn.exitonclick() 以保持窗口打开。

  3. move() 函数永远不会被调用。我必须在 go_upgo_downgo_left 中添加对 move() 的调用更新玩家方向后 go_right

  4. 您可以通过设置wn.tracer(0)来禁用跟踪。继documentation ,如果没有跟踪,您必须使用turtle.update()手动刷新窗口。我将此调用添加到了 move() 函数的末尾。或者,您可以使用 wn.tracer(1) 在每次更改时自动刷新屏幕。

    诚然,文档对于 0 的效果并不完全清楚。

将这些更改应用于您的代码会给我一个窗口,我可以在其中使用 w/a/s/d

一个附加说明:我不清楚您想要对 go_... 函数中的 if 语句执行什么操作。在 go_up() 中,仅当方向当前不是向下时,才将方向设置为向上。这会导致当我向下移动 turtle 时,我无法再次向上移动它,直到我通过 go_left()/go_right() 进行侧步。这看起来很奇怪。也许您只想在方向尚未向上时才更新为向上?如:

    if player.direction != "up":
player.direction = "up"

关于python - 我正在尝试用 python 编写一个带有 turtle 图形的游戏,但是 Action 坏了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60028672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com