/// <summary> /// Komputer rozgrywa okreslona liczbe rak, bez jakiejkolwiek interakcji z graczem. /// Kazde rozdanie jest powtorzone 1krotnie z powodu rotacji rak. 1 raz bo gramy w parach. /// </summary> /// <param name="repetitions">Liczba unikalnych rozdan - nie powinna byc zbyt duza /// poniewaz kazde rozdanie jest rotowanie 1 raz.</param> private void PlayContinuouslyRepeatHands(int repetitions) { ExtraFunctions.BeginTime(); for (int i = 0; i < Repetitions; i++) { DealNextHand(); //gramy w parach wiec 2 powtorzenia for (int k = 0; k < 2; k++) { //policz na poczatku gry BeginGameCalculations(); WhoStarts(); for (int j = 0; j < CardsPerPlayer; j++) { PlayAutoTrick(); GameShape.MouseLeftButtonDown -= new MouseButtonEventHandler(GameShape_MouseLeftButtonDown); CleanUpTrick(); } //zamien rece -> do badan List <Card> changeHands = MakeListCardFromHands(); bool rotation = (k == 0) ? false : true; //sprawdz czy zrobic rotacje EndGame(rotation); //skoncz rozdanie CollectCards(); //przenies karty do dealera _dealer.InitPower(TrumpColor); //policz power kazdej karty znowu GivePreppedHands(changeHands, 2); //daj 2giemu graczowi karty 1go (itd.) DealerNumber += 1; //posortuj Player1Hand.Deck.Sort(); Player2Hand.Deck.Sort(); Player3Hand.Deck.Sort(); Player4Hand.Deck.Sort(); } } //jak skonczyles liczyc/grac to pozbieraj karty CollectCards(); ExtraFunctions.EndTime(); SystemSounds.Asterisk.Play(); //dzwiek zakonczenia scoreWinRef.resultBox.Items.Add("Czas wykonania: " + ExtraFunctions.GlobalWatch.Elapsed.TotalSeconds.ToString() + " s"); }
/// <summary> /// Komputer rozgrywa okreslona liczbe rak, bez jakiejkolwiek interakcji z graczem. /// </summary> /// <param name="repetitions">Liczba rozdan ktore AI ma ze soba zagrac.</param> private void PlayContinuously(int repetitions) { ExtraFunctions.BeginTime(); for (int i = 0; i < repetitions; i++) { DealNextHand(); WhoStarts(); //policz na poczatku gry BeginGameCalculations(); for (int j = 0; j < CardsPerPlayer; j++) { PlayAutoTrick(); GameShape.MouseLeftButtonDown -= new MouseButtonEventHandler(GameShape_MouseLeftButtonDown); CleanUpTrick(); } //zamien rece do badan -> zrealizowane w PlayContinuouslyRepeatHands EndGame(); } ExtraFunctions.EndTime(); SystemSounds.Asterisk.Play(); scoreWinRef.resultBox.Items.Add("Czas wykonania: " + ExtraFunctions.GlobalWatch.Elapsed.TotalSeconds.ToString() + " s"); }