what we will make by the end of the day

FireShot Capture 002 - 100 Days of Code_ The Complete Python Pro Bootcamp for 2022 - Udemy_ - www.udemy.com.png

Screen Setup and Creating a Snake body

from turtle import Turtle, Screen

screen = Screen()
screen.setup(width=600, height=600)
screen.bgcolor("black")
screen.title("My Snake Game!")

pos = [(0, 0), (-15, 0), (-25, 0)]

segments = []

for i in range(3):
    xx = Turtle(shape="square")
    xx.color("white")
    xx.goto(pos[i])
    segments.append(xx)

screen.exitonclick()

animating the Snake Segments on Screen

FireShot Capture 003 - 100 Days of Code_ The Complete Python Pro Bootcamp for 2022 - Udemy_ - www.udemy.com.png

毛毛蟲前進 - Bing video


#jtime

from turtle import Turtle, Screen

screen = Screen()
screen.setup(width=600, height=600)
screen.bgcolor("black")
screen.title("My Snake Game!")

pos = [(0, 0), (-15, 0), (-25, 0)]

segments = []

for i in range(3):
    xx = Turtle(shape="square")
    xx.penup()
    xx.color("white")
    xx.goto(pos[i])
    segments.append(xx)

on_game = True
while on_game:
    for seg in segments:
        seg.forward(3)

				# seg.left(90)
        # seg.forward(3)

screen.exitonclick()

#ang

from turtle import Turtle, Screen
import time

screen = Screen()
screen.setup(width=600, height=600)
screen.bgcolor("black")
screen.title("My Snake Game!")
screen.tracer(0)

pos = [(0, 0), (-15, 0), (-25, 0)]

segments = []

for i in range(3):
    xx = Turtle(shape="square")
    xx.penup()
    xx.color("white")
    xx.goto(pos[i])
    segments.append(xx)

on_game = True

while on_game:
    screen.update()
    time.sleep(0.1)

    for seg_num in range(len(segments) -1, 0, -1):
        new_x = segments[seg_num -1].xcor()
        new_y = segments[seg_num -1].ycor()
        segments[seg_num].goto(new_x, new_y)

    segments[0].forward(20)

screen.exitonclick()

Create a Snake Class & Move to OOP

main.py

from turtle import Turtle, Screen
from snake import Snake
import time

screen = Screen()
screen.setup(width=600, height=600)
screen.bgcolor("black")
screen.title("My Snake Game!")
screen.tracer(0)

snake = Snake()

on_game = True
while on_game:
    screen.update()
    time.sleep(0.1)

    snake.move()

screen.exitonclick()

snake.py

from turtle import Turtle
STARTING_POSITIONS =[(0, 0), (-20, 0), (-40, 0)]
MOVE_DISTANCE = 20

class Snake:

    def __init__(self):
        self.segments = []
        self.create_snake()

    def create_snake(self):
        for position in STARTING_POSITIONS:
            new_segment = Turtle(shape="square")
            new_segment.penup()
            new_segment.color("white")
            new_segment.goto(position)
            self.segments.append(new_segment)

    def move(self):
        for seg_num in range(len(self.segments) - 1, 0, -1):
            new_x = self.segments[seg_num - 1].xcor()
            new_y = self.segments[seg_num - 1].ycor()
            self.segments[seg_num].goto(new_x, new_y)
        self.segments[0].forward(MOVE_DISTANCE)