使用海龟图形在 python 中标记游戏板

Labeling a game board in python using turtle graphics

我目前正在为蛇和梯子制作一个 5x5 的网格,但不知道如何在这个阵型的网格上显示数字;

21,22,23,24,25
                               
20,19,18,17,16
                               
11,12,13,14,15
                               
10, 9, 8, 7, 6
                               
1 , 2, 3, 4, 5

我写的代码制作了 5x5 网格,我只是想知道如何添加标签,如果我应该采取 使用代码的不同方法。

感谢您的帮助。

import turtle 

    t = turtle.Turtle()
    speed = turtle.speed()

    t.speed(10)
    x=250
    y=250
    t.penup()
    t.goto(-x,y)
    t.pendown()
    turtle.hideturtle()
    turtle.ht()
    for a in range(5):
        t.penup()
        t.goto(-x,-y)
        t.pendown()
        y=y-100

        for b in range(5):
            for n in range(5):
                t.speed(10)
                t.fd(100)
                if n!=4:
                    t.right(90) here

这是一个解决方案,它使用了您现有的大部分逻辑,稍微调整了一下,并添加了数字:

from turtle import Screen, Turtle

FONT_SIZE = 18
FONT = ('Arial', FONT_SIZE, 'bold')

BOXES = 5
BOX_SIZE = 100

screen = Screen()

turtle = Turtle()
turtle.hideturtle()
turtle.speed('fastest')

x = -BOX_SIZE * BOXES / 2
y = -BOX_SIZE * BOXES / 2

for i in range(BOXES):
    turtle.penup()
    turtle.goto(x, y)
    turtle.pendown()

    for j in range(BOXES):
        for _ in range(4):
            turtle.forward(BOX_SIZE)
            turtle.left(90)

        dx, dy = turtle.position()

        turtle.penup()
        turtle.goto(dx + BOX_SIZE/2, dy + BOX_SIZE/2 - FONT_SIZE / 2)
        turtle.write(j + BOXES * i + 1, align='center', font=FONT)
        turtle.setposition(dx, dy)
        turtle.pendown()

        turtle.forward(BOX_SIZE)

    y += BOX_SIZE

screen.exitonclick()

在居中方面,垂直字体校正 (FONT_SIZE / 2) 是一种在我的系统上运行良好的近似值,但如果您想要适用于所有系统的准确解决方案,请参阅