For the following Pseudocode help me to Design a UML Class Diagram. Thanks! from tkinter import Tk,Button,Label from tkinter import Canvas from random import randint root = Tk() root.title("Catch the ball Game") root.resizable(False,False) canvas = Canvas(root, width=600, height=600) canvas.pack() limit = 0 dist = 5 score = 0 class Ball: def __init__(self, canvas, x1, y1, x2, y2): self.x1 = x1 self.y1 = y1 self.x2 = x2 self.y2 = y2 self.canvas = canvas self.ball = canvas.create_oval(self.x1, self.y1, self.x2, self.y2, fill = "red",tags = 'dot1') def move_ball(self): offset = 10 global limit if limit >= 510: global dist,score,next if(dist - offset <= self.x1 and dist + 40 + offset >= self.x2): score += 10 canvas.delete('dot1') ball_set() else: canvas.delete('dot1') bar.delete_bar(self) score_board() return limit += 1 self.canvas.move(self.ball,0,1) self.canvas.after(10,self.move_ball) class bar: def __init__(self,canvas,x1,y1,x2,y2): self.x1 = x1 self.y1 = y1 self.x2 = x2 self.y2 = y2 self.canvas = canvas self.rod=canvas.create_rectangle(self.x1, self.y1, self.x2, self.y2, fill="yellow",tags='dot2') def move_bar(self,num): global dist if(num == 1): self.canvas.move(self.rod,20,0) dist += 20 else: self.canvas.move(self.rod,-20,0) dist-=20 def delete_bar(self): canvas.delete('dot2') def ball_set(): global limit limit=0 value = randint(0,570) ball1 = Ball(canvas,value,20,value+30,50) ball1.move_ball() def score_board(): root2 = Tk() root2.title("Catch the ball Game") root2.resizable(False,False) canvas2 = Canvas(root2,width=300,height=300) canvas2.pack() w = Label(canvas2,text="\nOOPS...GAME IS OVER\n\nYOUR SCORE = " + str(score) + "\n\n") w.pack() button3 = Button(canvas2, text="PLAY AGAIN", bg="green", command=lambda:play_again(root2)) button3.pack() button4 = Button(canvas2,text="EXIT",bg="green", command=lambda:exit_handler(root2)) button4.pack() def play_again(root2): root2.destroy() main() def exit_handler(root2): root2.destroy() root.destroy() def main(): global score,dist score = 0 dist = 0 bar1=bar(canvas,5,560,45,575) button = Button(canvas,text="==>", bg="green", command=lambda:bar1.move_bar(1)) button.place(x=300,y=580) button2 = Button(canvas,text="<==",bg="green", command=lambda:bar1.move_bar(0)) button2.place(x=260,y=580) ball_set() root.mainloop() if(__name__=="__main__"): main()

Microsoft Visual C#
7th Edition
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Joyce, Farrell.
Chapter9: Using Classes And Objects
Section: Chapter Questions
Problem 19RQ
icon
Related questions
Question

For the following Pseudocode help me to Design a UML Class Diagram. Thanks!

from tkinter import Tk,Button,Label
from tkinter import Canvas
from random import randint

root = Tk()
root.title("Catch the ball Game")
root.resizable(False,False)

canvas = Canvas(root, width=600, height=600)
canvas.pack()

limit = 0

dist = 5

score = 0

class Ball:
def __init__(self, canvas, x1, y1, x2, y2):
self.x1 = x1
self.y1 = y1
self.x2 = x2
self.y2 = y2
self.canvas = canvas
self.ball = canvas.create_oval(self.x1, self.y1, self.x2, self.y2,
fill = "red",tags = 'dot1')

def move_ball(self):
offset = 10
global limit

if limit >= 510:
global dist,score,next

if(dist - offset <= self.x1 and
dist + 40 + offset >= self.x2):
score += 10
canvas.delete('dot1')
ball_set()
else:
canvas.delete('dot1')
bar.delete_bar(self)
score_board()
return
limit += 1
self.canvas.move(self.ball,0,1)
self.canvas.after(10,self.move_ball)

class bar:
def __init__(self,canvas,x1,y1,x2,y2):
self.x1 = x1
self.y1 = y1
self.x2 = x2
self.y2 = y2
self.canvas = canvas
self.rod=canvas.create_rectangle(self.x1, self.y1, self.x2, self.y2,
fill="yellow",tags='dot2')

def move_bar(self,num):
global dist

if(num == 1):
self.canvas.move(self.rod,20,0)
dist += 20
else:
self.canvas.move(self.rod,-20,0)
dist-=20

def delete_bar(self):
canvas.delete('dot2')

def ball_set():
global limit
limit=0

value = randint(0,570)

ball1 = Ball(canvas,value,20,value+30,50)
ball1.move_ball()

def score_board():
root2 = Tk()
root2.title("Catch the ball Game")
root2.resizable(False,False)
canvas2 = Canvas(root2,width=300,height=300)
canvas2.pack()

w = Label(canvas2,text="\nOOPS...GAME IS OVER\n\nYOUR SCORE = "
+ str(score) + "\n\n")
w.pack()

button3 = Button(canvas2, text="PLAY AGAIN", bg="green",
command=lambda:play_again(root2))
button3.pack()

button4 = Button(canvas2,text="EXIT",bg="green",
command=lambda:exit_handler(root2))
button4.pack()

def play_again(root2):
root2.destroy()
main()

def exit_handler(root2):
root2.destroy()
root.destroy()

def main():
global score,dist
score = 0
dist = 0

bar1=bar(canvas,5,560,45,575)

button = Button(canvas,text="==>", bg="green",
command=lambda:bar1.move_bar(1))

button.place(x=300,y=580)

button2 = Button(canvas,text="<==",bg="green",
command=lambda:bar1.move_bar(0))
button2.place(x=260,y=580)

ball_set()
root.mainloop()

if(__name__=="__main__"):
main()

 

Expert Solution
steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Knowledge Booster
Developing computer interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,