private static decimal ProjectWinsFor( NflTeam team, string season ) { // Using the starting Letter power ratings playy all games // on the schedule, using letter to predict result var gameNo = 0; var projectedWins = 0.0M; var gp = new GordanPredictor(); if ( team.GameList == null ) team.LoadGames( team.TeamCode, season ); foreach ( NFLGame g in team.GameList ) { NflTeam opponent; gameNo++; gp.PredictGame( g, new FakePredictionStorer(), DateTime.Now); decimal decimalEquiv; string haInd; if ( g.IsHome( team.TeamCode ) ) { decimalEquiv = g.HomeDecEquivalent; haInd = "host"; opponent = g.AwayNflTeam; } else { decimalEquiv = g.AwayDecEquivalent; haInd = "at"; opponent = g.HomeNflTeam; } projectedWins += decimalEquiv; var ratingGap = RatingGap( team.LetterRating[ 0 ].Trim(), opponent.LetterRating[ 0 ].Trim() ); var nLine = g.IsHome( team.TeamCode ) ? ratingGap + 2.5M : ratingGap - 2.5M; var line = nLine < 0 ? string.Format( "+{0:0.0}", Math.Abs( nLine ) ) : string.Format( "-{0:0.0}", Math.Abs( nLine ) ); var locOpp = string.Format( "{5:00} {0} ({1}) {2} {3} ({4})", team.Nick(), team.LetterRating[ 0 ], haInd, opponent.Nick(), opponent.LetterRating[ 0 ], gameNo ); var projLine = string.Format( "{0} {1}", team.Nick(), line ); var gap = string.Format( "{0}", ratingGap ); Utility.Announce( string.Format( "{0,-40} {1,7} {2,-15} {3:#.000}", locOpp, gap, projLine, decimalEquiv ) ); } Utility.Announce( string.Format( "{0,76:0.00} wins", projectedWins ) ); return projectedWins; }