private void Form1_Load(object sender, EventArgs e) { for (int i = 0; i < 12; i++) { nizFigura[i] = new cFigura(); nizFigura[i].TipFigure = i; //nizFigura[i].PostaviPoziciju(20 + ((i % 6) * 110), i >= 6 ? 180 : 70); nizPocPozicija[i].X = 15 + (i % 3) * 100; if (i < 3) { nizPocPozicija[i].Y = 30; } else if (i < 6) { nizPocPozicija[i].Y = 110; } else if (i < 9) { nizPocPozicija[i].Y = 190; } else { nizPocPozicija[i].Y = 270; } nizPocPozicija[0].X = 300; nizPocPozicija[0].Y = 15; nizFigura[i].PostaviPoziciju(nizPocPozicija[i].X, nizPocPozicija[i].Y); } }
public void upisiFiguru(cFigura figura, int selektovano) { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { mTable[tackaumartici.Y + i, tackaumartici.X + j] = selektovano + 1; } } }
public bool jelmozedastane(cFigura figura) { int maxsirina = -1, maxduzina = -1; for (int i = 0; i < 5; i++) { int duzina = 0; for (int j = 0; j < 5; j++) { if (figura.mFigure[i, j] == 1) { duzina++; } else { maxduzina = Math.Max(maxduzina, duzina); duzina = 0; } } } for (int j = 0; j < 5; j++) { int sirina = 0; for (int i = 0; i < 5; i++) { if (figura.mFigure[j, i] == 1) { sirina++; } else { maxsirina = Math.Max(maxsirina, sirina); sirina = 0; } } } if (8 - tackaumartici.X < maxsirina || 8 - tackaumartici.Y < maxduzina) { return(false); } for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (figura.mFigure[i, j] == 1 && mTable[tackaumartici.Y + i, tackaumartici.X + j] != 0) { return(false); } } } return(true); }
public void probajDaDas(cFigura figura, int x, int y, Graphics g, int selektovano) { if (!MisUTabli(x, y)) { return; } if (!slobodno(figura, x, y)) { return; } Ubaci(figura, g, selektovano); }
public void Ubaci(cFigura figura, Graphics g, int selektovano) { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (figura.mFigure[i, j] == 1) { g.FillRectangle(boje[selektovano], pocX + mJ * dKvadratica, pocY + mI * dKvadratica, dKvadratica, dKvadratica); } } } }
public bool slobodno(cFigura figura, int x, int y) { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (figura.mFigure[i, j] == 1 && (mI + i > 7 || mJ + j > 7 || mTable[mI + i, mJ + j] != 0)) { return(false); } } } return(true); }