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.