snake_game_1

############# main.py #############

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

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

snake = Snake()

screen.listen()

screen.onkey(snake.snake_up, "w")
screen.onkey(snake.snake_down, "s")
screen.onkey(snake.snake_left, "a")
screen.onkey(snake.snake_right, "d")
snake.create_snake()

# starting_pos = [(0,0),(-20,0),(-40,0)]
# segment = []
# for pos in starting_pos:
# tim = Turtle()
# tim.color("white")
# tim.penup()
# tim.shape("square")
# tim.setpos(pos)
# segment.append(tim)

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

snake.move()
#snake.move()
# for seg in range (len(segment)-1, 0 , -1):
# new_x = segment[seg-1].xcor()
# new_y = segment[seg - 1].ycor()
# segment[seg].goto(new_x, new_y)
# segment[0].forward(20)
# segment[0].right(90)


# tim = Turtle()
# tim.color("white")
# tim.shape("square")
# tim.setpos(-20,0)
#
# tim = Turtle()
# tim.color("white")
# tim.shape("square")
# tim.setpos(-40,0)




screen.exitonclick()



########## snake.py ##########

STARTING_POS = [(0,0),(-20,0),(-40,0)]
MOVE_DISTANCE =20

from turtle import Turtle

tim = Turtle()

class Snake:

def __init__(self,):
self.segment = []
self.create_snake()


def create_snake(self):
for pos in STARTING_POS:
tim = Turtle()
tim.color("white")
tim.penup()
tim.shape("square")
tim.setpos(pos)
self.segment.append(tim)

def move(self):
for seg in range(len(self.segment) - 1, 0, -1):
new_x = self.segment[seg - 1].xcor()
new_y = self.segment[seg - 1].ycor()
self.segment[seg].goto(new_x, new_y)

self.segment[0].forward(MOVE_DISTANCE)


def snake_up(self):
self.segment[0].setheading(90)

def snake_down(self):
self.segment[0].setheading(270)

def snake_left(self):
self.segment[0].setheading(180)

def snake_right(self):
self.segment[0].setheading(0)


 

Comments

Popular posts from this blog

Sum of Even Numbers till N

Find the Runner-Up Score!

Print All Substrings