Ejemplo n.º 1
0
 public int AffixBlock(Block block)
 {
     foreach (Brick brick in block.Bricks.Where(brick => !IsOccupied(brick)))
         AffixBrick(brick);
     RemoveFilledRows();
     return removedRows;
 }
Ejemplo n.º 2
0
 public List<int> GetValidStartingColumns(Block block)
 {
     block.Top = 1;
     List<int> validStartingColumns = content.DoBlocksStartInARandomColumn
         ? GetAllValidStartingColumns(block) : GetMiddleColumnIfValid(block);
     return validStartingColumns;
 }
Ejemplo n.º 3
0
		private void CreateUpcomingBlock()
		{
			UpcomingBlock = new Block(displayMode, content, Vector2D.Zero);
			UpcomingBlock.Left = upcomingBlockCenter.X - UpcomingBlock.Center.X;
			UpcomingBlock.Top = upcomingBlockCenter.Y - UpcomingBlock.Center.Y;
			UpcomingBlock.UpdateBrickDrawAreas(0.0f);
		}
Ejemplo n.º 4
0
		private void GetRidOfGameObjects()
		{
			Get<Grid>().Clear();
			totalRowsRemoved = 0;
			UpcomingBlock.IsActive = false;
			UpcomingBlock = null;
			FallingBlock.IsActive = false;
			FallingBlock = null;
		}
Ejemplo n.º 5
0
 public bool IsValidPosition(Block block)
 {
     foreach (Brick brick in block.Bricks)
         if (IsOutsideTheGrid(brick) || IsOccupied(brick))
             return false;
     return true;
 }
Ejemplo n.º 6
0
 private bool IsAValidStartingColumn(Block block, int column)
 {
     block.Left = column;
     return IsValidPosition(block);
 }
Ejemplo n.º 7
0
        private List<int> GetMiddleColumnIfValid(Block block)
        {
            var validStartingColumns = new List<int>();
            if (IsAValidStartingColumn(block, Middle))
                validStartingColumns.Add(Middle - (int)block.Center.X);

            return validStartingColumns;
        }
Ejemplo n.º 8
0
 //ncrunch: no coverage start
 private List<int> GetAllValidStartingColumns(Block block)
 {
     var validStartingColumns = new List<int>();
     for (int x = 0; x < Width; x++)
         if (IsAValidStartingColumn(block, x))
             validStartingColumns.Add(x);
     return validStartingColumns;
 }