Rozdział 19 · Projekt: „Wąż”

Rysuj głowę

Głowa i jabłko to powszechne przedmioty Turtle o różnych kształtach i kolorach.

Rysuj głowę

Snake Head to powszechny przedmiot turtle.Turtle(), znajomy Od rozdziału 6, tylko z kwadratowym kształtem i bez narysowanych linii (pióro uniesione):

golova.py
golova = turtle.Turtle()
golova.speed(0)
golova.shape("square")
golova.color("white")
golova.penup()
golova.goto(0, 0)

Dobierz pierwsze jabłko

Jabłko to także żółw, tylko okrągły i czerwony, i pojawia się w losowym miejscu na polu, wyrównane do siatki schodkowej (random.randrange() z krokiem RAZMER_SHAGA, aby jabłko zawsze znajdowało się „w kratce”):

yabloko.py
yabloko = turtle.Turtle()
yabloko.speed(0)
yabloko.shape("circle")
yabloko.color("red")
yabloko.penup()

def novoe_yabloko():
    x = random.randrange(-GRANICA, GRANICA + RAZMER_SHAGA, RAZMER_SHAGA)
    y = random.randrange(-GRANICA, GRANICA + RAZMER_SHAGA, RAZMER_SHAGA)
    yabloko.goto(x, y)

novoe_yabloko()
Dlaczego GRANICA + RAZMER_SHAGA, a nie tylko GRANICA
U randrange() prawej granicy jest wykluczonyrandrange(-280, 280, 20) daje wartości tylko do 260 włącznie. Jednocześnie wąż łatwo osiąga 280 (sekcja 19.19), więc bez + RAZMER_SHAGA najbardziej zewnętrzny rząd komórek po prawej i górze byłby nieosiągalny dla jabłka, pole byłoby niezauważalnie asymetryczne.
Prawdziwe okno: biała kwadratowa głowa węża na środku, czerwone okrągłe jabłko obok
Prawdziwe okno: głowa i jabłko — dwa niezależne obiekty Turtle, oba z podniesionym piórem.
Praktyka: Head and Apple
Moduł turtle otwiera natywne okno Python – uruchamiane lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →