예제 #1
0
파일: Polecenia.cs 프로젝트: kitpz2/PaCa
 public Base()
 {
     polecenie = null;
     nazwaGry = null;
     wersjaSerwera = null;
     rozmiarPlanszy = null;
     wersjaKlienta = null;
     idPolecenia = -1;
     idKlienta = -1;
     pozycja = null;
     pozycje=null;
     kodBledu = KodyBledu.nieustawiony;
     numerOdpowiedzi = NumerOdpowiedzi.nieustawiony;
     idOdpowiedzi = IdOdpowiedzi.nieustawiony;
     kierunek = Kierunki.nieustawiony;
     punkty = -1;
     trybGry = Tryby.nieustawiony;
     maxGraczy = -1;
     pktDoZdobycia = -1;
     ranking = -1;
 }
예제 #2
0
파일: Rozmiar.cs 프로젝트: kitpz2/PaCa
 public Rozmiar(Rozmiar roz)
 {
     pX = roz.pX;
     pY = roz.pY;
 }
예제 #3
0
파일: Statek.cs 프로젝트: kitpz2/PaCa
 public List<Pozycja> wZasiegu(Statek statek, Rozmiar rozmiar)
 {
     List<Pozycja> poz = new List<Pozycja>();
     for (int i = 0; i < 5; i++)
         for (int j = 0; j < 5; j++)
         {
             if (j == 0 && i == 0)
                 continue;
             foreach (Pozycja p in statek.pozycje)
                 if (modulo((pPelnePozycje[3].x + i), rozmiar.x) == p.x && (modulo(pPelnePozycje[3].y + j, rozmiar.y) == p.y))
                     poz.Add(p);
         }
     for (int i = 0; i < 5; i++)
         for (int j = 0; j < 5; j++)
         {
             if (j == 0 && i == 0)
                 continue;
             foreach (Pozycja p in statek.pozycje)
                 if (modulo((pPelnePozycje[1].x - i), rozmiar.x) == p.x && (modulo(pPelnePozycje[1].y + j, rozmiar.y) == p.y))
                     poz.Add(p);
         }
     for (int i = 0; i < 5; i++)
         for (int j = 0; j < 5; j++)
         {
             if (j == 0 && i == 0)
                 continue;
             foreach (Pozycja p in statek.pozycje)
                 if (modulo((pPelnePozycje[0].x - i), rozmiar.x) == p.x && (modulo(pPelnePozycje[0].y - j, rozmiar.y) == p.y))
                     poz.Add(p);
         }
     for (int i = 0; i < 5; i++)
         for (int j = 0; j < 5; j++)
         {
             if (j == 0 && i == 0)
                 continue;
             foreach (Pozycja p in statek.pozycje)
                 if (modulo((pPelnePozycje[2].x + i), rozmiar.x) == p.x && (modulo(pPelnePozycje[2].y - j, rozmiar.y) == p.y))
                     poz.Add(p);
         }
     return poz;
 }
예제 #4
0
파일: Statek.cs 프로젝트: kitpz2/PaCa
 public void wykonajRuch(int kierunek, Rozmiar rozmiar)
 {
     if (kierunek == Kierunki.gora)
     {
         foreach (Pozycja p in pozycje)
             p.y = modulo((++p.y), rozmiar.y);
         foreach (Pozycja p in pPelnePozycje)
             p.y = modulo((++p.y), rozmiar.y);
     }
     if (kierunek == Kierunki.dol)
     {
         foreach (Pozycja p in pozycje)
             p.y = modulo((--p.y), rozmiar.y);
         foreach (Pozycja p in pPelnePozycje)
             p.y = modulo((--p.y), rozmiar.y);
     }
     if (kierunek == Kierunki.prawo)
     {
         foreach (Pozycja p in pozycje)
             p.x = modulo((++p.x), rozmiar.x);
         foreach (Pozycja p in pPelnePozycje)
             p.x = modulo((++p.x), rozmiar.x);
     }
     if (kierunek == Kierunki.lewo)
     {
         foreach (Pozycja p in pozycje)
             p.x = modulo((--p.x), rozmiar.x);
         foreach (Pozycja p in pPelnePozycje)
             p.x = modulo((--p.x), rozmiar.x);
     }
 }
예제 #5
0
파일: Statek.cs 프로젝트: kitpz2/PaCa
 public void odrodzenie(List<Statek> statki, Rozmiar rozmiar)
 {
     pozycje.RemoveAll(delegate(Pozycja p) { return true; });
     Random rand = new Random(DateTime.Now.Millisecond);
     int x = rand.Next() % rozmiar.x;
     int y = rand.Next() % rozmiar.y;
     while (true)
     {
         x = rand.Next() % rozmiar.x;
         y = rand.Next() % rozmiar.y;
         Pozycja poz = new Pozycja(x, y);
         if (kolizja(statki, poz)) continue;
         break;
     }
     List<Pozycja> lista = new List<Pozycja>();
     pozycje.Add(new Pozycja(x, y));
     pozycje.Add(new Pozycja(x, y + 1));
     pozycje.Add(new Pozycja(x + 1, y));
     pozycje.Add(new Pozycja(x + 1, y + 1));
 }
예제 #6
0
파일: Statek.cs 프로젝트: kitpz2/PaCa
 public bool kolizja(Statek s, int kierunek, Rozmiar rozmiar)
 {
     foreach (Pozycja p in s.pozycje)
     {
         foreach (Pozycja pp in pozycje)
         {
             if (kierunek == Kierunki.gora)
                 return (modulo((p.y + 1), rozmiar.y) == pp.y && (p.x == pp.x));
             if (kierunek == Kierunki.dol)
                 return (modulo((p.y - 1), rozmiar.y) == pp.y && (p.x == pp.x));
             if (kierunek == Kierunki.prawo)
             {
                 if (modulo((p.x + 1), rozmiar.x) == pp.x && (p.y == pp.y))
                     Console.WriteLine("1. " + p.ToString() + "2. " + pp.ToString());
                 return (modulo((p.x + 1), rozmiar.x) == pp.x && (p.y == pp.y));
             }
             if (kierunek == Kierunki.lewo)
                 return (modulo((p.x - 1), rozmiar.x) == pp.x && (p.y == pp.y));
         }
     }
     mutexPozycje.ReleaseMutex();
     s.mutexPozycje.ReleaseMutex();
     return false;
 }
예제 #7
0
파일: Polecenia.cs 프로젝트: kitpz2/PaCa
 public void ustawCRE(string pol, string nazwa, int x, int y, int tryb, int max, string wersja)
 {
     polecenie = pol;
     nazwaGry = nazwa;
     rozmiarPlanszy = new Rozmiar(x, y);
     wersjaKlienta = wersja;
     trybGry = tryb;
     maxGraczy = max;
 }
예제 #8
0
파일: Polecenia.cs 프로젝트: kitpz2/PaCa
 public Polecenia(string pol, int idK, string wersja, int x, int y)
 {
     polecenie = pol;
     idKlienta = idK;
     wersjaSerwera = wersja;
     rozmiarPlanszy = new Rozmiar(x, y);
 }