public async Task <IActionResult> PauzirajIgru() { string igraId = User.FindFirstValue("sub"); string email = User.FindFirstValue("email"); Boja bojaIgraca = Enum.Parse <Boja>(User.FindFirstValue("Boja")); Korisnik korisnik = await KorisnikProvider.GetKorisnik(db, email); Igra game = await GameProvider.NadjiIgruId(db, igraId); if (game.kreatorIgre.ID != korisnik.ID) { return(BadRequest()); } Potez poslednji = await GameProvider.getPoslednjiPotezIgre(db, game); if (game.status != statusIgre.uToku || !game.privateGame || (game.status == statusIgre.uToku && game.naPotezu == poslednji.potezOdigrao)) { return(Forbid()); } game.status = statusIgre.pauzirana; await GameProvider.AzurirajIgru(db, game); await GameHubHelper.pauzirajIgruNotifyAsync(_gameHub, game.groupNameGUID); return(Ok()); }
public async Task <IActionResult> ContinueGame() { string igraId = User.FindFirstValue("sub"); string email = User.FindFirstValue("email"); Boja bojaIgraca = Enum.Parse <Boja>(User.FindFirstValue("Boja")); Korisnik korisnik = await KorisnikProvider.GetKorisnik(db, email); Igra game = await GameProvider.NadjiIgruId(db, igraId); if (game.kreatorIgre.ID != korisnik.ID) { return(BadRequest()); } if (game.status != statusIgre.cekanjeIgracaPause) { return(Forbid()); } game.status = statusIgre.uToku; await GameProvider.AzurirajIgru(db, game); await GameHubHelper.nastaviIgru(_gameHub, game.groupNameGUID); return(Ok()); }
public static async Task <Igra> NadjiJavnuIgru(DontGetSpicyContext db, Boja boja, IConfiguration config) { Igra igraRet; SqlConnection conn = new SqlConnection(config.GetConnectionString("DontGetSpicyCS")); string availableQuery = $"select top 1 id from Igra where {boja.ToString()}Username is NULL and {boja.ToString()}IgracId=0 and privateGame=0 and Status=2"; SqlCommand command = new SqlCommand(availableQuery, conn); SqlDataReader dataReader; conn.Open(); dataReader = await command.ExecuteReaderAsync(); dataReader.Read(); if (dataReader.HasRows) { int id = dataReader.GetInt32(0); igraRet = db.Igre.Find(id); } else { igraRet = null; } command.Dispose(); conn.Close(); return(igraRet); }
private void btnKaro_Click(object sender, EventArgs e) { Boja = Boja.Karo; Button btn = sender as Button; btn.FlatAppearance.BorderColor = System.Drawing.Color.Red; }
public static async Task <bool> slobodnaBoja(IConfiguration config, Boja boja, Igra igra) { SqlConnection conn = new SqlConnection(config.GetConnectionString("DontGetSpicyCS")); string availableQuery = $"select ISNULL(Igra.{boja.ToString()}Username,-1),ISNULL(Igra.{boja.ToString()}IgracId,-1) from Igra where Igra.ID={igra.ID}"; SqlCommand command = new SqlCommand(availableQuery, conn); SqlDataReader dataReader; conn.Open(); dataReader = await command.ExecuteReaderAsync(); dataReader.Read(); string bool1 = dataReader.GetString(0); //-1 int bool2 = dataReader.GetInt32(1); //0 command.Dispose(); conn.Close(); if (bool1.CompareTo("-1") == 0 && bool2 == 0) { return(true); } else { return(false); } }
public Move(TipPoteza noviTip, Boja novaBoja, Karta zaBacanje) { Tip = noviTip; NovaBoja = novaBoja; Karte = new List <Karta>(); Karte.Add(zaBacanje); }
public List <Tuple <int, int> > odigrajPotez(Figura figura, int kocka, Boja bojaKorisnika) { List <Tuple <int, int> > potezi = new List <Tuple <int, int> >(); if (figura.boja != bojaKorisnika) { return(null); } int novaPozicija = this.racunajPomeranje(figura, kocka); if (novaPozicija == 0) { return(null); } Figura mozdaPomeri = figure.Where(fig => fig.index == novaPozicija && fig.boja != figura.boja).FirstOrDefault(); Figura tekuca = figure.Where(fig => fig.index == figura.index && fig.boja == figura.boja).FirstOrDefault(); if (tekuca == null) { return(null); } potezi.Add(new Tuple <int, int>(tekuca.index, novaPozicija)); tekuca.index = novaPozicija; if (mozdaPomeri == null) { return(potezi); } potezi.Add(new Tuple <int, int>(mozdaPomeri.index, vratiUHome(mozdaPomeri))); mozdaPomeri.index = vratiUHome(mozdaPomeri); return(potezi); }
public async Task <IActionResult> RejoinGame(string id) { string email = User.FindFirstValue("email"); Korisnik korisnik = await KorisnikProvider.GetKorisnik(db, email); Igra game = await GameProvider.NadjiIgru(db, id); if (game.status != statusIgre.cekanjeIgracaPause && (game.crveniIgracId != korisnik.ID && game.zeleniIgracId != korisnik.ID && game.zutiIgracId != korisnik.ID && game.plaviIgracId != korisnik.ID)) { return(Forbid()); } Boja bojaKorisnika = Boja.crveni; foreach (Boja b in Enum.GetValues(typeof(Boja))) { if ((int)game.GetType().GetProperty(b.ToString() + "IgracId").GetValue(game) == korisnik.ID) { bojaKorisnika = b; } } if (korisnik.ID == game.kreatorIgre.ID) { return(Ok(new { naPotezu = game.naPotezu.ToString(), boja = bojaKorisnika.ToString(), accessCode = game.accessCode, figure = game.figure, token = JWTGenerator.GenerateGameToken(korisnik, game, bojaKorisnika), username = korisnik.username, slika = korisnik.slika, igraciImena = game.vratiIgrace(), igraciSlike = await GameProvider.slikeIgraca(db, game) })); } else { return(Ok(new { naPotezu = game.naPotezu.ToString(), boja = bojaKorisnika.ToString(), figure = game.figure, token = JWTGenerator.GenerateGameToken(korisnik, game, bojaKorisnika), username = korisnik.username, slika = korisnik.slika, igraciImena = game.vratiIgrace(), igraciSlike = await GameProvider.slikeIgraca(db, game) })); } }
public Potez(Igra igra, int vrKocke, Boja odigrao) { this.potezOdigrao = odigrao; this.igra = igra; this.vremeOdigravanja = DateTime.Now; this.vrKocke = vrKocke; }
public void updateTalon(Karta k, Boja b) { imageFaceCard.Image = bacenekarteSlike[indexKarte(k)]; znak.Image = znakSlika[(int)b]; imageFaceCard.Refresh(); znak.Refresh(); }
public IActionResult Obrisi(int Id) { Boja temp = db.Boja.Where(x => x.BojaId == Id).FirstOrDefault(); temp.IsDeleted = true; db.SaveChanges(); return(RedirectToAction("Index")); }
public void Bacenekarte(List <Karta> karte, Boja boja, int BrojKarataProtivnika) { if (bot != null) { bot.Bacenekarte(karte, boja, BrojKarataProtivnika); } return; }
public Move(Karta k, Boja nova) { Karte = new List <Karta>(); Karte.Add(k); NovaBoja = nova; Tip = TipPoteza.BacaKartu; Depth = 0; Value = 0; }
private void NapuniSpil() { for (int i = 0; i < intKarte.Count; i++) { Boja boja = (Boja)(intKarte[i] % 4); Broj broj = (Broj)(intKarte[i] % 13 + 1); spilKarata.Enqueue(new Karta(broj, boja)); } }
/// <summary> /// Vэstavba bуje /// </summary> public void PostavBoju() { Spolocnost spol = Hra.DajInstanciu().Spolocnost; if(!aPevnina && aZastavane == null && aVyroba == null){ Boja boj = new Boja(aPoloha); if (spol.UpravFinancie(-boj.Cena)) { aZastavane = boj; } } }
public async Task <IActionResult> JoinPublicGame(Boja boja) { Igra game = await GameProvider.NadjiJavnuIgru(db, boja, _config); if (game == null) { return(await this.NovaIgra(boja, false)); } return(await this.PridruziSeIgri(boja, game.accessCode)); }
public async Task <IActionResult> OdigrajPotez(int figuraIndex) { string igraId = User.FindFirstValue("sub"); Boja bojaIgraca = Enum.Parse <Boja>(User.FindFirstValue("Boja")); Igra game = await GameProvider.NadjiIgruFigure(db, igraId); if (game == null) { return(NotFound()); } if (game.status != statusIgre.uToku || game.naPotezu != bojaIgraca || !game.aleaIactaEst) { return(Forbid()); } Potez poslednjiPotez = await GameProvider.getPoslednjiPotezIgre(db, game); if (poslednjiPotez.potezOdigrao != bojaIgraca) { return(NotFound()); } Figura izabranaFigura = game.figure.Where(Figura => Figura.index == figuraIndex && Figura.boja == bojaIgraca).FirstOrDefault(); poslednjiPotez.izabranaFigura = izabranaFigura; if (izabranaFigura == null) { return(NotFound()); } List <Tuple <int, int> > potezi = game.odigrajPotez(izabranaFigura, poslednjiPotez.vrKocke, bojaIgraca); if (potezi == null) { return(NotFound()); } game.aleaIactaEst = !game.aleaIactaEst; if (poslednjiPotez.vrKocke != 6) { game.naPotezu = (Igra.redosledPoteza.Find(bojaIgraca).Next ?? Igra.redosledPoteza.First).Value; } await GameProvider.AzurirajIgru(db, game); await GameProvider.AzurirajPotez(db, poslednjiPotez); await GameHubHelper.figuraPomerenaNotifyAsync(_gameHub, game.groupNameGUID, potezi, poslednjiPotez.vrKocke != 6); if (game.kraj() != null) { await GameHubHelper.krajIgreNotifyAsync(_gameHub, game.groupNameGUID, game.kraj()); } return(Ok()); }
public bool slobodnaBoja(Boja boja) { string username = (string)this.GetType().GetProperty(boja.ToString() + "Username").GetValue(this); int id = (int)this.GetType().GetProperty(boja.ToString() + "IgracId").GetValue(this); if (username == null && id == 0) { return(true); } return(false); }
public static string GenerateGameToken(Korisnik korisnik, Igra igra, Boja boja) { Claim[] claims = new Claim[] { new Claim(JwtRegisteredClaimNames.Email, korisnik.email), new Claim(JwtRegisteredClaimNames.Sub, igra.groupNameGUID), new Claim("Boja", boja.ToString()) //new Claim("kreatorIgre?",(igra.kreatorIgre.ID==korisnik.ID).ToString(), ClaimValueTypes.Boolean/*na klijentu se ocitava kao bool*/) }; return(GenerateToken(claims)); }
public void manualPlay(int cardNumber, TipPoteza moveType, Boja suit) { BestMove.Karte.Clear(); BestMove.Tip = moveType; BestMove.NovaBoja = suit; if ((moveType & TipPoteza.BacaKartu) == TipPoteza.BacaKartu) { BestMove.Karte.Add(hand[cardNumber]); hand.RemoveAt(cardNumber); } }
static void Main() { Console.WriteLine(Opis1(Boja.Crvena)); Console.WriteLine(Opis1(Boja.Zelena)); Console.WriteLine(Opis1(Boja.Plava)); Console.WriteLine("---"); Boja b = Boja.Crvena; Console.WriteLine(b.Opis2()); Console.WriteLine(Boja.Zelena.Opis2()); }
public void SkakacBacaIznimkuZaZauzetoPolje() { Ploca ploca = new Ploca(); Pozicija novaPozicija = new Pozicija(); novaPozicija.PostaviHorizontalno(1).PostaviVertikalno(3); Boja boja = Boja.Bijeli; Skakac skakac = new Skakac(boja, 1); skakac.Pozicija.PostaviHorizontalno(0).PostaviVertikalno(1); bool nelegalno = skakac.LegalanPotez(novaPozicija, ploca); }
public bool imaLiSeStaOdigrati(Boja boja, int kocka) { List <Figura> isteBoje = figure.Where(Figura => Figura.boja == boja).ToList <Figura>(); foreach (Figura figura in isteBoje) { if (racunajPomeranje(figura, kocka) != 0) { return(true); } } return(false); }
public void KonstruktorSaFiguramaOk() { List <Figura> lista = new List <Figura>(); Boja boja = Boja.Bijeli; Figura lovac = new Lovac(boja, 1); lovac.PostaviPoziciju(new Pozicija().PostaviHorizontalno(3).PostaviVertikalno(4)); lista.Add(lovac); Figura skakac = new Skakac(boja, 2); skakac.PostaviPoziciju(new Pozicija().PostaviHorizontalno(4).PostaviVertikalno(5)); lista.Add(skakac); Ploca ploca = new Ploca(lista); }
public static string SkracenaBoja(Boja boja) { switch (boja) { case Boja.Crni: return("c"); case Boja.Bijeli: return("b"); default: break; } return(""); }
static string Opis1(Boja c) { switch (c) { case Boja.Crvena: return(String.Format("Crvena = {0}", (int)c)); case Boja.Zelena: return(String.Format("Zelena = {0}", (int)c)); case Boja.Plava: return(String.Format("Plava = {0}", (int)c)); default: return("Nepostojeca boja"); } }
public Move(TipPoteza noviTip, Boja novaBoja) { Tip = noviTip; Karte = new List <Karta>(); if (Tip == TipPoteza.PromeniBoju) { Karta pom = new Karta(); pom.Broj = "J"; Karte.Add(pom); } else { Karte = null; } NovaBoja = novaBoja; }
public IActionResult Snimi(Boja vm) { Boja novi; if (vm.BojaId == 0) { novi = new Boja(); db.Boja.Add(novi); } else { novi = db.Boja.Where(x => x.BojaId == vm.BojaId).FirstOrDefault(); } novi.Naziv = vm.Naziv; db.SaveChanges(); return(RedirectToAction("Index")); }
public static BojaList UcitajBojeProizvoda(int idProizvoda) { Konekcija konekcija = new Konekcija(); SqlCommand objComm = new SqlCommand("SELECT boja.idBoje, nazivBoje, url FROM boja INNER JOIN proizvodBoja ON boja.idBoje=proizvodBoja.idBoje WHERE idProizvoda=@idProizvoda"); SqlDataReader reader = null; BojaList boje = new BojaList(); try { konekcija.otvoriKonekciju(); objComm.Connection = konekcija.objConn; objComm.Parameters.Add("@idProizvoda", SqlDbType.Int).Value = idProizvoda; reader = objComm.ExecuteReader(); Boja boja; while (reader.Read()) { boja = new Boja(); boja.IdBoje = reader.GetInt32(0); boja.NazivBoje = reader.GetString(1); boja.Url = "/images/boja/" + reader.GetString(2) + ".jpg"; boje.Add(boja); } } catch (Error e) { throw new Error(e.Type, e.Message); } catch (Exception ex) { throw new Error(ErrorType.Stop, "Greška prilikom učitavanja boje" + " " + ex.Message); } finally { if (reader != null) { reader.Close(); } konekcija.zatvoriKonekciju(); } return(boje); }
public void Bacenekarte(List <Karta> karte, Boja boja, int BrojKarataProtivnika) { if (karte != null && karte.Count > 0) { talon = karte.Last(); remainingCards.remove(karte); } novaBoja = boja; brojKarataEnemy = BrojKarataProtivnika; BestMove = new Move(); kupio = false; if (karte != null && karte.Count > 0) { kupioKaznene = false; } else { kupioKaznene = true; } }
// metoda koja vraća Color boju za zadanu enum (hrv) boju public static Color Daj(Boja boja) { return d[boja]; }