to finish out the rballgame classwe need to write the isover and changeserver methods given what we have developed already and our previous version of this programthese methods are straightforward 'll leave those as an exercise for you at the moment if you're looking for my solutionsskip to the complete code at the end of this section implementing player in developing the rballgame classwe discovered the need for player class that encapsulates the service probability and current score for player the player class needs suitable constructor and methods for winsserveincscoreand getscore if you are getting the hang of this object-oriented approachyou should have no trouble coming up with constructor we just need to initialize the instance variables the player' probability will be passed as parameterand the score starts at def __init__(selfprob)create player with this probability self prob prob self score the other methods for our player class are even simpler to see if player wins servewe compare the probability to random number between and def winsserve(self)return random(<self prob to give player pointwe simply add one to the score def incscore(self)self score self score the final method just returns the value of the score def getscore(self)return self score initiallyyou may think that it' silly to create class with bunch of oneor two-line methods actuallyit' quite common for well-modularizedobjected-oriented program to have lots of trivial methods the point of design is to break problem down into simpler pieces if those pieces are so simple that their implementations are obviousthat gives us confidence that we must have gotten it right the complete program that pretty much wraps up our object-oriented version of the racquetball simulation the complete program follows you should read through it and make sure you understand exactly what each class does and how it does it if you have questions about any partsgo back to the discussion above to figure it out