public static void Winn(IFighter fighter, IFighter directRival, int roundNumber) { if (fighter.corner == "player") { fighter.UpgradeContracts(); Thread.Sleep(1000); Console.WriteLine($" Wygrana w {roundNumber} rundzie."); Console.WriteLine(Coments.Winn()); Console.WriteLine("\n -- W nagrodę odberz 3 dodatkowe punkty by ulepszyć swojego zawodnika. --"); Console.WriteLine(" -- Użyj dowolnego klawisza, aby odebrać zasłużone punkty. --"); Console.ReadKey(); Rivals.UpgradeRivals(fighter, directRival); PointAward.UpgradeFighter(fighter); } }
public static void BeginPlay(IFighter player) { player.SetCornerAsPlayer(); Queue <Fighter> RivalsQueue = Rivals.CreateQueue(player); while (RivalsQueue.Count >= 1) { if (RivalsQueue.Count() == 4 && player.GetContractsNumber() > 1) { Console.WriteLine(" -- Tym zawodnikiem zdobyłeś już wszystko, co mogłeś zdziałać w KSW. -- "); Console.WriteLine(" -- Teraz możesz próbować odebrać mistrzowski pas, jako jeden z pozostałych fighter'ów. --"); Console.WriteLine(" -- Pamiętaj, że dzięki walkom z Tobą i nie tylko, także oni są teraz silniejszymi zawodnikami. --"); Console.WriteLine("\n -- Użyj dowolnego przycisku, by wrócić do menu SinglePlayer. --"); Console.ReadKey(); ChoseFighterMenu.Start(); } else if (player.GetContractsNumber() >= 1) { DuelElements.Fight(player, RivalsQueue.First(), RivalsQueue); } else { Console.WriteLine("\n -- Przykro nam. Straciłeś wszystkie kontrakty, włodaże KSW nie mają póki co więcej walk dla Ciebie. --"); Console.WriteLine($" -- Przegrana tym zawodnikiem uniemożliwia Ci dalsze próby zdobywania pasa jako {player.name} w bieżącej sesji. --"); Console.WriteLine(" -- Możesz się z nim zmierzyć jedyne jako przeciwnik. --"); Console.WriteLine("\n -- Użyj dowolnego przycisku, by wrócić do menu SinglePlayer. --"); Console.ReadKey(); player.ResetCorner(); ChoseFighterMenu.Start(); } } Belt.Display(); player.ResetCorner(); ChoseFighterMenu.Start(); }
public void GetFightVerdict(RoundVerdict roundVerdict, Queue <Fighter> rivalsQueue, IFighter player) { if (roundVerdict.WinPlayersRounds > roundVerdict.WinRivalsRounds) { IFighter directRival = rivalsQueue.First(); rivalsQueue.Dequeue(); player.UpgradeContracts(); if (rivalsQueue.Count >= 1) { Console.WriteLine(Coments.Winn()); Console.WriteLine($"\n -- Już tylko {rivalsQueue.Count} zawodnik/ów na drodze do Pasa KSW. --"); Console.WriteLine(" -- W nagrodę odberz 3 dodatkowe punkty, by ulepszyć swojego zawodnika. --"); Console.ReadKey(); Rivals.UpgradeRivals(player, directRival); PointAward.UpgradeFighter(player); } else { Console.WriteLine("\n -- To była już ostatnia walka w drodze na szczyty KSW. -- "); Console.WriteLine(" -- Bez dwóch zdań, to właśnie Ty jesteś mistrzem.-- "); Console.WriteLine(" -- Pozostaje odebrać mistrzowski pas. -- "); } } else if (roundVerdict.WinPlayersRounds == roundVerdict.WinRivalsRounds) { Console.WriteLine(" -- Remis, aby rozstrzygnąc kto jest lepszy, musisz stoczyć tę walkę jeszcze raz. --"); } else { Console.WriteLine(" -- Niestety przegrałeś walkę na punkty. Tracisz kontrakt. Pasy KSW zdobywają mistrzowie, więc w drodze na szczyt czeka Cię rewanż. --"); player.DowngradeContracts(); } Console.WriteLine(" -- Użyj dowolnego klawisza by przejść dalej. --"); Console.ReadKey(); }
public bool isRival(Transform player) { return(Rivals.Contains(player.transform)); }
public TapeSearchArguments(Object source, string searchedContent, Rivals rivals, Inputs inputs, Theme[] themes) : base(source, searchedContent) { this.rivals = rivals; this.inputs = inputs; this.themes = themes; }
/// <summary> /// Note that a positive "line" indicates that the home team is the favorite. /// </summary> /// <param name="args"></param> static void Main(string[] args) { var allGameCounter = new List <HomeVisitorCounting>(); var closeGameCounter = new List <HomeVisitorCounting>(); var allGames = new List <GameResult>(); var rivals = Rivals.ParseCsv(File.ReadAllText(@"C:\Users\csmea\Documents\lines\rivalries.txt")).ToList(); string rankingFile = Directory.GetFiles(args[0]).FirstOrDefault(s => s.ToLower().Contains("rank")); var years = Enumerable.Range(1978, 2013 - 1978 + 1).ToList(); List <RankingList> rankings = GetRankings(years, GameResult.TeamReplace(File.ReadAllText(rankingFile)).Split(Environment.NewLine.ToCharArray()).ToList()); foreach (string filename in Directory.GetFiles(args[0]).Where(s => Path.GetExtension(s).ToLower() == ".csv")) { var results = File.ReadLines(filename).Skip(1); var year = Convert.ToInt32(new string(Path.GetFileNameWithoutExtension(filename).Where(s => char.IsDigit(s)).ToArray())); var ranking = rankings.FirstOrDefault(r => r.Year == year); var splitLines = results.Select(s => s.Split(',')); var allGameResult = results .Select(s => new GameResult(s.Split(','))).ToList(); //var vegasSub3 = allGameResult.Where(s => s.Line != null && s.Line.Value < 0 && s.Line.Value > -3.5); //var vegasSub3 = allGameResult.Where(s => // ranking.Ranking.FirstOrDefault(r => r.Team == s.HomeTeam) != null && // ranking.Ranking.FirstOrDefault(r => r.Team == s.VisitingTeam) != null && // Math.Abs(ranking.Ranking.FirstOrDefault(r => r.Team == s.HomeTeam).Rank - // ranking.Ranking.FirstOrDefault(r => r.Team == s.VisitingTeam).Rank) <= 5); var vegasSub3 = allGameResult.Where(s => Math.Abs(s.HomeScore - s.VisitingScore) <= 3); allGameCounter.Add(new HomeVisitorCounting() { Year = year, HomeWinCounter = allGameResult.Count(s => s.HomeScore > s.VisitingScore), VisitorCounter = allGameResult.Count(s => s.VisitingScore > s.HomeScore) }); closeGameCounter.Add(new HomeVisitorCounting() { Year = year, HomeWinCounter = vegasSub3.Count(s => s.HomeScore > s.VisitingScore), VisitorCounter = vegasSub3.Count(s => s.VisitingScore > s.HomeScore) }); allGames.AddRange(allGameResult); } closeGameCounter.Add(new HomeVisitorCounting() { HomeWinCounter = closeGameCounter.Sum(s => s.HomeWinCounter), VisitorCounter = closeGameCounter.Sum(s => s.VisitorCounter), Year = 70741 }); var allRivalResults = Rivals.GamesInvolvingRivals(allGames, rivals).ToList(); var allRivalsHomeResult = new HomeVisitorCounting() { Year = 3, HomeWinCounter = allRivalResults.Count(s => s.HomeScore > s.VisitingScore), VisitorCounter = allRivalResults.Count(s => s.VisitingScore > s.HomeScore) }; var allRivalsCloseHomeResult = new HomeVisitorCounting() { Year = 3, HomeWinCounter = allRivalResults.Where(s => s.Line.HasValue && Math.Abs(s.Line.Value) < 7).Count(s => s.HomeScore > s.VisitingScore), VisitorCounter = allRivalResults.Where(s => s.Line.HasValue && Math.Abs(s.Line.Value) < 7).Count(s => s.VisitingScore > s.HomeScore) }; var rivalHasLines = allRivalResults.Where(s => s.Line.HasValue); var bigLines = allGames.Where(s => s.Line.HasValue && s.Line.Value < -13.5); int bigRivalCounter = bigLines.Count(); double homeCoversLine = 100 * (double)rivalHasLines.Count(s => (s.HomeScore - s.VisitingScore - s.Line.Value) > 0) / (double)rivalHasLines.Count(); double homeCoversBigLine = 100 * (double)bigLines.Count(s => (s.HomeScore - s.VisitingScore - s.Line.Value) > 0) / bigLines.Count(); var d = allRivalsHomeResult.ToString(); var e = allRivalsCloseHomeResult.ToString(); foreach (var team in rankings.SelectMany(s => s.Ranking.Select(r => r.Team))) { if (allGames.Count(a => team == a.HomeTeam) == 0) { throw new Exception(team + " was not found"); } } //allGameCounter.OrderBy(s => s.Year).ToList().ForEach(s => Console.WriteLine(s.ToString())); //closeGameCounter.OrderBy(s => s.Year).ToList().ForEach(s=>Console.WriteLine(s.ToString())); var final = closeGameCounter.OrderBy(s => s.Year).ToList(); final.ForEach(s => Console.WriteLine(s.ToString())); FormattedOutputter.OutputToFile(@"C:\Users\csmea\Documents\lines\result.txt", "\t", final); }