/// <summary> /// Proverava datu kombinaciju u odnosu na konacno resenje /// </summary> /// <param name="p">Kombinacija za proveriti</param> /// <param name="tacno">OUT: Ako je true, kombinacija je tacna</param> /// <returns>Rezultat provere</returns> public Pogodak Provera(Komb p, bool tacno) { tacno = false; if (pokusaji < 6) { pokusaji++; tacno = p == odg;//tacno je ako pu identicni pogodak i kombinacija reseno = reseno || tacno; //reseno je ako je vec reseno ili je sad tacno return odg - p;//vraca rezultat uporedjivanja } else return new Pogodak(0, 0); }
/// <summary> /// Vrsi probu date i konacne kombinacije /// </summary> /// <param name="k">Kombinacija za proveriti</param> /// <param name="i">Referenca na igru</param> /// <param name="res">OUT: Ako je tacno, igra je resena</param> /// <returns>Rezultat probe</returns> public Pogodak Proba(Komb k, Igra i, out bool res) { bool t = true; Pogodak p = i.Provera(k, t); res = p + Pogodak.tacno; if (t) i.Zavrsi(); return p; }
/// <summary> /// CONSTR: Pravi novu instancu igre /// </summary> /// <param name="seed">Random "seme" na osnovu kog se pravi kombinacija</param> public Igra(int seed) { odg = new Komb( (int)Math.Truncate((double)seed) % 6 + 1, (int)Math.Truncate((double)seed / 6) % 6 + 1, (int)Math.Truncate((double)seed / 36) % 6 + 1, (int)Math.Truncate((double)seed / 216) % 6 + 1);//pravi odgovor pocetak = DateTime.Now;//sad pocinje }