Given Asteroids game code below(python), # game # Turtle Graphics Game import turtle import math import random import os import winsoun     # Set up screen wn = turtle.Screen() wn.bgcolor("black")...


Given Asteroids game code below(python),


# game


# Turtle Graphics Game


import turtle


import math


import random


import os


import winsoun




# Set up screen


wn = turtle.Screen()


wn.bgcolor("black")


wn.bgpic("bgpic.gif")


wn.tracer(3)



# Draw border


mypen = turtle.Turtle()


mypen.color("white")


mypen.penup()


mypen.setposition(-300, -300)


mypen.pendown()


mypen.pensize(3)


for side in range(4):


    mypen.forward(600)


    mypen.left(90)


mypen.hideturtle()


# mypen can be reused... will be used to draw score on the screen




# Create player turtle


player = turtle.Turtle()


player.color("blue")


player.shape("triangle")


player.penup()


player.speed(0)



# Create the score variable


score = 0



# Create goals


maxGoals = 10


goals = []



for count in range(maxGoals):


    goals.append(turtle.Turtle())


    goals[count].color("red")


    goals[count].shape("turtle")


    goals[count].penup()


    goals[count].speed(0)


    goals[count].setposition(random.randint(-300, 300), random.randint(-300, 300))


    goals[count].right(random.randint(0,360))



# Set speed variable


speed = 1



# Define functions


def turnleft():


    player.left(30)




def turnright():


    player.right(30)




def increasespeed():


    global speed


    speed += 1



def decreasespeed():


    global speed


    if speed > 1:


        speed -= 1



def isCollision(t1, t2):


    d = math.sqrt(math.pow(t1.xcor() - t2.xcor(), 2) + math.pow(t1.ycor() - t2.ycor(), 2))


    if d


        return True


    else:


        return False



# Set keyboard bindings


turtle.listen()


turtle.onkey(turnleft, "Left")


turtle.onkey(turnright, "Right")


turtle.onkey(increasespeed, "Up")


turtle.onkey(decreasespeed, "Down")



while True:


    player.forward(speed)



    # Boundary Checking


    if player.xcor() > 300 or player.xcor()


        player.goto(0, 0)           # when the ball hit the boundary, the ball start at the center(beginning point)  --> quizz


        #player.right(180)


        os.system("afplay bounce.mp3&")



    # Boundary Checking


    if player.ycor() > 300 or player.ycor()


        player.goto(0, 0)


        #player.right(180)


        os.system("afplay bounce.mp3&")



    # Move the goal


    for count in range(maxGoals):


        goals[count].forward(3)



        # Boundary Checking


        if goals[count].xcor() > 290 or goals[count].xcor()


            goals[count].right(180)


            os.system("afplay bounce.mp3&")



            # Boundary Checking


        if goals[count].ycor() > 290 or goals[count].ycor()


            goals[count].right(180)


            os.system("afplay bounce.mp3&")



            # Collision checking


        if isCollision(player, goals[count]):


            goals[count].setposition(random.randint(-300, 300), random.randint(-300, 300))


            goals[count].right(random.randint(0, 360))


            os.system("afplay collision.mp3&")


            score += 1


            # Draw the score on the screen


            mypen.undo()


            mypen.penup()


            mypen.hideturtle()


            mypen.setposition(-290, 310)


            scorestring = "Score: {0}".format(score)


            mypen.write(scorestring, False, align="left", font=("Arial", 14, "normal"))


Question: I appreciate if you solve the problem by following information and code. If you want to type different code, would you take screenshot yours?


May 19, 2022
SOLUTION.PDF

Get Answer To This Question

Submit New Assignment

Copy and Paste Your Assignment Here