/* * Igra */ /** * Metoda koja pokrece igru \n * sve setuje na nulu i snima trenutno * vreme * na serveru */ public int[] PokreniIgru () { brojPokusaja = 0; vremeStart = DateTime.Now; status = EStatusIgre.IGRA_AKTIVNA; List<int> result = new List<int> (); using (DataBase data = new DataBase ()) { int brojFilmova; int rbFilma; Random random = new Random (); try { data.Open (); brojFilmova = data.BrojFilmova (); rbFilma = random.Next (brojFilmova); film = data.PreuzmiFilm (rbFilma); nazivFilma = film.Naziv.ToUpper ().ToCharArray (); nazivFilma = ZamenaKraktera (nazivFilma); } catch (Exception ex) { ServiceFault fault = new ServiceFault ("Greska prilikom preuzimanja filma iz baze!"); throw new FaultException<ServiceFault> (fault); } } result.Add (nazivFilma.Length); for (int i = 0; i < nazivFilma.Length; i++) if (nazivFilma [i] == ' ') { result.Add (i); nazivFilma [i] = '\0'; } return result.ToArray (); }
/* * Rekordi */ /** * Metoda vraca listu Rekordas \n * prima dva argumenta \n * br (int) - koji predstavlja broj * rekorda koje treba preuzeti, ako je null (default) * vraca sve rekorde \n * tipSortiranja (ETipSortiranja) - enumeracija * predstavlja tip sortiranja (default - NajboljiUkupno) */ public List<Rekord> PreuzmiRekorde (int? br = null, ETipSortiranja tipSortiranja = ETipSortiranja.NajboljiUkupno) { List<Rekord> rekordi; using (DataBase data = new DataBase ()) { try { data.Open (); rekordi = data.PreuzmiRekorde (br, tipSortiranja); } catch (Exception ex) { ServiceFault fault = new ServiceFault ("Greska prilikom preuzimanja rekorda!"); throw new FaultException<ServiceFault> (fault); } } return rekordi; }
/** * Metoda dodaje rekord u bazu \n * ime - ime korisnika koji je resavao sudoku */ public void SnimiRekord (String ime) { long vreme = Vreme (); using (DataBase data = new DataBase ()) { try { data.Open (); data.NoviRekord (ime, brojPokusaja, vreme); } catch (Exception ex) { ServiceFault fault = new ServiceFault ("Greska prilikom snimanja rekorda!"); throw new FaultException<ServiceFault> (fault); } } }
/** * Metoda koja vraca zadatu rec (film) kao listu karaktera */ public char[] Resenje () { char[] result; if (status == EStatusIgre.IGRA_AKTIVNA) status = EStatusIgre.IGRA_ZAVRSENA_PORAZ; result = film.Naziv.ToCharArray (); if(result.Length < 1) { ServiceFault fault = new ServiceFault ("Greska prilikom preuzimanja resenja!"); throw new FaultException<ServiceFault> (fault); } return result; }