public bool avance(Figura figura, int xx, int yy, int zz) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { for (int k = 0; k < 3; k++) { try { if (figura.get(i, j, k) == 1 && matrizEspacios[i + xx, j + yy, k + zz] == 1) { return(false); } } catch (Exception) { return(false); throw; } } } } return(true); }
public void CzyśćFigurę(Figura figura) { foreach (Klocek klocek in figura.ListaKlocków) { Klocki[klocek.Y][klocek.X].Kolor = Brushes.Transparent; } }
public CANTMOVE Collision() { CANTMOVE CanYouMove = CANTMOVE.GITGUT; for (int y = 0; y < figura.Size; y++) { for (int x = 0; x < figura.Size; x++) { if (figura.CurrentPiece[y, x] != 0) { if (landed[(int)figura.position.Y + y, (int)figura.position.X + x] != 0) { return(CANTMOVE.AtAll); } if ((figura.position.Y + y + 1 >= height) || (landed[(int)figura.position.Y + y + 1, (int)figura.position.X + x] != 0)) { Place(); figura = new Figura(); return(CANTMOVE.DOWN); } if (figura.position.X + x - 1 < 0) { CanYouMove = CANTMOVE.LEFT; } if (figura.position.X + x + 1 >= width) { CanYouMove = CANTMOVE.RIGHT; } } } } return(CanYouMove); }
public void RysujFigurę(Figura figura) { foreach (Klocek klocek in figura.ListaKlocków) { Klocki[klocek.Y][klocek.X].Kolor = klocek.Kolor; } }
public GameManager(ContentManager Content) { image = Content.Load <Texture2D>("klocek"); font = Content.Load <SpriteFont>("MenuFont"); landed = new int[height, width]; figura = new Figura(); backgroundPicture = Content.Load <Texture2D>("BackgroundMenu1"); }
public object Clone() { Figura figura = new Figura(); foreach (Klocek klocek in this.ListaKlocków) { figura.ListaKlocków.Add((Klocek)klocek.Clone()); } return(figura); }
public void nuevaFiguraCayendo(OpenGL open, int Width, int Height) { figuraCayendo = new Figura(); figuraCayendo.crearCubo(); Random r = new Random(); figuraCayendo.elegirFigura(r.Next(0, 5)); rotarCamaraHorizontal(open, Width, Height); tz = 0; tx = 0; ty = 0; }
public Figura RóżnicaPomiędzyFigurami(Figura porównywanaFigura) { Figura figura = new Figura(); foreach (Klocek klocek in porównywanaFigura.ListaKlocków) { if (!this.ListaKlocków.Contains(klocek)) { figura.ListaKlocków.Add(klocek); } } return(figura); }
public bool RysujFiguręZeSprawdzeniem(Figura figura) { bool wynik = true; foreach (Klocek klocek in figura.ListaKlocków) { if (Klocki[klocek.Y][klocek.X].Kolor != Brushes.Transparent) { wynik = false; } Klocki[klocek.Y][klocek.X].Kolor = klocek.Kolor; } return(wynik); }
public bool PrzesuńlubObróć(Figura figura, TrybRuchu trybRuchu) { bool wynik = false; switch (trybRuchu) { case TrybRuchu.PrzesuńWDół: if (CzyMożnaObrócićLubPrzesunąć(figura, trybRuchu)) { CzyśćFigurę(figura); RysujFigurę(figura.PrzesuńWDół()); wynik = true; } break; case TrybRuchu.PrzesuńWLewo: if (CzyMożnaObrócićLubPrzesunąć(figura, trybRuchu)) { CzyśćFigurę(figura); RysujFigurę(figura.PrzesuńWLewo()); wynik = true; } break; case TrybRuchu.PrzesuńWPrawo: if (CzyMożnaObrócićLubPrzesunąć(figura, trybRuchu)) { CzyśćFigurę(figura); RysujFigurę(figura.PrzesuńWPrawo()); wynik = true; } break; case TrybRuchu.Obróc: if (CzyMożnaObrócićLubPrzesunąć(figura, trybRuchu)) { CzyśćFigurę(figura); RysujFigurę(figura.Obróc()); wynik = true; } break; } return(wynik); }
public void añadirFigura(Figura figura, int xx, int yy, int zz) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { for (int k = 0; k < 3; k++) { if (figura.get(i, j, k) == 1) { matrizEspacios[i + xx, j + yy, k + zz] = 1; } } } } if (areaCompletada()) { eliminarArea(); } }
public bool CzyMożnaObrócićLubPrzesunąć(Figura figura, TrybRuchu trybRuchu) { Figura kopia = (Figura)figura.Clone(); switch (trybRuchu) { case TrybRuchu.PrzesuńWDół: kopia.PrzesuńWDół(); break; case TrybRuchu.PrzesuńWLewo: kopia.PrzesuńWLewo(); break; case TrybRuchu.PrzesuńWPrawo: kopia.PrzesuńWPrawo(); break; case TrybRuchu.Obróc: kopia.Obróc(); break; } Figura różnicaPomiędzyOryginalnąAPrzesuniętą = figura.RóżnicaPomiędzyFigurami(kopia); if ((różnicaPomiędzyOryginalnąAPrzesuniętą.MaxX > 9) || (różnicaPomiędzyOryginalnąAPrzesuniętą.MinX < 0) || (różnicaPomiędzyOryginalnąAPrzesuniętą.MinY < 0) || (różnicaPomiędzyOryginalnąAPrzesuniętą.MaxY > 19)) { return(false); } else { foreach (Klocek klocek in różnicaPomiędzyOryginalnąAPrzesuniętą.ListaKlocków) { if (Klocki[klocek.Y][klocek.X].Kolor != Brushes.Transparent) { return(false); } } return(true); } }