static private int[,] DodajPrzeszkode(int[,] Tablica)//dodaje pojedynczą przeszkode do tablicy { int Licznik = 0; int k = 0; int MiejsceNaPrzeszkode = 0; Przeszkoda P1 = new Przeszkoda(); Moneta M1 = new Moneta(); for (int i = Tablica.GetLength(1) - (P1.SzerokoscPrzeszkody + P1.Przerwa); i < Tablica.GetLength(1); i++) //sprawdz tylko ostatnie 20 pozycji { if (Tablica[0, i] == 0) { Licznik++; } if (Tablica[0, i] == 1) { Licznik = 0; } if (Licznik == P1.Przerwa) //szerokosc przerwy miedzy przeszkodami { MiejsceNaPrzeszkode = i; //szukanie indeksu który wystepuje po odpowiedniej przerwie miedzy przeszkodami break; } } if (Tablica.GetLength(1) - MiejsceNaPrzeszkode == (P1.SzerokoscPrzeszkody + 1))//sprawdzanie czy przeszkoda zmieści się do tablicy { for (int i = 0; i < Tablica.GetLength(0); i++) { for (int j = MiejsceNaPrzeszkode; j < Tablica.GetLength(1); j++) //wstawia elementy przeszkody od wolnego miejsca do końca tablicy { for (k = 0; k < 6; k++) { Tablica[i, j + k] = P1.PrzeszkodaTab[i, k]; } j += k; } } Tablica = M1.DodajMonete(Tablica); } return(Tablica); }
static public int[,] TablicaPoczątkowa()// pierwsze utworzenie tablicy przeszkód z odpowiednia iloscia miejsca po lewej stronie { int[,] TablicaPlansza = new int[Plansza.MaxPlanszaY, Plansza.MaxPlanszaX]; //x=25 start int IlePrzeszkod = ((Plansza.MaxPlanszaX - 25) / 15); int licznik = 0; int k = 0; List <Przeszkoda> Przeszkody = new List <Przeszkoda>(); Przeszkoda p1; for (int i = 0; i < IlePrzeszkod; i++) { p1 = new Przeszkoda(); Przeszkody.Add(p1); } int SzerTabPrzeszkoda = Przeszkody[0].Przerwa + Przeszkody[0].SzerokoscPrzeszkody; for (int i = 0; i < Plansza.MaxPlanszaY; i++) { for (int j = 0; j + SzerTabPrzeszkoda < Plansza.MaxPlanszaX; j++) { if (j < 25) //do indeksu 25 puste miejsca { TablicaPlansza[i, j] = 0; } else if (licznik <= IlePrzeszkod) //do momentu az limit przeszkód nie zostanie osiągniety { for (k = 0; k < SzerTabPrzeszkoda; k++) //dodaje pojedynczą przeszkode z listy { TablicaPlansza[i, j + k] = Przeszkody[licznik].PrzeszkodaTab[i, k]; //dodawaj elementy z listy przeszkód do tablicy plansza } licznik++; //przeszkoda została dodana j += k; //aktualizuj licznik } } licznik = 0;//reset licznika przed przejściem do następnego wiersza } return(TablicaPlansza); }