/// <summary> /// Creates simulation of all players implementing IReversiPlayer /// </summary> /// <returns>A new ReversiMultiplayerSimulation instance</returns> private static ReversiMultiplayerSimulation CreateMultplayerSimulation() { ReversiMultiplayerSimulation sim = new ReversiMultiplayerSimulation(); foreach (Type t in Assembly.GetCallingAssembly().GetTypes()) { if (t.GetInterface("IReversiPlayer") != null) { IReversiPlayer player = Activator.CreateInstance(t) as IReversiPlayer; sim.AddPlayer(player); } } return(sim); }
/// <summary> /// Creates simulation of all players implementing IReversiPlayer /// </summary> /// <returns>A new ReversiMultiplayerSimulation instance</returns> private static ReversiMultiplayerSimulation CreateMultplayerSimulation() { ReversiMultiplayerSimulation sim = new ReversiMultiplayerSimulation(); foreach (Type t in Assembly.GetCallingAssembly().GetTypes()) { if (t.GetInterface("IReversiPlayer") != null) { IReversiPlayer player = Activator.CreateInstance(t) as IReversiPlayer; sim.AddPlayer(player); } } return sim; }
/// <summary> /// Main function: Runs a full multiplayer simulation and dumps the data /// </summary> /// <param name="args"></param> static void Main(string[] args) { ReversiMultiplayerSimulation sim = CreateMultplayerSimulation(); sim.RunSimulation(); }