Dsa Miniproject
Dsa Miniproject
import turtle
import random
# Setup screen
screen = turtle.Screen()
screen.setup(width=700, height=700)
screen.tracer(0)
# Constants
cell_size = 30
start_x = -230
start_y = -170
# Draw board
board = turtle.Turtle()
board.hideturtle()
board.penup()
number = 1
board.goto(x, y)
board.pendown()
for _ in range(4):
board.forward(cell_size)
board.left(90)
board.penup()
number += 1
# Coordinate helper
def get_coordinates(pos):
row = (pos - 1) // 10
col = (pos - 1) % 10
if row % 2 == 1:
col = 9 - col
return x, y
ladders = {3: 22, 6: 25, 20: 38, 36: 57, 63: 81, 68: 85}
t.hideturtle()
t.penup()
t.pensize(4)
t.color(color)
t.goto(get_coordinates(from_pos))
t.pendown()
t.goto(get_coordinates(to_pos))
# Players
player1 = turtle.Turtle()
player1.shape("turtle")
player1.color("blue")
player1.penup()
player1.goto(get_coordinates(1))
player1_position = 1
player2 = turtle.Turtle()
player2.shape("turtle")
player2.color("red")
player2.penup()
player2.goto(get_coordinates(1))
player2_position = 1
# Current player
current_player = 1
# Dice roll function
def roll():
return
dice = random.randint(1, 6)
if current_player == 1:
player1_position += dice
if player1_position > 100:
player1_position -= dice
else:
if player1_position in snakes:
player1_position = snakes[player1_position]
player1_position = ladders[player1_position]
player1.goto(get_coordinates(player1_position))
else:
player2_position += dice
player2_position -= dice
print(f"Player 2's roll was too high! Stay at {player2_position}")
else:
if player2_position in snakes:
print("Player 2 was bitten by a snake!")
player2_position = snakes[player2_position]
player2.goto(get_coordinates(player2_position))
# Check win
if player1_position == 100:
# Switch turns
screen.update()
screen.listen()
screen.onkey(roll, "space")
screen.update()
turtle.done()
Output:-
Press SPACEBAR to roll the dice. Player 1 starts!
Player 1 rolled: 3
Player 2 rolled: 1
Player 1 rolled: 6
Player 2 rolled: 1
Player 2 climbed a ladder!