Witam,
Mam mały problem. Do wykonania mam gre poker, która polega na wczytaniu danych z pliku txt gdzie znajduje sie okolo 1000 kombinacji ( w takiej formie: KD 9C JH 7H KC 5S 5S 6S 6D 8H).
Posiada juz calosc, ale niestety wynik nie zgadza sie z tym ktory powinien byc. Sprawdzalem kilku krotnie troche kombinacji i wyszlo ze problem znajduje sie gdzies w tym miejscu:
//Poker
if (tabkolor[0].equals(tabkolor[1]) & tabkolor[1].equals(tabkolor[2]) & tabkolor[2].equals(tabkolor[3]) & tabkolor[3].equals(tabkolor[4]) & tabfigur[0] == (tabfigur[1]-1) & tabfigur[1] == (tabfigur[2]-1) & tabfigur[2] == (tabfigur[3]-1) & tabfigur[3] == (tabfigur[4]-1)){
moc = 22 + (tabfigur[4]/0.100);
wynik = moc;
}
if(tabkolor[5].equals(tabkolor[6]) & tabkolor[6].equals(tabkolor[7]) & tabkolor[7].equals(tabkolor[8]) & tabkolor[8].equals(tabkolor[9]) & tabfigur[5] == (tabfigur[6]-1) & tabfigur[6] == (tabfigur[7]-1) & tabfigur[7] == (tabfigur[8]-1) & tabfigur[8] == (tabfigur[9]-1)){
moc1 = 22 + (tabfigur[9]/0.100);
wynik = moc1;
}
//Kareta
if(tabfigur[0] == tabfigur[1] & tabfigur[1] == tabfigur[2] & tabfigur[2] == tabfigur[3] & tabfigur[3] != tabfigur[4]){
moc = 21 + (tabfigur[3]/0.100);
wynik = moc;
} else if (tabfigur[0] != tabfigur[1] & tabfigur[1] == tabfigur[2] & tabfigur[2] == tabfigur[3] & tabfigur[3] == tabfigur[4]){
moc = 21 + (tabfigur[4]/0.100);
wynik = moc;
}
if(tabfigur[5] == tabfigur[6] & tabfigur[6] == tabfigur[7] & tabfigur[7] == tabfigur[8] & tabfigur[8] != tabfigur[9]){
moc1 = 21 + (tabfigur[8]/0.100);
wynik = moc1;
} else if (tabfigur[5] != tabfigur[6] & tabfigur[6] == tabfigur[7] & tabfigur[7] == tabfigur[8] & tabfigur[8] == tabfigur[9]){
moc1 = 21 + (tabfigur[9]/0.100);
wynik = moc1;
}
//Full
if(tabfigur[0] == tabfigur[1] & tabfigur[1] == tabfigur[2] & tabfigur[3] == tabfigur[4]){
moc = 20 + (tabfigur[4]/0.100);
wynik = moc;
} else if (tabfigur[0] == tabfigur[1] & tabfigur[2] == tabfigur[3] & tabfigur[3] == tabfigur[4]){
moc = 20 + (tabfigur[4]/0.100);
wynik = moc;
}
if(tabfigur[5] == tabfigur[6] & tabfigur[7] == tabfigur[8] & tabfigur[8] == tabfigur[9]){
moc1 = 20 + (tabfigur[9]/0.100);
wynik = moc1;
} else if (tabfigur[5] == tabfigur[6] & tabfigur[6] == tabfigur[7] & tabfigur[8] == tabfigur[9]){
moc1 = 20 + (tabfigur[9]/0.100);
wynik = moc1;
}
//Kolor
if (tabkolor[0].equals(tabkolor[1]) & tabkolor[1].equals(tabkolor[2]) & tabkolor[2].equals(tabkolor[3]) & tabkolor[3].equals(tabkolor[4])){
moc = 19+(tabfigur[4]/0.100);
wynik = moc;
}
if (tabkolor[5].equals(tabkolor[6]) & tabkolor[6].equals(tabkolor[7]) & tabkolor[7].equals(tabkolor[8]) & tabkolor[8].equals(tabkolor[9])){
moc1 = 19 +(tabfigur[9]/0.100);
wynik1 = moc1;
}
//Strit
if(tabfigur[0] == (tabfigur[1]-1) & tabfigur[1] == (tabfigur[2]-1) & tabfigur[2] == (tabfigur[3]-1) & tabfigur[3] == (tabfigur[4]-1)){
moc = 18 + (tabfigur[0]/0.100);
wynik = moc;
}
if(tabfigur[5] == (tabfigur[6]-1) & tabfigur[6] == (tabfigur[7]-1) & tabfigur[7] == (tabfigur[8]-1) & tabfigur[8] == (tabfigur[9]-1)){
moc1 = 18 + (tabfigur[5]/0.100);
wynik1 = moc1;
}
//Trojka
if(tabfigur[0] == tabfigur[1] & tabfigur[1] == tabfigur[2] & tabfigur[3] != tabfigur[2] & tabfigur[4] != tabfigur[3]){
moc = 17 + (tabfigur[0]/0.100);
wynik = moc;
} else if (tabfigur[0] != tabfigur[1] & tabfigur[2] == tabfigur[3] & tabfigur[3] == tabfigur[4]){
moc = 17 + (tabfigur[2]/0.100);
wynik = moc;
} else if (tabfigur[0] != tabfigur[1] & tabfigur[1] == tabfigur[2] & tabfigur[2] == tabfigur[3] & tabfigur[4] != tabfigur[3]){
moc = 17 + (tabfigur[1]/0.100);
wynik = moc;
}
if(tabfigur[5] == tabfigur[6] & tabfigur[6] == tabfigur[7] & tabfigur[8] != tabfigur[7] & tabfigur[9] != tabfigur[7]){
moc1 = 17 + (tabfigur[5]/0.100);
wynik1 = moc1;
} else if (tabfigur[5] != tabfigur[6] & tabfigur[7] == tabfigur[8] & tabfigur[8] == tabfigur[9]){
moc1 = 17 + (tabfigur[7]/0.100);
wynik1 = moc1;
} else if (tabfigur[5] != tabfigur[6] & tabfigur[6] == tabfigur[7] & tabfigur[7] == tabfigur[8] & tabfigur[9] != tabfigur[7]){
moc1 = 17 + (tabfigur[6]/0.100);
wynik1 = moc1;
}
*/
//Dwie pary
if(tabfigur[0] == tabfigur[1] & tabfigur[2] == tabfigur[3] & tabfigur[3] != tabfigur[4]){
moc = 16 + (tabfigur[2]/0.100);
wynik = moc;
}
else if(tabfigur[0] == tabfigur[1] & tabfigur[3] == tabfigur[4] & tabfigur[2] != tabfigur[3])
{
moc = 16 + (tabfigur[3]/0.100);
wynik = moc;
} else if(tabfigur[1] == tabfigur[2] & tabfigur[3] == tabfigur[4] & tabfigur[0] != tabfigur[1]){
moc = 16 + (tabfigur[4]/0.100);
wynik = moc;
}
if(tabfigur[5] == tabfigur[6] & tabfigur[7] == tabfigur[8] & tabfigur[6] != tabfigur[7]){
moc1 = 16 + (tabfigur[7]/0.100);
wynik1 = moc1;
} else if(tabfigur[5] == tabfigur[6] & tabfigur[8] == tabfigur[9] & tabfigur[7] != tabfigur[8]){
moc1 = 16 + (tabfigur[8]/0.100);
wynik1 = moc1;
}else if (tabfigur[6] == tabfigur[7] & tabfigur[8] == tabfigur[9] & tabfigur[5] != tabfigur[6]){
moc1 = 16 + (tabfigur[9]/0.100);
wynik1 = moc1;
}
//Para
if(tabfigur[0] == tabfigur[1]){
moc =15.0 + (tabfigur[0]/0.100);
wynik = moc;
} else if (tabfigur[1] == tabfigur[2] ){
moc = 15.0 + (tabfigur[1]/0.100);
wynik = moc;
} else if (tabfigur[2]==tabfigur[3]){
moc = 15.0 + (tabfigur[2]/0.100);
wynik = moc;
} else if (tabfigur[3] == tabfigur[4]){
moc = 15.0 + (tabfigur[3]/0.100);
wynik = moc;
} if (tabfigur[5] == tabfigur[6]){
moc1 = 15.0 + (tabfigur[5]/0.100);
wynik1 = moc1;
} else if(tabfigur[6]==tabfigur[7]){
moc1 = 15.0+(tabfigur[6]/0.100);
wynik1 = moc1;
} else if (tabfigur[7] == tabfigur[8]){
moc1 = 15.0+(tabfigur[7]/0.100);
wynik1 = moc1;
} else if (tabfigur[8] == tabfigur[9]){
moc1 = 15.0+(tabfigur[8]/0.100);
wynik1 = moc1;
}
if(wynik > wynik1){
gracz1++;
System.out.println(" Wygral gracz 1");
} else if (wynik1 > wynik){
gracz2++;
System.out.println(" Wygral gracz 2");
} else if (wynik == wynik1){
if (tabfigur[4] > tabfigur[9]){
gracz1++;
System.out.println(" Wygral gracz 1");
}
else if (tabfigur[9] > tabfigur[4]){
gracz2++;
System.out.println(" Wygral gracz 2");
}
}
Dodam jeszcze, ze przy kombinacji: KD 9C JH 7H KC 5S 5S 6S 6D 8H
Wynik wyskakuje mi taki:
7 9 11 13 13 5 5 6 6 8
H C H D C S S S D H
Wygral gracz 1
Gracz nr 1 wygrał : 1 razy.
0