Dakle od 6 bacenih kockica (za sad mi kockice baca obican pseudo-random generator na osnovu nekog prostog seed-a, tipa datum i vreme), ful cine 3 iste plus 2 iste kockice. E sad, dok za druge kombinacije nije bilo problem napisati kratku logiku, kod Fula je stvar malo drugacija. Ja sam pristpio nekom prilicno ociglednom (da ne kazem seljackom) logikom, gde se proverava da li su prva tri elementa ista, pa ako jesu, da li su i naredna dva ista. Medjutim, ovde se stvar komplikuje za pisanje, kad se uzme u obzir da je u igri 6, a Ful cine 5 kockica. Te kombinacije mogu pasti u nekoliko razlicitih oblika, tipa 111223, 112223, 113222, 311122... itd.
Ja sam pisanju pristupio vezivajuci if/else if nizove, ali to rezultuje izuzetno nezgrapnim kodom i za pisanje i za pracenje. Algoritam uprosceno receno izgleda ovako nekako:
Ako su prvi i drugi element isti i ako su drugi i treci isti, ispitaj da li su cetvrti i peti isti i to onda znaci Ful.
Ako nisu, da li su drugi i treci isti i da li je treci i cetvrti isti, ako jeste da li su i peti i sesti isti, ako jesu, to je onda Ful.
itd...
Nadam se da ste me skapirali?
Dakle, moje pitanje je, kako bi ovo eventualno moglo da se napise na elegantniji i efikasniji nacin (ili bar jedan od ova dva da se postigne)?
E da... sve ovo podrazumeva da su elementi prethodno sortirani.