/// <summary> /// poziva se automatski pri ulasku u sobu za igru /// </summary> /// <param name="userName"></param> /// <param name="imeSobe"></param> public void joinRoom(string userName, string imeSobe) { var id = Context.ConnectionId; Room sobaJoin = sobe.Find(x => x.imeSobe.Equals(imeSobe));//dohvatim sobu u koju igrac zali uci // int a = 0; //if (sobaJoin.brojIgraca == 3) // a++; if(sobaJoin==null || userName == null) { Clients.Client(id).izbaci(); return; } if (sobaJoin.brojIgraca == 4) { Clients.Client(id).izbaci(); return; } sobaJoin.igraci[sobaJoin.brojIgraca] = new Igrac() { imeKorisnika = userName, connectioId = id }; int pozicija = sobaJoin.brojIgraca;//mjesto u koje ubacujem //slanje podataka o ostalim korisnicima trenutnom igracu ime , pozicija u sobi Clients.Client(id).podatciOIgracima(sobaJoin.igraci[(pozicija + 1) % 4], 1, sobaJoin.igraci[(pozicija + 2) % 4], 2, sobaJoin.igraci[(pozicija + 3) % 4], 3); //svima osim zadnjem prikljucenom for (int i = 0; i < pozicija; i++) { Clients.Client(sobaJoin.igraci[i].connectioId).onNewUserConnected(userName, (pozicija - i)); } // Clients.Client(sobaJoin.igraci[i].connectioId).onNewUserConnected(userName, (sobaJoin.brojIgrac); //ako je soba puna pocne igraca sobaJoin.brojIgraca++;//broj igraca i koristim za saviti sljedeceg igraca if (sobaJoin.brojIgraca == 4)//zapocni kad je puna soba { Spil spil = new Spil(); for (int i = 0; i < sobaJoin.brojIgraca; i++) { List<Karta> ruka = spil.getDesteKarat(); ruka.Sort(); for (int j = 0; j < 10; j++) { ruka.ElementAt(j).xPoz = 50 + j * 140/2;//karte ce se polovicno preklapati ruka.ElementAt(j).yPoz = 500; } sobaJoin.igraci[i].mojeKarte = ruka; Clients.Client(sobaJoin.igraci[i].connectioId).zapocniIgru(ruka); } } }
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 }