public void JoinRoom(string imeKorisnika) { List<SpSoba> spSobe = ListaSPsoba.dohvatiListuSoba(); //SpSoba sobaIgraca = spSobe.Find(x => x.Igrac.connectioId); var connectionId = Context.ConnectionId; SpSoba novaSoba = new SpSoba(imeKorisnika, connectionId); //soba u kojoj je igrac Spil spil = new Spil(); //dajemo karte igracu ****************************************** novaSoba.Igrac.mojeKarte = spil.getDesteKarat(); //**************************************************************** sortRuku(novaSoba); novaSoba.karteU_RuciAI = spil.getDesteKarat();//dali smo karte AI novaSoba.spilIgre = spil; spSobe.Add(novaSoba); Clients.Client(connectionId).pocetakIgre(novaSoba.Igrac.mojeKarte); //igracu saljem njegove karte da ih iscrta }
//odredi koja je bacena karta iz kordinate klika private Karta getKliknutaKarta(SpSoba sobaIgre, int mouseX, int mouseY) { for (int i = sobaIgre.Igrac.mojeKarte.Count - 1; i >= 0; i--) { Karta temp = sobaIgre.Igrac.mojeKarte.ElementAt(i);//karta za provjeru ide od najvise prema najnizoj if (temp.xPoz < mouseX && (temp.xPoz + temp.sirina) > mouseX && temp.yPoz < mouseY && temp.yPoz + temp.visina > mouseY)//kliknuta je ova karta { return temp; } } return null; }
private void sortRuku(SpSoba sobaIgre) { sobaIgre.Igrac.mojeKarte.Sort();//poslozimo ih da budu u redosljedu u ruci for (int j = 0; j < sobaIgre.Igrac.mojeKarte.Count; j++) { sobaIgre.Igrac.mojeKarte.ElementAt(j).xPoz = 50 + j * 140 / 2; sobaIgre.Igrac.mojeKarte.ElementAt(j).yPoz = 500; } }
//bacanje karte private void baciKartu(SpSoba sobaIgre, Karta igracevoBacanje, int istoZvanje, string connectionId) { sobaIgre.Igrac.mojeKarte.Remove(igracevoBacanje); Karta jacaKarta = sobaIgre.baceneKartaAI.tkoJeJaci(igracevoBacanje); Karta kartuIzvucenuAI = sobaIgre.spilIgre.getKarta(); Karta kataIzvucenaIgrac = sobaIgre.spilIgre.getKarta(); sobaIgre.odbaceneKarte.Add(igracevoBacanje); sobaIgre.odbaceneKarte.Add(sobaIgre.baceneKartaAI); int bodovi = sobaIgre.baceneKartaAI.bodovi + igracevoBacanje.bodovi; if (jacaKarta.Equals(sobaIgre.baceneKartaAI) || istoZvanje == 1)//1 odgovorio je krivim zvanjem { sobaIgre.AIjeigrao = 1; sobaIgre.bodoviAi += bodovi; } if (jacaKarta.Equals(igracevoBacanje)) { sobaIgre.bodoviIgraca += bodovi; } Clients.Client(connectionId).odgovor(sobaIgre.Igrac.mojeKarte, igracevoBacanje, kartuIzvucenuAI, kataIzvucenaIgrac); if (kataIzvucenaIgrac != null) sobaIgre.Igrac.mojeKarte.Add(kataIzvucenaIgrac); sortRuku(sobaIgre); if (kartuIzvucenuAI != null) sobaIgre.karteU_RuciAI.Add(kartuIzvucenuAI); }