Hej! HejHur man räknar ut två par!? YATZY
Håller på och kodar spelet Yatzy men kan inte riktigt få kläm på det där med två par.
Hur #¤% gör man för att räkna ut om en vektor på 5 tal innehåller två par och sedan returnerar summan av de båda talen!? Säkert inte så komplicerat :P kanske bara e jag som suttit här för länge, börjar kännas som det i alla fall.
Tack på förskott!
MVH SorenSv: Hur man räknar ut två par!? YATZY
Knådade ihop en metod "bool checkForPairs(List<int>)".
Du skickar med dina tärningar som indata och den eventuella summan skickas som returvärde.
(0 då inget par hittats)
static void Main(string[] args) {
// Dices
List<int> dices = new List<int>();
dices.Add(2);
dices.Add(2);
dices.Add(1);
dices.Add(1);
dices.Add(5);
int sum = checkForPair(dices);
if(sum>0)
MessageBox.Show("Pair! Sum=" + sum);
else
MessageBox.Show("No pair!");
}
private int checkForPair(List<int> dices) {
// Result list.
List<int> result = new List<int>();
for(int i=0; i<6; i++)
result.Add(0);
// Count dices.
foreach(int digit in dices)
result[digit - 1]++;
// Check for pairs.
int pairs = 0;
int sum = 0;
for(int i=0; i<result.Count; i++) {
if(result[i] >= 2) {
pairs++;
sum += 2 * (i + 1);
}
}
// Return pairs or not (sum).
return pairs==2 ? sum : 0;
}
/ Peter