namespace more_promotion_tests
public static void Main(string[] args)
Console.WriteLine("Hello World!");
Fighter fighterA = new Fighter("Canelo");
Fighter fighterB = new Fighter("Fury");
Fight fight = new Fight(ref fighterA, ref fighterB);
Console.WriteLine("Figher {0} rating = {1:D}", fighterA.showName(), fighterA.showRating());
Console.WriteLine("Figher {0} rating = {1:D}", fighterB .showName(),fighterB.showRating());
Console.WriteLine("Figher {0} rating = {1:D}", fighterA.showName(), fighterA.showRating());
Console.WriteLine("Figher {0} rating = {1:D}", fighterB .showName(),fighterB.showRating());
public Fight(ref Fighter a, ref Fighter b){
var rand = new Random(Guid.NewGuid().GetHashCode());
int outcome = rand.Next(0, 2);
m_a.updateRatingWinner(ref m_b);
m_b.updateRatingWinner(ref m_a);
public void displayWinner(){
Console.WriteLine("Figher {0} won", m_a.showName());
Console.WriteLine("Figher {0} won", m_b.showName());
public Fighter(String name){
var rand = new Random(Guid.NewGuid().GetHashCode());
m_rating = rand.Next(0, 10000);
public void updateRatingWinner(ref Fighter loser){
CalculateELO(ref m_rating, ref loser.m_rating, 1);
public String showName(){
static double ExpectationToWin(int playerOneRating, int playerTwoRating)
return 1 / (1 + Math.Pow(10, (playerTwoRating - playerOneRating) / 400.0));
static void CalculateELO(ref int playerOneRating, ref int playerTwoRating, int outcome)
int delta = (int)(eloK * (outcome - ExpectationToWin(playerOneRating, playerTwoRating)));
playerOneRating += delta;
playerTwoRating -= delta;
private int nationalPopularity;
private int localPopularity;
public double ticketsales()
public double networkViews()
public double PPVdemand()