public List <Karta> GetValidCards(List <Karta> ls, StateGame1000 s) { int[] max = BasicTools.InitializeTable(4, ValueIfCardsDontExist); List <Karta> zw = new List <Karta>(ls.Count); GetMinCards(max, ls); zw.AddRange(IntToCard(max)); return(zw); }
public void LoadMove_CaseFirstCard() { StateGame1000 a = new StateGame1000(3); a.cards.First().AddRange(new GraKarciana.Karta[] { GraKarciana.Karta.As, GraKarciana.Karta.Dupek, GraKarciana.Karta.Dama }); var z = a.GetMove(GraKarciana.Karta.As); Assert.IsFalse(z.Item2.cards.First().Contains(GraKarciana.Karta.As)); Assert.IsFalse(z.Item1.Marriage); }
public void RateGame() { StateGame1000 s = new StateGame1000(3); s.scoreInCurentGame[0] = 500; s.scoreInCurentGame[1] = 100; s.scoreInCurentGame[2] = 100; Assert.IsTrue(s.RateStates(0) > 0); Assert.IsTrue(s.RateStates(1) < 0); }
public void LoadMove_CaseMariage() { StateGame1000 a = new StateGame1000(3); a.cards.First().AddRange(new GraKarciana.Karta[] { GraKarciana.Karta.Dama, GraKarciana.Karta.As, GraKarciana.Karta.Król }); var z = a.GetMove(GraKarciana.Karta.Dama); Assert.IsFalse(z.Item2.cards.First().Contains(GraKarciana.Karta.Dama)); Assert.IsTrue(z.Item1.Marriage); Assert.AreEqual(z.Item2.scoreInCurentGame[0], 60); }
public void GetMove() { StateGame1000 s = new StateGame1000(3); s.cards[1].AddRange(new GraKarciana.Karta[] { GraKarciana.Karta.As, GraKarciana.Karta.Dupek, GraKarciana.Karta.Dama }); s.Player = 1; int CountBeforeAction = s.cards[1].Count; var result = s.GetMove(GraKarciana.Karta.Dama); Assert.AreEqual(CountBeforeAction, s.cards[1].Count); Assert.AreEqual(CountBeforeAction - 1, result.Item2.cards[1].Count); }
public void LoadMove_CaseClearTable() { StateGame1000 a = new StateGame1000(3); a.Player = 2; a.cards.First().AddRange(new GraKarciana.Karta[] { GraKarciana.Karta.Dama, GraKarciana.Karta.As, GraKarciana.Karta.Król }); a = a.SetTable(new GraKarciana.Karta[] { GraKarciana.Karta.K9, GraKarciana.Karta.K10 }); var z = a.GetMove(GraKarciana.Karta.As); Assert.AreEqual(z.Item2.Player, 2); Assert.AreEqual(z.Item2.scoreInCurentGame[2], 21); Assert.AreEqual(z.Item2.NumberCardInTable, 0); }
public void TestEquals() { StateGame1000 s = new StateGame1000(3); StateGame1000 z = new StateGame1000(3); StateGame1000 a = new StateGame1000(3); s.cards.First().AddRange(new GraKarciana.Karta[] { GraKarciana.Karta.As, GraKarciana.Karta.Dupek }); z.cards.First().AddRange(new GraKarciana.Karta[] { GraKarciana.Karta.Dupek, GraKarciana.Karta.As }); a.cards.First().AddRange(new GraKarciana.Karta[] { GraKarciana.Karta.Dupek, GraKarciana.Karta.As }); a.Player = 1; Assert.AreNotEqual(a, z); Assert.AreEqual(s, z); Assert.AreNotEqual(a.GetHashCode(), z.GetHashCode()); Assert.AreEqual(s.GetHashCode(), z.GetHashCode()); }
public void GetState() { StateGame1000 a = new StateGame1000(3); { a.cards.First().AddRange(new GraKarciana.Karta[] { GraKarciana.Karta.As, GraKarciana.Karta.Dupek, GraKarciana.Karta.Król }); var z = a.GetStates(); if (StateGame1000.defineRoleconst.Any(X => (X is Karty.Tysiąc.IqDefineRole.RoleFirstCardIsMax))) { Assert.AreEqual(1, z.Count); } else { Assert.AreEqual(3, z.Count); } Assert.AreEqual(2, z.First().Item2.cards.First().Count); } }
public List <Karta> GetValidCards(List <Karta> ls, StateGame1000 s) { List <Karta> cardsSymulate = new List <Karta>(); int moveToEndQueue = s.amountPlayer - s.NumberCardInTable; for (int i = 0; i < moveToEndQueue; i++) { cardsSymulate.AddRange(s.cards[(i + s.Player) % s.amountPlayer]); } cardsSymulate.AddRange(s.GetCardInTable()); cardsSymulate.Sort(ComparerTysioc.GetComparer(s.cardOnTable.First(), s.EnebleKozera, s.Kozera)); Karta maxCard = cardsSymulate.Last(); if (ls.Any(X => X == maxCard)) { return(new List <Karta>() { maxCard }); } { return(ls); } }
public bool IsContext(StateGame1000 s, ResultMoveGame mk) => ((s.NumberCardInTable != 0) && mk == ResultMoveGame.Lose || (mk == ResultMoveGame.Win && (s.NumberCardInTable + 1 == s.amountPlayer)));
public bool IsContext(StateGame1000 s, ResultMoveGame mk) => (s.NumberCardInTable == 0);
public bool IsContext(StateGame1000 s, ResultMoveGame mk) => mk == ResultMoveGame.Win;