Hmm, antingen tänker ni helt galet (100tals if satser är ju löjligt mycket för en sån här sak), eller så har jag misförstått vad ni vill göra...
Snabbskrev iaf ihop en liten implementation som klarar av att känna igen alla typer av poänggivande tärningskombinationer från den nedre sektionen av yatzy blocket (http://en.wikipedia.org/wiki/Yahtzee#Lower_section), och det blev 100rader, varav 30rader är för testkörningar (och resten av koden innehåller en hel del formateringar såsom blanka rader osv. för läsbarhetens skull).
Ni ville ju dock inte ha ren källkod, så jag get er väl helt enkelt tipset att implementera några grundläggande metoder:
1) Implementera en funktion som räknar antalet förekomster för varje tärningsvärde, spara i en array med 6 platser (om tärningsvärdet 5 förekommer 2 ggr, spara värde 2 i position 4 (array index börjar från 0..))
2) implementera max/min funktioner som fungerar på arrayer.
3) Implementera en funktion som kollar om ett angivet tal finns i en array.
Ovanstående 4 methoder (punkt 2 är 2 methoder) är triviala att implementera, och med dem så blir alla isYatzee/isThreeOfAKind/.. funktioner också triviala.
Ex:
public boolean isLargeStraight(int dices[]) {
int reps[] = getCount(dices);
return max(reps)==1 && (min(dices)!=1 || max(dices)!=6);
}
I exemplet är dices[] en array som innehåller 5 heltal mellan 1 och 6, getCount är den funktion som jag tidigare nämnt som beräknar förekomster av tärningsvärden.
Om ni vill se resten av källkoden så är det bara att säga till, dock bör ni inte ha några som helst problem att implementera samtliga isThreeOfAKind/isYatzee/.. funktioner på 2-3 rader kod per metod om ni först implementerar de 4 triviala funktionerna som jag nämnde tidigare, så gissningsvis lär ni knappast behöva se min kod för att kunna återskapa den.