Description TOP DOWN DESIGN For this assignment you will NOT submit a main(). You will still submit one .cpp file, but it will contain only prototypes and definitions for specific functions specified in the assignment. You should work on this by using the top-down design approach. Add stub code to functions that are not complete so you can check the overall logic and flow even while the overall program is incomplete. As you work on your code, you should also have a main() in your project. Use this to write testing commands that call the functions you are creating to make sure they work. However, you will submit a copy of your code without your main() in the file. Overview: Rock, Paper, Scissors For this, you will take “starter code” that I provide and add code to it in order to implement a C++ version of “Rock, Paper, Scissors (Links to an external site.)Links to an external site.”, where 2 players play a certain number of rounds, and then a winner is declared. The starter code is already designed modularly: it is broken up into separate functions that perform independent pieces of the overall task.You should start by reading through it thoroughly. Notice that the function PlayRPS() is the one that actually “runs” the whole game, calling other functions in the process. Important rules and advice: All of the code that already exists is there for a reason. You should not remove or change any of it. The order of the function definitions in the file is not necessarily the order you should work on them in. Remember that the approach is “top down”: you should work from the highest level downward, putting stubs in any function that isn’t complete yet. Add code to each portion of code labeled “TO DO”, according to the instructions in the comments.