private void licznik_Tick(object sender, EventArgs e) { if (!Plansza_do_gry.wdol()) { if (szybka) { szybka = false; if (level < 11) { Licznik.Interval = 1000 - 100 * (level - 1); } else if (level < 21) { Licznik.Interval = 100 - 10 * (level - 1); } else { Licznik.Interval = 10; } } int pkt = Plansza_do_gry.linie(); punkty += (pkt * pkt); Pkt.Text = punkty.ToString(); if (punkty >= level * 10) { level++; Poziom.Text = level.ToString(); if (level < 11) { Licznik.Interval -= 100; } else if (level < 21) { Licznik.Interval -= 10; } else { Licznik.Interval = 10; } } figura f = nastepny.getfigura(); if (!Plansza_do_gry.rysujfigure(5, 0, f)) { Licznik.Stop(); Licznik.Interval = 1000; MessageBox.Show("koniec"); gra = false; f = null; Plansza_do_gry.reset(); nastepny.reset(); level = 1; punkty = 0; Pkt.Text = "0"; Poziom.Text = "1"; return; } nastepny.reset(); nastepny.rysujfigure(0, 0, new figura()); } }
public bool rysujfigure(int x, int y, figura f) { if (!sprawdzwymiary(x, y)) { return(false); } int i, j; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { if (f.siatka[i, j]) { if (!sprawdzwymiary(x + i, y + j)) { return(false); } if (siatka[x + i, y + j].SprawdzCzyPelna()) { return(false); } } } } x_figury = x; y_figury = y; if (klocek != f) { klocek = f; } for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { if (f.siatka[i, j]) { siatka[x + i, y + j].setkolor(f.kolor); rysujkratke(x + i, y + j); } } } return(true); }
public void obroc_w_prawo() { if (klocek.kat == 270) { klocek.kat = 0; } else { klocek.kat += 90; } figura nowa = klocek.odwrocona(klocek.kat); int i, j; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { if (nowa.siatka[i, j] && !sprawdzwymiary(x_figury + i, y_figury + j)) { return; } if (nowa.siatka[i, j] && !klocek.siatka[i, j] && siatka[x_figury + i, y_figury + j].SprawdzCzyPelna()) { return; } } } for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { if (klocek.siatka[i, j]) { siatka[x_figury + i, y_figury + j].kasuj(g, BackColor); } } } rysujfigure(x_figury, y_figury, nowa); }
public figura odwrocona(int fi) { if (fi != 0 && fi != 90 && fi != 180 && fi != 270) { return(this); } figura nowa = new figura(); nowa.kat = fi; nowa.kolor = kolor; nowa.jaka = jaka; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { nowa.siatka[i, j] = false; } } switch (jaka) { case figury.L: switch (fi) { case 0: nowa.siatka[0, 0] = nowa.siatka[0, 1] = nowa.siatka[0, 2] = nowa.siatka[1, 2] = true; break; case 90: nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[2, 0] = nowa.siatka[0, 1] = true; break; case 180: nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[1, 1] = nowa.siatka[1, 2] = true; break; case 270: nowa.siatka[2, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = nowa.siatka[2, 1] = true; break; } break; case figury.prosta: switch (fi) { case 0: case 180: nowa.siatka[0, 0] = nowa.siatka[0, 1] = nowa.siatka[0, 2] = nowa.siatka[0, 3] = true; break; case 90: case 270: nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[2, 0] = nowa.siatka[3, 0] = true; break; } break; case figury.kwadrat: nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = true; break; case figury.schodki: switch (fi) { case 0: nowa.siatka[1, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = nowa.siatka[2, 1] = true; break; case 90: nowa.siatka[0, 0] = nowa.siatka[0, 1] = nowa.siatka[0, 2] = nowa.siatka[1, 1] = true; break; case 180: nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[2, 0] = nowa.siatka[1, 1] = true; break; case 270: nowa.siatka[1, 0] = nowa.siatka[1, 1] = nowa.siatka[1, 2] = nowa.siatka[0, 1] = true; break; } break; case figury.piorun: switch (fi) { case 0: case 180: nowa.siatka[0, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = nowa.siatka[1, 2] = true; break; case 90: case 270: nowa.siatka[1, 0] = nowa.siatka[2, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = true; break; } break; } return(nowa); }