Question: Turtle in Python I need some assistance for how to write the program. People say that turtle is generally easier so I hope to get
Turtle in Python
I need some assistance for how to write the program. People say that turtle is generally easier so I hope to get an accurate and faster response.
(Question at the bottom)
Current code needed for problem:
import turtle, math, randomclass Ball(turtle.Turtle): def __init__(self, px, py, vx, vy): turtle.Turtle.__init__(self) self.vx = vx self.vy = vy self.shape('circle') self.turtlesize(0.3) self.penup() self.setpos(px, py) def move(self): self.vy = self.vy - 0.981 new_px = self.xcor() + self.vx new_py = self.ycor() + self.vy if new_py 0: new_py = self.ycor() * 0.75 self.vy = -0.75 * self.vy self.setpos(new_px, new_py) def hit(self): print('space bar pressed') self.vx = -self.vx self.vy = 15class Game: def __init__(self): turtle.delay(0) turtle.tracer(0, 0) turtle.setworldcoordinates(-500, -500, 500, 500) self.ball = Ball( random.randint(-100, 100), random.randint(30, 100), random.randint(-12, 6), random.randint(4, 10) ) turtle.update() self.gameloop() turtle.onkeypress(self.ball.hit, "space") turtle.listen() turtle.mainloop() def gameloop(self): self.ball.move() turtle.update() turtle.ontimer(self.gameloop, 30)if __name__ == '__main__': Game()
Here is the problem:


Have Game's _init_ also draw a net (21 line that is 30 units tall) and a court (a line from (-400, 0) to (400, 0).) If the ball hits the net, or if it bounces twice on the same side, then the point is over and the ball should reset. Add code to the gameloop method that can detect if the ball hits the net. If this happens, have the ball reset to a new random initial position and velocity. You may want to create a separate Ball method for this, to avoid having redundant reset code in multiple places. Note: Actually checking whether the ball hits the net requires a bit. of math, but you can approximate this each step by checking whether the ball passes over the x : 0 line, and ends at a y-position below 30. If the ball bounces twice on the same side of the net, then the point is over and the ball should reset. Keep track of the number of times a ball bounces inside of the ball's move method, but. make sure to reset. this value to 0 every time the ball crosses from one side of the net to the other. Once you've implemented these two, the game will get signicantly harder! Feel free to tweak the values in the initialization and in the hit method to make it slightly easier to play
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
