public static void test() { List <gracz> gracze = new List <gracz>(); List <zapis_do_druzyny> zapisy = new List <zapis_do_druzyny>(); List <druzyna> druzyny = new List <druzyna>(); for (int i = 0; i < 4; i++) { gracze.Add(new gracz { IDGracza = i }); zapisy.Add(new zapis_do_druzyny { idZapis_do_druzyny = i, idGracza = i, idDruzyny = i / 2 }); if (i % 2 == 0) { druzyny.Add(new druzyna { idDruzyny = i / 2, idMeczu = 1 }); } } druzyny[0].Kolor_druzyny = "red"; druzyny[1].Kolor_druzyny = "blue"; List <zdarzenie> zdarzenia = setListZdarzenia(1, 1); List <udzial> udzialy = StworzUdzialy(1, zdarzenia, gracze, zapisy); statystyki_meczu stat = setStatyMeczu(zdarzenia, udzialy, druzyny, zapisy, 1, 1); int aa = 0; }
public static statystyki_meczu setStatyMeczu(List <zdarzenie> zdarzenie, List <udzial> udzial, List <druzyna> druzyna, List <zapis_do_druzyny> zapis, int idStatystykiMeczu, int idMeczu) { statystyki_meczu staty; Random r = new Random(); int czas = r.Next(900, 2400); int killsred = 0; int killsblue = 0; List <int> killerTeam = new List <int>(); List <string> kolor = new List <string>(); List <int> killers = (from udzialy in udzial where udzialy.Rola.Equals("killer") select udzialy.idGracza).ToList(); foreach (int i in killers) { killerTeam.Add((from z in zapis where z.idGracza == i select z.idDruzyny).Single()); } foreach (int j in killerTeam) { kolor.Add((from d in druzyna where d.idDruzyny == j select d.Kolor_druzyny).Single()); } foreach (string c in kolor) { if (c.Equals("red")) { killsred++; } if (c.Equals("blue")) { killsblue++; } } staty = new statystyki_meczu(idStatystykiMeczu, czas, idMeczu, killsred, killsblue); return(staty); }
public static void play_match() { //test(); var mDB = new BazyDB(); int id_mecz_start; int druzyna_start; int udzial_start; int zapis_start; int zdarzenie_start; int statystyki_start; if (mDB.mecz.Any()) { id_mecz_start = mDB.mecz.OrderByDescending(u => u.idMeczu).FirstOrDefault().idMeczu + 1; } else { id_mecz_start = 1; } if (mDB.druzyna.Any()) { druzyna_start = mDB.druzyna.OrderByDescending(u => u.idDruzyny).FirstOrDefault().idDruzyny + 1; } else { druzyna_start = 1; } if (mDB.udzial.Any()) { udzial_start = mDB.udzial.OrderByDescending(u => u.idUdzial).FirstOrDefault().idUdzial + 1; } else { udzial_start = 1; } if (mDB.zapis_do_druzyny.Any()) { zapis_start = mDB.zapis_do_druzyny.OrderByDescending(u => u.idZapis_do_druzyny).FirstOrDefault().idZapis_do_druzyny + 1; } else { zapis_start = 1; } if (mDB.zdarzenie.Any()) { zdarzenie_start = mDB.zdarzenie.OrderByDescending(u => u.idZdarzenie).FirstOrDefault().idZdarzenie + 1; } else { zdarzenie_start = 1; } if (mDB.statystyki_meczu.Any()) { statystyki_start = mDB.statystyki_meczu.OrderByDescending(u => u.idStatystyki_Meczu).FirstOrDefault().idStatystyki_Meczu + 1; } else { statystyki_start = 1; } List <gracz> players4 = losowanieGraczy(mDB.gracz.ToList()); List <druzyna> druzyny = setListDruzyna(druzyna_start, id_mecz_start); mecz match = StworzMecz(druzyny); List <zapis_do_druzyny> zapisy = StworzZapisy(players4, druzyny, zapis_start); List <zdarzenie> zdarzenia = setListZdarzenia(zdarzenie_start, id_mecz_start); List <udzial> udzialy = StworzUdzialy(udzial_start, zdarzenia, players4, zapisy); statystyki_meczu statystyki = setStatyMeczu(zdarzenia, udzialy, druzyny, zapisy, statystyki_start, id_mecz_start); DbContextTransaction trans = mDB.Database.BeginTransaction(); try { mDB.mecz.Add(match); foreach (var item in druzyny) { mDB.druzyna.Add(item); } foreach (var item in zapisy) { mDB.zapis_do_druzyny.Add(item); } foreach (var item in zdarzenia) { mDB.zdarzenie.Add(item); } foreach (var item in udzialy) { mDB.udzial.Add(item); } mDB.statystyki_meczu.Add(statystyki); mDB.SaveChanges(); trans.Commit(); } catch (Exception e) { trans.Rollback(); } }