Quote:
public static List<Player> PlayerList = new List<Player>();
...
public static int turnloop = 0;
public static List<Player> players = game.PlayerList;
public static Player player = players[Player.turnloop];
You are trying to access the first item of an empty list. This naturally throws an exception.
You need to fix your logic - add at least one player to the list before trying to read the first player.