我做错了什么?我在我的pycharm和我的turtle上使用turtle.写方法没有显示在屏幕上 &



下面是我的scoreboard.py和main.py代码,但在我点击运行后,我无法在屏幕上看到我的分数。

from turtle import Turtle
ALIGNMENT = "center"
FONT = ("Courier", 14, "normal")

class Scoreboard(Turtle):
def __init__(self):
super().__init__()
self.score = 0
self.color("white")
self.penup()
self.goto(0, 270)
self.hideturtle()
self.update_scoreboard()
def update_scoreboard(self):
self.write(f"Score: {self.score}", align=ALIGNMENT, font=FONT)
def game_over(self):
self.goto(0, 0)
self.write("GAME OVER", align=ALIGNMENT, font=FONT)
def increase_score(self):
self.score += 1
self.clear()

then my main.py

from turtle import Screen
from snake import Snake
from food import Food
import time
from scoreboard import Scoreboard
screen = Screen()
screen.setup(width=600, height=500)
screen.bgcolor("black")
screen.title("my snake game")
screen.tracer(0)
snake = Snake()
food = Food()
scoreboard = Scoreboard()
screen.listen()
screen.onkey(snake.up, "Up")
screen.onkey(snake.down, "Down")
screen.onkey(snake.left, "Left")
screen.onkey(snake.right, "Right")
game_is_on = True
while game_is_on:
screen.update()
time.sleep(0.1)
snake.move()

那么,基于两个文件:scoreboard和main.py,我提交了什么来阻止我的分数在屏幕上显示?

窗口的高度为500(Y-250...250范围内),您在位置(0, 270)写入,因此它写入窗口外,您无法看到它。

(0, 200)为例:


全部工作示例——所有在一个文件中,但是每个人都可以简单地复制和运行它。

from turtle import Turtle
from turtle import Screen
import time
ALIGNMENT = "center"
FONT = ("Courier", 14, "normal")
class Scoreboard(Turtle):
def __init__(self):
super().__init__()
self.score = 0
self.color("white")
self.penup()
self.goto(0, 200)   # <-- HERE
self.hideturtle()
self.update_scoreboard()
def update_scoreboard(self):
self.write(f"Score: {self.score}", align=ALIGNMENT, font=FONT)
def game_over(self):
self.goto(0, 0)
self.write("GAME OVER", align=ALIGNMENT, font=FONT)
def increase_score(self):
self.score += 1
self.clear()

screen = Screen()
screen.setup(width=600, height=500)
screen.bgcolor("black")
screen.title("my snake game")
screen.tracer(0)
scoreboard = Scoreboard()
screen.listen()
game_is_on = True
while game_is_on:
screen.update()
time.sleep(0.1)

相关内容

最新更新