Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 6
0
        /// <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);
        }