/// <summary> /// Wpisuje do podanego(lub nowego) Paragraphu znaczek miana. Moze wypisać trefla,karo,kiera,pika lub "NT". /// Aby zmienić napis 'NT' trzeba to zrobić wewnątrz funkcji. /// </summary> /// <param name="odzywka">Enum suits</param> /// <param name="p">Parametr nieobowiązkowy. Podajemy paragraph w którym chcemy coś dopisać. Wartość domyślna spowoduje dodanie nowego parametru</param> /// <returns>Zedytowany lub nowy paragraph</returns> public static Paragraph WriteSuit(suits suit, Paragraph p = null) { if (p == null) { p = new Paragraph(); } if (suit == suits.club) { p.AddFormattedText(cardSymbols[1].ToString(), znakiKart[1]); } if (suit == suits.diamond) { p.AddFormattedText(cardSymbols[2].ToString(), znakiKart[2]); } if (suit == suits.heart) { p.AddFormattedText(cardSymbols[3].ToString(), znakiKart[3]); } if (suit == suits.spade) { p.AddFormattedText(cardSymbols[4].ToString(), znakiKart[4]); } if (suit == suits.nt) { p.AddFormattedText("NT", znakiKart[4]); } return(p); }
/// <summary> /// Wstawia sam znaczek brydzowy /// </summary> /// <param name="p"></param> /// <param name="suit"></param> /// <returns></returns> public static Paragraph WriteSuit(Paragraph p, suits suit) { if (suit == suits.club) { p.AddFormattedText(symbols[1].ToString(), znaki_kart[1]); } if (suit == suits.diamond) { p.AddFormattedText(symbols[2].ToString(), znaki_kart[2]); } if (suit == suits.heart) { p.AddFormattedText(symbols[3].ToString(), znaki_kart[3]); } if (suit == suits.spade) { p.AddFormattedText(symbols[4].ToString(), znaki_kart[4]); } if (suit == suits.nt) { p.AddFormattedText("NT", znaki_kart[4]); } return(p); }
/// <summary> /// Ustawia wartosc zmiennej suit w strukturze Contract. Dokonuje konwersji z char to suits. /// </summary> /// <param name="input">Znak koloru (C,D,H,S,N). Musi to być wielka litera</param> /// <returns> Miano kontraktu</returns> public suits ConvertSuit(char input) { suits output = 0; if (input == 'C') { output = suits.club; } if (input == 'D') { output = suits.diamond; } if (input == 'H') { output = suits.heart; } if (input == 'S') { output = suits.spade; } if (input == 'N') { output = suits.nt; } return(output); }
/// <summary> /// Funkcja dodaje(lub domyslnie tworzy) do paragrafu karty z zadnego koloru. /// </summary> /// <param name="suit">Zadany znaczek do wstawienia przy kolorze</param> /// <param name="karty">Karty do wypisania</param> /// <param name="p">Ewentualny paragraf w ktorym ma byc dodany kolor</param> /// <returns></returns> protected static Paragraph WriteHandSuit(suits suit, string karty, Paragraph p = null) { if (p == null) { p = new Paragraph(); } int idx = (int)suit; p.AddFormattedText(cardSymbols[idx].ToString(), znakiKart[idx]); p.AddText(" " + karty); return(p); }
/// <summary> /// Wypelnia strukturę kontrakt na podstawie stringu. /// </summary> /// <param name="input">Kontrakt w formie tekstowej np. 2HS=, 2HSx-1</param> public Contract(string input) { if (input == "P") { level = 0; contract_str = "pass"; } //jesli kontrakt inny niz 4 pasy else { level = int.Parse(input[0].ToString()); suit = ConvertSuit(input[1]); declarer = ConvertPosition(input[2]); contract_str = level.ToString() + suit.ToString().ToUpper()[0]; // sprawdzenie kontr i rekontr int iter = 3; if (input[iter] == 'x') { dbl = true; contract_str += "x"; iter++; if (input[iter] == 'x') { rdbl = true; contract_str += "x"; iter++; } } if (input[iter] == '-') { tricks = -int.Parse(input[++iter].ToString()); } else { if (input[iter] != '=') { tricks = int.Parse(input[++iter].ToString()); } } } }
public static PlayingCard GetLeft(suits trump) { PlayingCard left = new PlayingCard(cardtypes.jack, suits.spade, true); if (trump == suits.spade) { left.suit = suits.club; } if (trump == suits.club) { left.suit = suits.spade; } if (trump == suits.heart) { left.suit = suits.diamond; } if (trump == suits.diamond) { left.suit = suits.heart; } return(left); }
public Card(suits suitValue, int rankValue) { this.Rank = rankValue; this.Suite = suitValue; }
public MainWindow() { int playerOneScore; int playerTwoScore; string hand1; string hand2; string line; string[] hand1cards = new string[5]; suits[] hand1Suits = new suits[5]; Face[] hand1Face = new Face[5]; string[] hand2cards = new string[5]; suits[] hand2Suits = new suits[5]; Face[] hand2Face = new Face[5]; System.IO.StreamReader sr = new System.IO.StreamReader("test.txt"); InitializeComponent(); while (!sr.EndOfStream) { line = sr.ReadLine().ToString(); hand1 = line.Substring(0, 14); hand2 = line.Substring(15, 14); //MessageBox.Show(hand1); for (int j = 0; j < hand1cards.Length; j++) { hand1cards[j] = hand1.Substring(j * 3, 2); switch (hand1cards[j][1]) { case 'D': hand1Suits[j] = suits.Diamonds; break; case 'H': hand1Suits[j] = suits.Hearts; break; case 'S': hand1Suits[j] = suits.Spades; break; case 'C': hand1Suits[j] = suits.Clubs; break; } switch (hand1cards[j][0]) { case 'A': hand1Face[j] = Face.Ace; break; case '2': hand1Face[j] = Face.Two; break; case '3': hand1Face[j] = Face.Three; break; case '4': hand1Face[j] = Face.Four; break; case '5': hand1Face[j] = Face.Five; break; case '6': hand1Face[j] = Face.Six; break; case '7': hand1Face[j] = Face.Seven; break; case '8': hand1Face[j] = Face.Eight; break; case '9': hand1Face[j] = Face.Nine; break; case 'T': hand1Face[j] = Face.Ten; break; case 'J': hand1Face[j] = Face.Jack; break; case 'Q': hand1Face[j] = Face.Queen; break; case 'K': hand1Face[j] = Face.King; break; } //MessageBox.Show(hand1Suits[j].ToString() + " " + hand1Face[j].ToString()); } //MessageBox.Show(hand2); for (int j = 0; j < hand2cards.Length; j++) { hand2cards[j] = hand2.Substring(j * 3, 2); switch (hand2cards[j][1]) { case 'D': hand2Suits[j] = suits.Diamonds; break; case 'H': hand2Suits[j] = suits.Hearts; break; case 'S': hand2Suits[j] = suits.Spades; break; case 'C': hand2Suits[j] = suits.Clubs; break; } switch (hand2cards[j][0]) { case 'A': hand2Face[j] = Face.Ace; break; case '2': hand2Face[j] = Face.Two; break; case '3': hand2Face[j] = Face.Three; break; case '4': hand2Face[j] = Face.Four; break; case '5': hand2Face[j] = Face.Five; break; case '6': hand2Face[j] = Face.Six; break; case '7': hand2Face[j] = Face.Seven; break; case '8': hand2Face[j] = Face.Eight; break; case '9': hand2Face[j] = Face.Nine; break; case 'T': hand2Face[j] = Face.Ten; break; case 'J': hand2Face[j] = Face.Jack; break; case 'Q': hand2Face[j] = Face.Queen; break; case 'K': hand2Face[j] = Face.King; break; } //MessageBox.Show(hand2Suits[j].ToString() + " " + hand2Face[j].ToString()); } Array.Sort(hand1Face); Array.Sort(hand2Face); playerOneScore = 0; playerTwoScore = 0; //player One Royal Flush if (hand1Suits[0] == hand1Suits[1] && hand1Suits[0] == hand1Suits[2] && hand1Suits[0] == hand1Suits[3] && hand1Suits[0] == hand1Suits[4] && playerOneScore == 0) { if (hand1Face[0] == Face.Ace) { if (hand1Face[0] - hand1Face[4] == -12 && hand1Face[1] - hand1Face[2] == -1 && hand1Face[2] - hand1Face[3] == -1 && hand1Face[3] - hand1Face[4] == -1) { playerOneScore += 10;//Royal Flush } } } //player One Stright Flush if (hand1Suits[0] == hand1Suits[1] && hand1Suits[0] == hand1Suits[2] && hand1Suits[0] == hand1Suits[3] && hand1Suits[0] == hand1Suits[4] && playerOneScore == 0) { if (hand1Face[0] == Face.Ace) { if (hand1Face[0] - hand1Face[1] == -1 && hand1Face[1] - hand1Face[2] == -1 && hand1Face[2] - hand1Face[3] == -1 && hand1Face[3] - hand1Face[4] == -1) { playerOneScore += 9;//Straight Flush } } if (hand1Face[0] != Face.Ace) { if (hand1Face[0] - hand1Face[1] == -1 && hand1Face[1] - hand1Face[2] == -1 && hand1Face[2] - hand1Face[3] == -1 && hand1Face[3] - hand1Face[4] == -1) { playerOneScore += 9;//Straight Flush } } } //Player One Four Of A Kind if (hand1Face[0] == hand1Face[1] && playerOneScore == 0) { if (hand1Face[0] == hand1Face[2]) { if (hand1Face[0] == hand1Face[3]) { playerOneScore += 8;//Four of a Kind } } } if (hand1Face[1] == hand1Face[2] && playerOneScore == 0) { if (hand1Face[1] == hand1Face[3]) { if (hand1Face[1] == hand1Face[4]) { playerOneScore += 8;//Four of a Kind } } } //Player One FullHouse if (hand1Face[0] == hand1Face[1] && playerOneScore == 0) { if (hand1Face[0] == hand1Face[2]) { if (hand1Face[3] == hand1Face[4]) { playerOneScore += 7;//Full House } } } if (hand1Face[2] == hand1Face[3] && playerOneScore == 0) { if (hand1Face[2] == hand1Face[4]) { if (hand1Face[0] == hand1Face[1]) { playerOneScore += 7;//Full House } } } //Player One Flush if (hand1Suits[0] == hand1Suits[1] && hand1Suits[0] == hand1Suits[2] && hand1Suits[0] == hand1Suits[3] && hand1Suits[0] == hand1Suits[4] && playerOneScore == 0) { if (playerOneScore == 0) { playerOneScore += 6;//Flush } } //Player one Straight if (hand1Face[0] - hand1Face[1] == -1 && hand1Face[1] - hand1Face[2] == -1 && hand1Face[2] - hand1Face[3] == -1 && hand1Face[3] - hand1Face[4] == -1 && playerOneScore == 0) { playerOneScore += 5;//Straight } //Player One Three of a Kind if (hand1Face[0] == hand1Face[1] && playerOneScore == 0) { if (hand1Face[0] == hand1Face[2]) { playerOneScore += 4;//Three of a kind } } if (hand1Face[1] == hand1Face[2] && playerOneScore == 0) { if (hand1Face[1] == hand1Face[3]) { playerOneScore += 4;//Three of a kind } } if (hand1Face[2] == hand1Face[3] && playerOneScore == 0) { if (hand1Face[2] == hand1Face[4]) { playerOneScore += 4;//Three of a kind } } //Player One Two Pair if (hand1Face[0] == hand1Face[1] && hand1Face[2] == hand1Face[3] && playerOneScore == 0) { playerOneScore += 3;//Two Pair } if (hand1Face[0] == hand1Face[1] && hand1Face[3] == hand1Face[4] && playerOneScore == 0) { playerOneScore += 3;//Two Pair } if (hand1Face[1] == hand1Face[2] && hand1Face[3] == hand1Face[4] && playerOneScore == 0) { playerOneScore += 3;//Two Pair } //Player One one pair if (hand1Face[0] == hand1Face[1] && playerOneScore == 0) { playerOneScore += 2;//One Pair } if (hand1Face[1] == hand1Face[2] && playerOneScore == 0) { playerOneScore += 2;//One Pair } if (hand1Face[2] == hand1Face[3] && playerOneScore == 0) { playerOneScore += 2;//One Pair } if (hand1Face[3] == hand1Face[4] && playerOneScore == 0) { playerOneScore += 2;//One Pair } //Player One High Card if (hand1Face[0] < hand1Face[4] && playerOneScore == 0) { playerOneScore += 1;//High Card } //MessageBox.Show(playerOneScore.ToString()); //Player Two //player Two Royal Flush if (hand2Suits[0] == hand2Suits[1] && hand2Suits[0] == hand2Suits[2] && hand2Suits[0] == hand2Suits[3] && hand2Suits[0] == hand2Suits[4] && playerOneScore == 0) { if (hand2Face[0] == Face.Ace) { if (hand2Face[0] - hand2Face[4] == -12 && hand2Face[1] - hand2Face[2] == -1 && hand2Face[2] - hand2Face[3] == -1 && hand2Face[3] - hand2Face[4] == -1) { playerTwoScore += 10;//Royal Flush } } } //player Two Stright Flush if (hand2Suits[0] == hand2Suits[1] && hand2Suits[0] == hand2Suits[2] && hand2Suits[0] == hand2Suits[3] && hand2Suits[0] == hand2Suits[4] && playerTwoScore == 0) { if (hand2Face[0] == Face.Ace) { if (hand2Face[0] - hand2Face[1] == -1 && hand2Face[1] - hand2Face[2] == -1 && hand2Face[2] - hand2Face[3] == -1 && hand2Face[3] - hand2Face[4] == -1) { playerTwoScore += 9;//Straight Flush } } if (hand2Face[0] != Face.Ace) { if (hand2Face[0] - hand2Face[1] == -1 && hand2Face[1] - hand2Face[2] == -1 && hand2Face[2] - hand2Face[3] == -1 && hand2Face[3] - hand2Face[4] == -1) { playerTwoScore += 9;//Straight Flush } } } //Player Two Four Of A Kind if (hand2Face[0] == hand2Face[1] && playerTwoScore == 0) { if (hand2Face[0] == hand2Face[2]) { if (hand2Face[0] == hand2Face[3]) { playerTwoScore += 8;//Four of a Kind } } } if (hand2Face[1] == hand2Face[2] && playerTwoScore == 0) { if (hand2Face[1] == hand2Face[3]) { if (hand2Face[1] == hand2Face[4]) { playerTwoScore += 8;//Four of a Kind } } } //Player Two FullHouse if (hand2Face[0] == hand2Face[1] && playerTwoScore == 0) { if (hand2Face[0] == hand2Face[2]) { if (hand2Face[3] == hand2Face[4]) { playerTwoScore += 7;//Full House } } } if (hand2Face[2] == hand2Face[3] && playerTwoScore == 0) { if (hand2Face[2] == hand2Face[4]) { if (hand2Face[0] == hand2Face[1]) { playerTwoScore += 7;//Full House } } } //Player Two Flush if (hand2Suits[0] == hand2Suits[1] && hand2Suits[0] == hand2Suits[2] && hand2Suits[0] == hand2Suits[3] && hand2Suits[0] == hand2Suits[4] && playerTwoScore == 0) { if (playerTwoScore == 0) { playerTwoScore += 6;//Flush } } //Player Two Straight if (hand2Face[0] - hand2Face[1] == -1 && hand2Face[1] - hand2Face[2] == -1 && hand2Face[2] - hand2Face[3] == -1 && hand2Face[3] - hand2Face[4] == -1 && playerTwoScore == 0) { playerTwoScore += 5;//Straight } //Player Two Three of a Kind if (hand2Face[0] == hand2Face[1] && playerTwoScore == 0) { if (hand2Face[0] == hand2Face[2]) { playerTwoScore += 4;//Three of a kind } } if (hand2Face[1] == hand2Face[2] && playerTwoScore == 0) { if (hand2Face[1] == hand2Face[3]) { playerTwoScore += 4;//Three of a kind } } if (hand2Face[2] == hand2Face[3] && playerTwoScore == 0) { if (hand2Face[2] == hand2Face[4]) { playerTwoScore += 4;//Three of a kind } } //Player Two Two Pair if (hand2Face[0] == hand2Face[1] && hand2Face[2] == hand2Face[3] && playerTwoScore == 0) { playerTwoScore += 3;//Two Pair } if (hand2Face[0] == hand2Face[1] && hand2Face[3] == hand2Face[4] && playerTwoScore == 0) { playerTwoScore += 3;//Two Pair } if (hand2Face[1] == hand2Face[2] && hand2Face[3] == hand2Face[4] && playerTwoScore == 0) { playerTwoScore += 3;//Two Pair } //Player Two one pair if (hand2Face[0] == hand2Face[1] && playerTwoScore == 0) { playerTwoScore += 2;//One Pair } if (hand2Face[1] == hand2Face[2] && playerTwoScore == 0) { playerTwoScore += 2;//One Pair } if (hand2Face[2] == hand2Face[3] && playerTwoScore == 0) { playerTwoScore += 2;//One Pair } if (hand2Face[3] == hand2Face[4] && playerTwoScore == 0) { playerTwoScore += 2;//One Pair } //Player Two High Card if (hand2Face[0] < hand2Face[4] && playerTwoScore == 0) { playerTwoScore += 1;//High Card } //Check for Tie if (playerOneScore == playerTwoScore) { if (hand1Face[4] > hand2Face[4]) { PlayerOneWin += 1; } } //Check who wins else if (playerOneScore > playerTwoScore) { PlayerOneWin += 1; } //MessageBox.Show(PlayerOneWin.ToString()); lblOutput.Content = (PlayerOneWin); } }
public card(suits s, cardRank v) { cardSuit = s; cardValue = v; }
public static void wyliczMinimkaksTeoretyczny10(int[,] lewy, vulnerabilties vul) { int maxNS = 0; Contract maxNSContract = new Contract(); int[] tmpgracz = { 3, 1, 4, 2 }; // minimaks dodatni dla NS for (int gracz = 0; gracz < 2; gracz++) { for (int i = 4; i >= 0; i--) { Contract c = new Contract(); bool partia = false; if ((vul == vulnerabilties.ns) || (vul == vulnerabilties.both)) { partia = true; } c.level = lewy[gracz, i] - 6; c.suit = (suits)(i + 1); c.declarer = (positions)(tmpgracz[gracz]); int score = c.CalculateScore(partia); if (score > maxNS) { maxNS = score; maxNSContract = c; } } } // minimaks dodatni dla EW int maxEW = 0; Contract maxEWContract = new Contract(); for (int gracz = 2; gracz < 4; gracz++) { for (int i = 4; i >= 0; i--) { Contract c = new Contract(); bool partia = false; if ((vul == vulnerabilties.we) || (vul == vulnerabilties.both)) { partia = true; } c.level = lewy[gracz, i] - 6; c.suit = (suits)(i + 1); c.declarer = (positions)(tmpgracz[gracz]); int score = c.CalculateScore(partia); if (score > maxEW) { maxEW = score; maxEWContract = c; } } } bool atakNS; int obronaScore = -maxNS; suits Superobrona = suits.diamond; if (maxNSContract > maxEWContract) { atakNS = true; Contract obrona = maxNSContract; bool partia = false; if ((vul == vulnerabilties.we) || (vul == vulnerabilties.both)) { partia = true; } // sprawdzam czy na EW jest obrona for (int i = 0; i < 5; i++) { obrona++; obrona.declarer = positions.W; obrona.tricks = -obrona.level - 6 + lewy[3, ((int)obrona.suit - 1)]; obrona.dbl = true; int s = obrona.CalculateScore(partia); if (s > obronaScore) { Superobrona = obrona.suit; obronaScore = s; } obrona.declarer = positions.E; obrona.tricks = -obrona.level - 6 + lewy[2, ((int)obrona.suit - 1)]; obrona.dbl = true; s = obrona.CalculateScore(partia); if (s > obronaScore) { obronaScore = s; Superobrona = obrona.suit; } } } else { atakNS = false; } }
public Card(suits suits, numerical numerical) { this.suits = suits.ToString(); this.numerical = numerical.ToString(); }
public MainWindow() { InitializeComponent(); //temp = sr.ToString(); //temp1 = temp.Split(' ').ToString(); //MessageBox.Show(temp1); //for(int i= 1; i<1001; i++) while (!srt.EndOfStream) { line = srt.ReadLine().ToString(); hand1 = line.Substring(0, 14); hand2 = line.Substring(15, 14); string[] Hand1Cards = new string[5]; suits[] Hand1Suites = new suits[5]; face[] Hand1Face = new face[5]; string[] Hand2Cards = new string[5]; suits[] Hand2Suites = new suits[5]; face[] Hand2Face = new face[5]; for (int j = 0; j < Hand1Cards.Length; j++) { Hand1Cards[j] = hand1.Substring(j * 3, 2); switch (Hand1Cards[j][0]) { case 'A': Hand1Face[j] = face.Ace; break; case '2': Hand1Face[j] = face.Two; break; case '3': Hand1Face[j] = face.Three; break; case '4': Hand1Face[j] = face.Four; break; case '5': Hand1Face[j] = face.Five; break; case '6': Hand1Face[j] = face.Six; break; case '7': Hand1Face[j] = face.Seven; break; case '8': Hand1Face[j] = face.Eight; break; case '9': Hand1Face[j] = face.Nine; break; case 'T': Hand1Face[j] = face.Ten; break; case 'J': Hand1Face[j] = face.Jack; break; case 'Q': Hand1Face[j] = face.Queen; break; case 'K': Hand1Face[j] = face.King; break; } switch (Hand1Cards[j][1]) { case 'D': Hand1Suites[j] = suits.Diamonds; break; case 'H': Hand1Suites[j] = suits.Heart; break; case 'C': Hand1Suites[j] = suits.Clubs; break; case 'S': Hand1Suites[j] = suits.Spades; break; } // MessageBox.Show(Hand1Face[j].ToString() + Hand1Suites[j].ToString()); } for (int j = 0; j < Hand2Cards.Length; j++) { Hand2Cards[j] = hand2.Substring(j * 3, 2); switch (Hand2Cards[j][0]) { case 'A': Hand2Face[j] = face.Ace; break; case '2': Hand2Face[j] = face.Two; break; case '3': Hand2Face[j] = face.Three; break; case '4': Hand2Face[j] = face.Four; break; case '5': Hand2Face[j] = face.Five; break; case '6': Hand2Face[j] = face.Six; break; case '7': Hand2Face[j] = face.Seven; break; case '8': Hand2Face[j] = face.Eight; break; case '9': Hand2Face[j] = face.Nine; break; case 'T': Hand2Face[j] = face.Ten; break; case 'J': Hand2Face[j] = face.Jack; break; case 'Q': Hand2Face[j] = face.Queen; break; case 'K': Hand2Face[j] = face.King; break; } switch (Hand2Cards[j][1]) { case 'D': Hand2Suites[j] = suits.Diamonds; break; case 'H': Hand2Suites[j] = suits.Heart; break; case 'C': Hand2Suites[j] = suits.Clubs; break; case 'S': Hand2Suites[j] = suits.Spades; break; } // MessageBox.Show(Hand2Face[j].ToString() + Hand1Suites[j].ToString()); } Array.Sort(Hand1Face); string output = ""; for (int i = 0; i < Hand1Face.Length; i++) { output += Hand1Face[i]; } MessageBox.Show(output); //MessageBox.Show((face.Ace - face.King).ToString()); ScoreP1 = 0; ScoreP2 = 0; if (Hand1Suites[0] == Hand1Suites[1] && Hand1Suites[0] == Hand1Suites[2] && Hand1Suites[0] == Hand1Suites[3] && Hand1Suites[0] == Hand1Suites[4]) { if (Hand1Face[0] == face.Ace) { CheckForFlushes(Hand1Face); } if (Hand1Face[0] != face.Ace) { CheckForStraightFlush(Hand1Face); } if (ScoreP1 == 0) { ScoreP1 = 6; } } if (Hand1Face[0] == Hand1Face[1]) { if (Hand1Face[0] == Hand1Face[2]) { if (Hand1Face[3] == Hand1Face[4]) { ScoreP1 = 7; } } } if (Hand1Face[2] == Hand1Face[3]) { if (Hand1Face[2] == Hand1Face[4]) { if (Hand1Face[0] == Hand1Face[1]) { ScoreP1 = 7; } } } if (Hand1Face[0] == Hand1Face[1]) { if (Hand1Face[0] == Hand1Face[2]) { if (Hand1Face[0] == Hand1Face[3]) { ScoreP1 = 8; } else { ScoreP1 = 4; } } else { if (ScoreP1 == 3) { break; } else { ScoreP1 = 2; } } } if (Hand1Face[1] == Hand1Face[2]) { if (Hand1Face[1] == Hand1Face[3]) { if (Hand1Face[1] == Hand1Face[4]) { ScoreP1 = 8; } else { ScoreP1 = 4; } } else { if (ScoreP1 == 3) { break; } else { ScoreP1 = 2; } } } if (Hand1Face[0] == Hand1Face[1] && Hand1Face[2] == Hand1Face[3]) { ScoreP1 = 3; } if (Hand1Face[1] == Hand1Face[2] && Hand1Face[3] == Hand1Face[4]) { ScoreP1 = 3; } if (Hand1Face[0] == Hand1Face[1] && Hand1Face[3] == Hand1Face[4]) { ScoreP1 = 3; } if (Hand1Face[2] == Hand1Face[3]) { if (Hand1Face[2] == Hand1Face[4]) { ScoreP1 = 4; } } else { if (ScoreP1 == 3) { break; } else { ScoreP1 = 2; } } if (Hand1Face[3] == Hand1Face[4]) { if (ScoreP1 == 3) { break; } else { ScoreP1 = 2; } } if (Hand1Face[0] - Hand1Face[1] == -1 && Hand1Face[1] - Hand1Face[2] == -1 && Hand1Face[2] - Hand1Face[3] == -1 && Hand1Face[3] - Hand1Face[4] == -1) { ScoreP1 = 5; } else { ScoreP1 = 1; } Array.Sort(Hand2Face); string output2 = ""; for (int i = 0; i < Hand2Face.Length; i++) { output2 += Hand2Face[i]; } MessageBox.Show(output2 + "P2"); //MessageBox.Show((face.Ace - face.King).ToString()); ScoreP1 = 0; if (Hand1Suites[0] == Hand1Suites[1] && Hand1Suites[0] == Hand1Suites[2] && Hand1Suites[0] == Hand1Suites[3] && Hand1Suites[0] == Hand1Suites[4]) { if (Hand2Face[0] == face.Ace) { //check if Ace, two,...five if (Hand2Face[0] - Hand2Face[1] == -1 && Hand2Face[1] - Hand2Face[2] == -1 && Hand2Face[2] - Hand2Face[3] == -1 && Hand2Face[3] - Hand2Face[4] == -1) { ScoreP1 = 9; } else if (Hand2Face[0] - Hand2Face[4] == -12 && Hand2Face[1] - Hand2Face[2] == -1 && Hand2Face[2] - Hand2Face[3] == -1 && Hand2Face[3] - Hand2Face[4] == -1) { ScoreP1 = 10; } } if (Hand2Face[0] != face.Ace) { if (Hand2Face[0] - Hand2Face[1] == -1 && Hand2Face[1] - Hand2Face[2] == -1 && Hand2Face[2] - Hand2Face[3] == -1 && Hand2Face[3] - Hand2Face[4] == -1) { ScoreP1 = 9; } } if (ScoreP1 == 0) { ScoreP1 = 6; } } if (Hand2Face[0] == Hand2Face[1]) { if (Hand2Face[0] == Hand2Face[2]) { if (Hand2Face[3] == Hand2Face[4]) { ScoreP1 = 7; } } } if (Hand2Face[2] == Hand2Face[3]) { if (Hand2Face[2] == Hand2Face[4]) { if (Hand2Face[0] == Hand2Face[1]) { ScoreP1 = 7; } } } if (Hand2Face[0] == Hand2Face[1]) { if (Hand2Face[0] == Hand2Face[2]) { if (Hand2Face[0] == Hand2Face[3]) { ScoreP1 = 8; } else { ScoreP1 = 4; } } else { if (ScoreP1 == 3) { break; } else { ScoreP1 = 2; } } } if (Hand2Face[1] == Hand2Face[2]) { if (Hand2Face[1] == Hand2Face[3]) { if (Hand2Face[1] == Hand2Face[4]) { ScoreP1 = 8; } else { ScoreP1 = 4; } } else { if (ScoreP1 == 3) { break; } else { ScoreP1 = 2; } } } if (Hand2Face[0] == Hand2Face[1] && Hand2Face[2] == Hand2Face[3]) { ScoreP1 = 3; } if (Hand2Face[1] == Hand2Face[2] && Hand2Face[3] == Hand2Face[4]) { ScoreP1 = 3; } if (Hand2Face[0] == Hand2Face[1] && Hand2Face[3] == Hand2Face[4]) { ScoreP1 = 3; } if (Hand2Face[2] == Hand2Face[3]) { if (Hand2Face[2] == Hand2Face[4]) { ScoreP1 = 4; } } else { if (ScoreP1 == 3) { break; } else { ScoreP1 = 2; } } if (Hand2Face[3] == Hand2Face[4]) { if (ScoreP1 == 3) { break; } else { ScoreP1 = 2; } } if (Hand2Face[0] - Hand2Face[1] == -1 && Hand2Face[1] - Hand2Face[2] == -1 && Hand2Face[2] - Hand2Face[3] == -1 && Hand2Face[3] - Hand2Face[4] == -1) { ScoreP1 = 5; } else { ScoreP1 = 1; } /*MessageBox.Show("works"); * for (int didntusethisi = 0; didntusethisi < Hand1Suites.Length; didntusethisi++) * { * newOutput += ((face)Hand1Face[didntusethisi]).ToString() + "\n"; * } * MessageBox.Show(newOutput); * * Array.Sort(Hand1Face); * newOutput = ""; * for (int didntusethisi = 0; didntusethisi < Hand1Suites.Length; didntusethisi++) * { * newOutput += ((face)Hand1Face[didntusethisi]).ToString() + "\n"; * } * MessageBox.Show(newOutput); * * MessageBox.Show(((int)(Hand1Face[0] - Hand1Face[1])).ToString());*/ MessageBox.Show(ScoreP1.ToString() + " " + ScoreP2.ToString()); } WinnerLabel.Content = "Player 1 wins This many times: " + Player1Count; }
public PlayingCard(cardtypes type, suits suit, bool notfake) { this.type = type; this.suit = suit; this.notfake = notfake; }