public void ConclusionGetState_CasseAllCardsTransfered() { Karta transfer0 = ObsugaKart.StwórzKarte(Karta.Dama, Karta.karo); Karta transfer2 = ObsugaKart.StwórzKarte(Karta.Król, Karta.karo); ConclusionAboutGame conclusionAboutGame = new ConclusionAboutGame(3, 1, Date.simpleCards8); conclusionAboutGame.TransferedCard(transfer0, 0); conclusionAboutGame.TransferedCard(transfer2, 2); conclusionAboutGame.MoveContext = MoveContext1000.ChoseCards; var tmp = conclusionAboutGame.GetStates(); int AmountCards = 0; HashSet <Karta> usedcards = new HashSet <Karta>(); foreach (var item in tmp.cards.SelectMany(X => X)) { AmountCards++; if (usedcards.Contains(item)) { throw new NotImplementedException("jakaś karta się powtaża"); } usedcards.Add(item); } Assert.AreEqual(AmountCards, 24); Assert.IsTrue(tmp.cards[0].Any(X => X == transfer0)); Assert.IsTrue(tmp.cards[2].Any(X => X == transfer2)); }
/// <summary> /// aplikacja słóży do optymalizacji pod wzgledem wydajności /// </summary> /// <param name="args"></param> static void Main(string[] args) { ConclusionAboutGame cm = new ConclusionAboutGame(3, 1, Date.simpleCards8); cm.TransferedCard(ObsugaKart.StwórzKarte(Karta.Dama, Karta.kier), 0); cm.TransferedCard(ObsugaKart.StwórzKarte(Karta.Król, Karta.kier), 2); cm.MoveContext = MoveContext1000.ChoseCards; var a = IQ1000Game.GetIqState(cm.GetStates()); }
public void GetWorstCard() { IQ1000Game iq = new IQ1000Game(3, 0.5f); ConclusionAboutGame cm = new ConclusionAboutGame(3, 1, Date.simpleCards8); cm.MoveContext = MoveContext1000.ChoseCards; List <Karta> z = iq.GetWorstCard(new List <Karta>() { ObsugaKart.StwórzKarte(Karta.As, Karta.kier), ObsugaKart.StwórzKarte(Karta.K10, Karta.kier) }, 2); }
public void ConclusionGetState_CasseRestryction() { ConclusionAboutGame conclusionAboutGame = new ConclusionAboutGame(3, 1, Date.simpleCards8); conclusionAboutGame.PlayerConclusion[0].TheMostFigureInColor[0] = Karta.K2; conclusionAboutGame.PlayerConclusion[2].TheMostFigureInColor[3] = Karta.K2; conclusionAboutGame.MoveContext = MoveContext1000.ChoseCards; var tmp = conclusionAboutGame.GetStates(); Assert.IsFalse(tmp.cards[0].Any(X => ObsugaKart.Kolor(X) == Karta.trelf)); Assert.IsFalse(tmp.cards[2].Any(X => ObsugaKart.Kolor(X) == Karta.pik)); }
public void GetBidSum() { IQ1000Game iq = new IQ1000Game(3, 0.5f); ConclusionAboutGame cm = new ConclusionAboutGame(3, 1, Date.simpleCards8); cm.TransferedCard(ObsugaKart.StwórzKarte(Karta.Dama, Karta.kier), 0); cm.TransferedCard(ObsugaKart.StwórzKarte(Karta.Król, Karta.kier), 2); cm.MoveContext = MoveContext1000.ChoseCards; int w = iq.CalculateBidAmount(cm); Debug.WriteLine($"wartość do licytacji {w}"); Assert.IsTrue(w < 150 && w > 70); }
private void Controler_KtośWysłałKarte(object sender, Tuple <Urzytkownik, Karta> e) { if (InGame == null) { InGame = new ConclusionAboutGame(AmountPlaeyr, controler.IndexPlayer(Name), controler.TwojeKarty); InGame.Active(false); } //ConclusionAboutBehavior(controler.Stół, controler.AktywnaKozera, controler.Kozera); if (e.Item1.Nazwa != Name) { InGame.CalculateConclusion(controler.IndexPlayer(e.Item1.Nazwa), controler.Stół, controler.AktywnaKozera, controler.Kozera); } }
public void UsingIq() { ConclusionAboutGame cm = new ConclusionAboutGame(3, 1, Date.simpleCards8); cm.TransferedCard(ObsugaKart.StwórzKarte(Karta.Dama, Karta.kier), 0); cm.TransferedCard(ObsugaKart.StwórzKarte(Karta.Król, Karta.kier), 2); cm.MoveContext = MoveContext1000.ChoseCards; var a = IQ1000Game.GetIqState(cm.GetStates()); int Sum = a.Item2.scoreInCurentGame.Sum(); int AmountCards = a.Item2.cards.Sum(X => X.Count); Assert.IsTrue(Sum >= 120); Assert.AreEqual(0, AmountCards); }
public void ConclusionGetState_CasseAllCards() { ConclusionAboutGame conclusionAboutGame = new ConclusionAboutGame(3, 1, Date.simpleCards); var tmp = conclusionAboutGame.GetStates(); int AmountCards = 0; HashSet <Karta> usedcards = new HashSet <Karta>(); foreach (var item in tmp.cards.SelectMany(X => X)) { AmountCards++; if (usedcards.Contains(item)) { throw new NotImplementedException("jakaś karta się powtaża"); } usedcards.Add(item); } Assert.AreEqual(AmountCards, 24); }
private async void Controler_OdbierzMusek(object sender, GraKarciana.Karta[] e) { IQ1000Game iq = GetIq(); InGame = new ConclusionAboutGame(AmountPlaeyr, controler.IndexPlayer(Name), controler.TwojeKarty); InGame.Active(true); List <Karta> SnedCard = iq.GetWorstCard(controler.TwojeKarty, AmountPlaeyr); await controler.WysyłanieMuskuAsync(SnedCard); int j = 0; for (int i = 0; i < AmountPlaeyr; i++) { if (i != controler.IndexPlayer(Name)) { InGame.TransferedCard(SnedCard[j++], i); } } }
private async void Controler_TwojaLicytacjaEv(object sender, EventArgs e) { IQ1000Game iq = GetIq(); ConclusionAboutGame CAG = new ConclusionAboutGame(AmountPlaeyr, controler.IndexPlayer(Name), controler.TwojeKarty); await controler.LicytujAsync(BindSum = GetIq().CalculateBidAmount(CAG)); }