namespace more_promotion_tests
public static void Main(string[] args)
Fighter[] fighters = new Fighter[1000];
double[] rankings = new double[1000];
for (i = 0; i < 1000; i++)
fighters[i] = new Fighter((i + 1).ToString());
for (i = 0; i < 1000; i++)
for (j = i + 1; j < 1000; j++)
Fight fought = new Fight(ref fighters[i], ref fighters[j]);
fought.displayFightInfo();
for (i = 0; i < 1000; i++)
rankings[i] = fighters[i].showRating();
for (i = 0; i < 1000; i++){
Console.WriteLine("{0} ranking = {1}", i, rankings[i]);
public Fight(ref Fighter a, ref Fighter b)
public void displayFightRatingInfo()
Console.WriteLine("Fighter {0}({2}) vs {1}({3})\n", m_a.showName(), m_b.showName(), m_a.showRating(), m_b.showRating());
public void displayFightInfo()
Console.WriteLine("Fighter {0} vs {1}\n", m_a.showName(), m_b.showName());
var rand = new Random(Guid.NewGuid().GetHashCode());
m_outcome = rand.Next(0, 2) + 1;
m_a.updateRatingWinner(ref m_b);
m_b.updateRatingWinner(ref m_a);
public void displayWinner()
Console.WriteLine("Fighter {0} won\n", m_a.showName());
Console.WriteLine("Fighter {0} won\n", m_b.showName());
Console.WriteLine("Fight has not been simulated\n");
Console.WriteLine("Fight ended at draw\n");
Console.WriteLine("Unknown outcome\n");
var rand = new Random(Guid.NewGuid().GetHashCode());
m_rating = rand.Next(0, 1000);
public Fighter(String name) : this()
public void setName(String name)
public void updateRatingWinner(ref Fighter loser)
double expectationToWin = 1.0 / (1.0 + Math.Pow(10.0, (loser.m_rating - m_rating) / 400.0));
double delta = eloK * (1.0 - expectationToWin);
public double showRating()
private int nationalPopularity;
private int localPopularity;
public double ticketsales()
public double networkViews()
public double PPVdemand()