Create a Class Player that can keep track of a player's name, individual wins, and losses. Use private variables and public properties, equip with appropriate constructors, and other methods.

Create an enumeration (enum, store it in a separate file) named Actions with the values 'Rock,' Paper, and Scissors (or anything to that effect if you want to get creative).

Create a method in the Player class to allow a player to play against another player by having each randomly choose an Action from the enum Actions.

If actions are numbered 0, 1, , n, assume that action 0 defeats action n; action x defeats action x - 1; otherwise, in case of a tie, the players play again. Appropriately update each players' wins and losses. The function should check to make sure a player is not playing against themselves.

In the main program create a method that accepts any number of player names, and returns a List of Player with those names. Instantiate a List of Player using this function.

Using loops create a "tournament". For each round have each player play another random player (not themselves). Repeat this for 5 rounds (so for 4 players, there should be a total of 20 games in total).

To help you test and debug your code display in output the various games (e.g. Player1 plays Rock while Player2 plays Scissors, Player1 win, etc)

After the games, use LINQ (hint query the data structure that holds information about players) to display a leaderboard of the players sorted by wins in descending order.

Using LINQ, display any players with an equal number of wins and losses.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.