/* Legend: G - gift block X - gift (the block that is dropped after G is hit) E - the exploding block * - TrailObject (used by the meteorite ball or after explosion of ExplodingBlock) @ - bullet fired by the racket % - ExplosionBlockResult blocks */ static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } // build ceiling and left wall for the scene for (int i = 0; i < endCol; i++) { Block ceilingBlock = new IndestructibleBlock(new MatrixCoords(0, i)); Block leftWallBlock = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(ceilingBlock); engine.AddObject(leftWallBlock); } // build right wall for the scene for (int i = 0; i < WorldRows; i++) { Block rightWallBlock = new IndestructibleBlock(new MatrixCoords(i, endCol - 1)); engine.AddObject(rightWallBlock); } // meteorite or unstoppable ball test Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new ShootingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // test trail object with random MatrixCoords and lifetime = 15 turns GameObject trailObj = new TrailObject(new MatrixCoords(WorldRows - 6, WorldCols - 12), 15); engine.AddObject(trailObj); // add a gift block Block giftBlock = new GiftBlock(new MatrixCoords(WorldRows - 11, WorldCols - 20)); engine.AddObject(giftBlock); //add unpassable block with random coords Block unpassable = new UnpassableBlock(new MatrixCoords(WorldRows - 15, WorldCols - 10)); engine.AddObject(unpassable); // add exploding block and ordinary blocks around it Block explodingBlock = new ExplodingBlock(new MatrixCoords(WorldRows - 12, WorldCols - 35)); Block leftToExploding = new Block(explodingBlock.TopLeft + new MatrixCoords(0, -1)); Block rightToExploding = new Block(explodingBlock.TopLeft + new MatrixCoords(0, 1)); engine.AddObject(explodingBlock); engine.AddObject(leftToExploding); engine.AddObject(rightToExploding); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = startCol + 10; i < endCol - 5; i++) { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(startRow + 5, i)); engine.AddObject(currBlock); } for (int i = startCol + 12; i < endCol - 7; i += 3) { ExplodingBlock currBlock = new ExplodingBlock(new MatrixCoords(startRow + 3, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i += 3) { GiftBlock currBlock = new GiftBlock(new MatrixCoords(startRow + 8, i)); engine.AddObject(currBlock); } UnstopableBall theBall = new UnstopableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); //Task 1 for (int i = 0; i < WorldRows; i++) { IndestructibleBlock indBlock = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(indBlock); indBlock = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(indBlock); } for (int i = 1; i < WorldCols - 1; i++) { IndestructibleBlock indBlock = new IndestructibleBlock(new MatrixCoords(0, i)); engine.AddObject(indBlock); } }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; Random rnd = new Random(); for (int i = startCol; i < endCol; i++) { if (rnd.Next(startCol, WorldCols*2)> endCol) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } else if (rnd.Next(startCol, WorldCols * 3) > endCol) { ExplodingBlock boomBlock = new ExplodingBlock(new MatrixCoords(startRow, i)); engine.AddObject(boomBlock); } else if (rnd.Next(startCol, WorldCols * 4) > endCol) { GiftBlock giftBlock = new GiftBlock(new MatrixCoords(startRow, i)); engine.AddObject(giftBlock); } else { UnpassableBlock unpBlock = new UnpassableBlock(new MatrixCoords(startRow, i)); engine.AddObject(unpBlock); } } MeteoriteBall theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); Racket newtheRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength + 1); engine.AddObject(newtheRacket); // Add side wallsя for (int row = 0; row < WorldRows; row++) { IndestructibleBlock leftWallBlock = new IndestructibleBlock(new MatrixCoords(row, 0)); engine.AddObject(leftWallBlock); IndestructibleBlock rightWallBlock = new IndestructibleBlock(new MatrixCoords(row, WorldCols - 1)); engine.AddObject(rightWallBlock); } for (int col = 0; col < WorldCols; col++) { IndestructibleBlock roof = new IndestructibleBlock(new MatrixCoords(0, col)); engine.AddObject(roof); } }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block secondBlock = new Block(new MatrixCoords(startRow + 1, i)); engine.AddObject(secondBlock); } for (int i = 3; i < 10; i++) { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(startRow + 3, i * 3)); engine.AddObject(currBlock); } engine.AddObject(new ExplodingBlock(new MatrixCoords(startRow + 3, endCol - 1))); engine.AddObject(new ExplodingBlock(new MatrixCoords(startRow + 3, endCol - 5))); engine.AddObject(new ExplodingBlock(new MatrixCoords(startRow, endCol - 4))); engine.AddObject(new ExplodingBlock(new MatrixCoords(startRow, endCol - 9))); engine.AddObject(new ExplodingBlock(new MatrixCoords(startRow, 12))); engine.AddObject(new ExplodingBlock(new MatrixCoords(startRow, 17))); engine.AddObject(new GiftBlock(new MatrixCoords(startRow, 5))); engine.AddObject(new GiftBlock(new MatrixCoords(startRow, 10))); engine.AddObject(new GiftBlock(new MatrixCoords(startRow, 15))); //Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(theBall); MeteoriteBall metBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(metBall); UnstoppableBall unstopBall = new UnstoppableBall(new MatrixCoords(22, 10), new MatrixCoords(-1, 1)); engine.AddObject(unstopBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); for (int i = 0; i < WorldRows; i++) { engine.AddObject(new IndestructibleBlock(new MatrixCoords(i, 0))); engine.AddObject(new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1))); } for (int i = 0; i < WorldCols; i++) { engine.AddObject(new IndestructibleBlock(new MatrixCoords(0, i))); } for (int i = 0; i < WorldCols; i++) { engine.AddObject(new GameOverBlock(new MatrixCoords(WorldRows, i))); } engine.AddTrailingObject(new TrailObject(new MatrixCoords(15, 20), new char[,] { { 'S', 't', 'a', 'r', 't' }, { 'G', 'a', 'm', 'e', ' ' } }, 10)); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = 0; i < WorldCols; i++) { IndestructibleBlock indBlock = new IndestructibleBlock(new MatrixCoords(0, i)); engine.AddObject(indBlock); } for (int i = 1; i < WorldRows; i++) { IndestructibleBlock indBlock = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(indBlock); } for (int i = 1; i < WorldRows; i++) { IndestructibleBlock indBlock = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(indBlock); } for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); //Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); //engine.AddObject(theBall); //Ball theMeteoriteBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); //engine.AddObject(theMeteoriteBall); Ball theUnsBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theUnsBall); UnpassableBlock theUnpasBlock = new UnpassableBlock(new MatrixCoords(WorldRows - 19, WorldCols - 21)); engine.AddObject(theUnpasBlock); GiftBlock theGiftBlock = new GiftBlock(new MatrixCoords(5, 7)); engine.AddObject(theGiftBlock); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } // Task 1 for (int i = 0; i < WorldRows; i++) { IndestructibleBlock leftWall = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(leftWall); IndestructibleBlock rightWall = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(rightWall); } for (int i = 0; i < WorldCols; i++) { IndestructibleBlock ceiling = new IndestructibleBlock(new MatrixCoords(0, i)); engine.AddObject(ceiling); } Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // Task 5, 6, 7 MeteoriteBall meteor = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(meteor); // Task 8, 9 UnstoppableBall unstoppable = new UnstoppableBall(new MatrixCoords(4, 4), new MatrixCoords(1, 1)); engine.AddObject(unstoppable); UnpassableBlock unpassable = new UnpassableBlock(new MatrixCoords(9, 9)); engine.AddObject(unpassable); // Task 10 ExplodingBlock explodeBlock = new ExplodingBlock(new MatrixCoords(8, 8)); engine.AddObject(explodeBlock); // Task 11, 12 GiftBlock gift = new GiftBlock(new MatrixCoords(10, 10)); engine.AddObject(gift); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i), new [,] {{'#'}}); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 1, i), new[,] { { '#' } }); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 2, i), new[,] { { '#' } }); engine.AddObject(currBlock); } Racket someRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(someRacket); for (int row = 3; row < WorldRows; row++) { UnpassableBlock leftWall = new UnpassableBlock(new MatrixCoords(row, 1)); engine.AddObject(leftWall); UnpassableBlock rightWall = new UnpassableBlock(new MatrixCoords(row, endCol)); engine.AddObject(rightWall); } for (int col = 1; col <= endCol; col++) { IndestructibleBlock topWall = new IndestructibleBlock(new MatrixCoords(startRow - 1, col)); engine.AddObject(topWall); } //MeteoriteBall meteoriteBall = new MeteoriteBall(new MatrixCoords(7, 7), new MatrixCoords(1, 1)); //engine.AddObject(meteoriteBall); UnstoppableBall unstoppableBall = new UnstoppableBall(new MatrixCoords(7, 7), new MatrixCoords(1, 1)); engine.AddObject(unstoppableBall); ExplodingBlock explodingBlock = new ExplodingBlock(new MatrixCoords(startRow + 3, 15)); engine.AddObject(explodingBlock); GiftBlock giftBlock = new GiftBlock(new MatrixCoords(startRow + 3, endCol - 1)); engine.AddObject(giftBlock); }
private static void AddUnpassableBlocks(Engine engine) { int startRow = 13; int startCol = 2; int endCol = 19; for (int i = startCol; i < endCol; i++) { var currBlock = new UnpassableBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } }
static void Initialize(Engine engine) { int startRow = 3; int endRow = WorldRows; int startCol = 2; int endCol = WorldCols - 2; //Task 1: Implementing Game field with adding a "for cycle" for rows //Task 10: Using UnpassableBlock for (int row = startRow; row < endRow; row++) { for (int col = startCol; col < endCol; col++) { if (row == startRow) { UnpassableBlock unpassable = new UnpassableBlock(new MatrixCoords(row, col)); engine.AddObject(unpassable); } if (row != startRow && (col == startCol || col == endCol - 1)) { UnpassableBlock unpassable = new UnpassableBlock(new MatrixCoords(row, col)); engine.AddObject(unpassable); } else if (row <= startRow + 5 && row != startRow) { //Task12: Implementing GiftBlock.cs GiftBlock currBlock = new GiftBlock(new MatrixCoords(row, col)); engine.AddObject(currBlock); } } } // Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 10), // new MatrixCoords(-1, 1)); //Task7: Implementing Meteorit Ball //MeteoritBall meteoritBall = new MeteoritBall(new MatrixCoords(WorldRows / 2, 10), new MatrixCoords(-1, 1)); //Task9: Implement Unstoppable ball UnstoppableBall ultimateBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 10), new MatrixCoords(-1, 1)); engine.AddObject(ultimateBall); //TODO - Task 13: Implementing Shooting Ability Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(startRow - 2, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i+=2) { ExplodingBlock currBlock = new ExplodingBlock(new MatrixCoords(startRow + 1, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i += 2) { GiftBlock currBlock = new GiftBlock(new MatrixCoords(startRow + 2, i)); engine.AddObject(currBlock); } Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); UnstoppableBall unstoppable = new UnstoppableBall(new MatrixCoords(WorldRows / 2+4, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); engine.AddObject(unstoppable); ShoothingRacket theRacket = new ShoothingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); //TrailObject test = new TrailObject(3, new MatrixCoords(5, 5), new char[1, 1]{{'H'}}); //engine.AddObject(test); //walls InitializeWalls(engine); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; // 1. adding ceiling and left/right walls for (int i = startRow - 1; i < WorldRows; i++) { UnpassableBlock newIndBlockLeft = new UnpassableBlock(new MatrixCoords(i, startCol - 1)); UnpassableBlock newIndBlockRight = new UnpassableBlock(new MatrixCoords(i, endCol)); engine.AddObject(newIndBlockRight); engine.AddObject(newIndBlockLeft); } for (int i = startCol - 1; i <= endCol; i++) { UnpassableBlock newTopBlock = new UnpassableBlock(new MatrixCoords(startRow - 2, i)); engine.AddObject(newTopBlock); } for (int i = startCol; i < endCol / 2; i++) { Block currBlock = new ExplodingBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = endCol / 2; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } TrailObject trailer = new TrailObject(new MatrixCoords(WorldRows / 2, WorldCols / 2), new char[, ] { { 'H', 'E', 'L', 'L', 'O' } }, 5); engine.AddObject(trailer); // the ball is here Ball theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 3), new MatrixCoords(-1, 1)); engine.AddObject(theBall); // the racket - moves with A/D and space shoots Racket theRacket = new ShootingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } // Task 1 for (int i = 0; i < WorldRows; i++) { IndestructibleBlock leftWall = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(leftWall); IndestructibleBlock rightWall = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(rightWall); } for (int i = 0; i < WorldCols; i++) { IndestructibleBlock ceiling = new IndestructibleBlock(new MatrixCoords(0, i)); engine.AddObject(ceiling); } Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // Task 5, 6, 7 MeteoriteBall meteor = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(meteor); // Task 8, 9 UnstoppableBall unstoppable = new UnstoppableBall(new MatrixCoords(4,4), new MatrixCoords(1, 1)); engine.AddObject(unstoppable); UnpassableBlock unpassable = new UnpassableBlock(new MatrixCoords(9, 9)); engine.AddObject(unpassable); // Task 10 ExplodingBlock explodeBlock = new ExplodingBlock( new MatrixCoords(8,8)); engine.AddObject(explodeBlock); // Task 11, 12 GiftBlock gift = new GiftBlock(new MatrixCoords(10, 10)); engine.AddObject(gift); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; // 1. adding ceiling and left/right walls for (int i = startRow - 1; i < WorldRows; i++) { UnpassableBlock newIndBlockLeft = new UnpassableBlock(new MatrixCoords(i, startCol - 1)); UnpassableBlock newIndBlockRight = new UnpassableBlock(new MatrixCoords(i, endCol)); engine.AddObject(newIndBlockRight); engine.AddObject(newIndBlockLeft); } for (int i = startCol - 1; i <= endCol; i++) { UnpassableBlock newTopBlock = new UnpassableBlock(new MatrixCoords(startRow - 2, i)); engine.AddObject(newTopBlock); } for (int i = startCol; i < endCol / 2; i++) { Block currBlock = new ExplodingBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = endCol / 2; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } TrailObject trailer = new TrailObject(new MatrixCoords(WorldRows / 2, WorldCols / 2), new char[,] { { 'H', 'E', 'L', 'L', 'O' } }, 5); engine.AddObject(trailer); // the ball is here Ball theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 3), new MatrixCoords(-1, 1)); engine.AddObject(theBall); // the racket - moves with A/D and space shoots Racket theRacket = new ShootingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol/2; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = (endCol/2); i < endCol; i++) // making unpassable blocks { UnpassableBlock unpBlock = new UnpassableBlock(new MatrixCoords(startRow, i)); engine.AddObject(unpBlock); } Ball theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2 + 1 , 0), new MatrixCoords(-1, 1)); Ball unstBall = new UnstoppableBall(new MatrixCoords(10, WorldCols - 1), new MatrixCoords(-1, -1)); //creating unstoppable ball engine.AddObject(unstBall); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i += 3) // row 3 will be full of unpassable blocks { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } startRow = 4; for (int i = startCol; i < endCol; i++) // row 4 will be full of blocks { if (i % 4 != 0) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } else { // but we will put an Exploding Block on each 4-th position ExplodingBlock currBlock = new ExplodingBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } } startRow = 6; for (int i = startCol; i < endCol; i += 6) // row 6 will have gift blocks on each 6-th position { GiftBlock currBlock = new GiftBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } // Task 5: test TrailObject //TrailObject tr = new TrailObject(new MatrixCoords(WorldRows / 2, WorldCols / 2)); //engine.AddObject(tr); // Task 7: test MeteoriteBall // MeteoriteBall theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); // Task 9: test Unstoppable Ball and Unpassable Block //UnstoppableBall theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // adds top row wall (ceiling) for (int i = 0; i < WorldCols; i++) { IndestructibleBlock wallCell = new IndestructibleBlock(new MatrixCoords(0, i)); engine.AddObject(wallCell); } // adds left and right walls) for (int i = 1; i < WorldRows; i++) { IndestructibleBlock wallCell = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(wallCell); wallCell = new IndestructibleBlock(new MatrixCoords(i, WorldCols-1)); engine.AddObject(wallCell); } }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); //Implement MetheoridBall //MeteoriteBall meteoriteBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(meteoriteBall); //Implement UnstopableBall and UnpassableBlocks //UnstoppableBall theUnstoppableBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(theUnstoppableBall); for (int i = 0; i < WorldRows; i++) { UnpassableBlock LeftWall = new UnpassableBlock(new MatrixCoords(i, 0)); UnpassableBlock RightWall = new UnpassableBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(LeftWall); engine.AddObject(RightWall); } for (int i = 1; i < WorldCols - 1; i++) { UnpassableBlock UppertWall = new UnpassableBlock(new MatrixCoords(0, i)); engine.AddObject(UppertWall); } //Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); //engine.AddObject(theRacket); //Add indistructuble blocks for (int i = 1; i < WorldRows; i++) { IndestructibleBlock LeftWall = new IndestructibleBlock(new MatrixCoords(i, 1)); IndestructibleBlock RightWall = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 2)); engine.AddObject(LeftWall); engine.AddObject(RightWall); } for (int i = 2; i < WorldCols - 2; i++) { IndestructibleBlock UppertWall = new IndestructibleBlock(new MatrixCoords(1, i)); engine.AddObject(UppertWall); } //Adding several explosion blocks for (int i = 7; i < WorldCols - 2; i += 7) { ExplodingBlock explosion = new ExplodingBlock(new MatrixCoords(3, i)); engine.AddObject(explosion); } //Add several gift blocks for (int i = 2; i < WorldCols - 2; i += 7) { GiftBlock giftBlock = new GiftBlock(new MatrixCoords(4, i)); engine.AddObject(giftBlock); } //Add shooting rocket ShootingRacket shoot = new ShootingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(shoot); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } //ordinary ball Ball theBall = new Ball(new MatrixCoords(WorldRows / 3, 0), new MatrixCoords(-1, 1)); //engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2 - 3), RacketLength); engine.AddObject(theRacket); /*1.The AcademyPopcorn class contains an IndestructibleBlock class. Use it to create side and ceiling walls to the game. You can ONLY edit the AcademyPopcornMain.cs file.*/ for (int row = startRow - 1; row < WorldRows; row++) { IndestructibleBlock leftWallBlock = new IndestructibleBlock(new MatrixCoords(row, startCol - 1), IndestructibleBlock.SymbolWall); engine.AddObject(leftWallBlock); IndestructibleBlock rightWallBlock = new IndestructibleBlock(new MatrixCoords(row, endCol), IndestructibleBlock.SymbolWall); engine.AddObject(rightWallBlock); } //create ceiling (using symbolTop = "_") for (int col = startCol - 1; col < WorldCols - 1; col++) { IndestructibleBlock topWallBlock = new IndestructibleBlock(new MatrixCoords(1, col), IndestructibleBlock.SymbolTop); engine.AddObject(topWallBlock); } TrailObject comet = new TrailObject(new MatrixCoords(WorldRows / 2, WorldCols / 4), new char[,] { { '*' } }, 8); engine.AddObject(comet); //7.Test the MeteoriteBall by replacing the normal ball in the AcademyPopcornMain.cs file. MeteoriteBall metBall = new MeteoriteBall(new MatrixCoords(WorldRows / 3, 0), new MatrixCoords(-1, 1), 3); //engine.AddObject(metBall); //9.Test the UnpassableBlock and the UnstoppableBall by adding them to the engine in AcademyPopcornMain.cs file UnstoppableBall unstopBall = new UnstoppableBall(new MatrixCoords(WorldRows / 3, 0), new MatrixCoords(-1, 1)); engine.AddObject(unstopBall); for (int i = 3; i < WorldCols - 2; i = i + 2) { UnpassableBlock unpassableBlock = new UnpassableBlock(new MatrixCoords(4, i), 'U'); engine.AddObject(unpassableBlock); } for (int i = 2; i < WorldCols; i = i + 2) { ExplodingBlock bombBlock = new ExplodingBlock(new MatrixCoords(4, i), 'B'); engine.AddObject(bombBlock); } for (int i = 2; i < WorldCols; i = i + 2) { GiftBlock giftBlock = new GiftBlock(new MatrixCoords(5, i), 'G'); engine.AddObject(giftBlock); } }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } // Task 1 - first the left wall for (int i = 0; i < WorldRows; i++) { IndestructibleBlock indBlock = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(indBlock); } // Then the right wall for (int i = 0; i < WorldRows; i++) { IndestructibleBlock indBlock = new IndestructibleBlock(new MatrixCoords(i, WorldCols-1)); engine.AddObject(indBlock); } // Then the ceiling. // For task 9 I have put Unpassable blocks on the ceiling. for (int i = 0; i < WorldCols; i++) { IndestructibleBlock indBlock = new UnpassableBlock(new MatrixCoords(0, i)); engine.AddObject(indBlock); } // Testing Task 7 by replacing the normal ball with a Meteorite Ball Ball theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // Testing Task 5 TrailObject trail = new TrailObject(new MatrixCoords(10, 10), 5); engine.AddObject(trail); // Task 9 - creating an additional unstopable ball Ball theGreatBall = new UnstopableBall(new MatrixCoords(WorldRows / 3, 0), new MatrixCoords(-1, 1)); engine.AddObject(theGreatBall); // Task 12 - testing by adding a Gift and a GiftBlock Gift theGift = new Gift(new MatrixCoords(10, 10)); engine.AddObject(theGift); GiftBlock theGiftBlock = new GiftBlock(new MatrixCoords(10, 15)); engine.AddObject(theGiftBlock); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i += 2) { ExplodingBlock currBlock = new ExplodingBlock(new MatrixCoords(startRow + 1, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { GiftBlock currBlock = new GiftBlock(new MatrixCoords(startRow + 2, i), new char[,] {{'%'}}); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 4, i)); engine.AddObject(currBlock); } for (int i = startCol + 5; i < endCol - 5; i++) { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(startRow + 3, i)); engine.AddObject(currBlock); } for (int i = 1; i < WorldRows; i++) { IndestructibleBlock newIndestructubleBlock = new IndestructibleBlock(new MatrixCoords(i, 0), '║'); engine.AddObject(newIndestructubleBlock); newIndestructubleBlock = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1), '║'); engine.AddObject(newIndestructubleBlock); } for (int i = 1; i < WorldCols - 1; i++) { IndestructibleBlock newIndestructubleBlock = new IndestructibleBlock(new MatrixCoords(0, i), '═'); engine.AddObject(newIndestructubleBlock); newIndestructubleBlock = new IndestructibleBlock(new MatrixCoords(WorldRows - 1, i), '_'); engine.AddObject(newIndestructubleBlock); } UnstoppableBall theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 1, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 2, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol / 3; i++) { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(startRow + 4, i)); engine.AddObject(currBlock); } // Exploding blocks. Chain reaction :) for (int i = endCol/2; i < endCol; i++) { ExplodingBlock currBlock = new ExplodingBlock(new MatrixCoords(startRow + 3, i)); engine.AddObject(currBlock); } //Gift testGift = new Gift(new MatrixCoords(10, 20)); //engine.AddObject(testGift); GiftBlock giftBlock = new GiftBlock(new MatrixCoords(7, 25)); engine.AddObject(giftBlock); // TASK 1 startCol = 0; endCol = WorldRows - 1; for (int i = startRow; i < endCol; i++) // LEFT SIDE { IndestructibleBlock currBlock = new IndestructibleBlock(new MatrixCoords(i, startCol)); engine.AddObject(currBlock); } startCol = WorldCols - 1; for (int i = startRow; i < endCol; i++) // RIGHT SIDE { IndestructibleBlock currBlock = new IndestructibleBlock(new MatrixCoords(i, startCol)); engine.AddObject(currBlock); } startRow = 2; startCol = 0; endCol = WorldCols; for (int i = startCol; i < endCol; i++) // CEILING { IndestructibleBlock currBlock = new IndestructibleBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } // END TASK 1 // Bellow the three balls are added to the engine Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); MeteoriteBall theMeteoriteBall = new MeteoriteBall(new MatrixCoords(20, 9), new MatrixCoords(-1, 1)); UnstoppableBall theUnstoppableBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 25), new MatrixCoords(-1, 1)); engine.AddObject(theBall); engine.AddObject(theMeteoriteBall); engine.AddObject(theUnstoppableBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // Part of TASK 5 //TrailObject trailObject = new TrailObject(new MatrixCoords(10, 20), 5); //engine.AddObject(trailObject); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 1, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 2, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol / 3; i++) { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(startRow + 4, i)); engine.AddObject(currBlock); } // Exploding blocks. Chain reaction :) for (int i = endCol / 2; i < endCol; i++) { ExplodingBlock currBlock = new ExplodingBlock(new MatrixCoords(startRow + 3, i)); engine.AddObject(currBlock); } //Gift testGift = new Gift(new MatrixCoords(10, 20)); //engine.AddObject(testGift); GiftBlock giftBlock = new GiftBlock(new MatrixCoords(7, 25)); engine.AddObject(giftBlock); // TASK 1 startCol = 0; endCol = WorldRows - 1; for (int i = startRow; i < endCol; i++) // LEFT SIDE { IndestructibleBlock currBlock = new IndestructibleBlock(new MatrixCoords(i, startCol)); engine.AddObject(currBlock); } startCol = WorldCols - 1; for (int i = startRow; i < endCol; i++) // RIGHT SIDE { IndestructibleBlock currBlock = new IndestructibleBlock(new MatrixCoords(i, startCol)); engine.AddObject(currBlock); } startRow = 2; startCol = 0; endCol = WorldCols; for (int i = startCol; i < endCol; i++) // CEILING { IndestructibleBlock currBlock = new IndestructibleBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } // END TASK 1 // Bellow the three balls are added to the engine Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); MeteoriteBall theMeteoriteBall = new MeteoriteBall(new MatrixCoords(20, 9), new MatrixCoords(-1, 1)); UnstoppableBall theUnstoppableBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 25), new MatrixCoords(-1, 1)); engine.AddObject(theBall); engine.AddObject(theMeteoriteBall); engine.AddObject(theUnstoppableBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // Part of TASK 5 //TrailObject trailObject = new TrailObject(new MatrixCoords(10, 20), 5); //engine.AddObject(trailObject); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; //The AcademyPopcorn class contains an IndestructibleBlock class. Use it to create side and ceiling walls to the game. You can ONLY edit the AcademyPopcornMain.cs file IndestructibleBlock indestructibleBlock = null; for (int row = 0; row < WorldRows; row++) { for (int col = 0; col < WorldCols; col++) { if (row == 0) { indestructibleBlock = new IndestructibleBlock(new MatrixCoords(row, col)); engine.AddObject(indestructibleBlock); } else if (col == 0 || col == WorldCols - 1) { indestructibleBlock = new IndestructibleBlock(new MatrixCoords(row, col)); engine.AddObject(indestructibleBlock); } } } for (int i = startCol; i < endCol; i++) { switch (i % 5) { case 0: ExplodingBlock explodingBlock = new ExplodingBlock(new MatrixCoords(startRow, i)); engine.AddObject(explodingBlock); break; default: switch (i % 3) { case 0: GiftBlock giftBlock = new GiftBlock(new MatrixCoords(startRow, i)); engine.AddObject(giftBlock); break; default: Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); break; } break; } } for (int i = 4; i < endCol; i+=3) { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(8, i)); engine.AddObject(currBlock); } TrailObject to = new TrailObject(new MatrixCoords(5, 6), 15); engine.AddObject(to); UnstoppableBall theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); ShootingRacket theRacket = new ShootingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); //Implement MetheoridBall //MeteoriteBall meteoriteBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(meteoriteBall); //Implement UnstopableBall and UnpassableBlocks //UnstoppableBall theUnstoppableBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(theUnstoppableBall); for (int i = 0; i < WorldRows; i++) { UnpassableBlock LeftWall = new UnpassableBlock(new MatrixCoords(i, 0)); UnpassableBlock RightWall = new UnpassableBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(LeftWall); engine.AddObject(RightWall); } for (int i = 1; i < WorldCols - 1; i++) { UnpassableBlock UppertWall = new UnpassableBlock(new MatrixCoords(0, i)); engine.AddObject(UppertWall); } //Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); //engine.AddObject(theRacket); //Add indistructuble blocks for (int i = 1; i < WorldRows; i++) { IndestructibleBlock LeftWall = new IndestructibleBlock(new MatrixCoords(i, 1)); IndestructibleBlock RightWall = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 2)); engine.AddObject(LeftWall); engine.AddObject(RightWall); } for (int i = 2; i < WorldCols - 2; i++) { IndestructibleBlock UppertWall = new IndestructibleBlock(new MatrixCoords(1, i)); engine.AddObject(UppertWall); } //Adding several explosion blocks for (int i = 7; i < WorldCols-2; i+=7) { ExplodingBlock explosion = new ExplodingBlock(new MatrixCoords(3, i)); engine.AddObject(explosion); } //Add several gift blocks for (int i = 2; i < WorldCols - 2; i += 7) { GiftBlock giftBlock = new GiftBlock(new MatrixCoords(4, i)); engine.AddObject(giftBlock); } //Add shooting rocket ShootingRacket shoot = new ShootingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(shoot); }
const int SleepTime = 100; //Task02 static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } //------ //Task01 //------ //Under Task09 changed the IndestructibleBlock with UnpassableBlock for (int i = 0; i < WorldCols; i++) { UnpassableBlock ceilingBlock = new UnpassableBlock(new MatrixCoords(1, i)); engine.AddObject(ceilingBlock); } for (int i = 2; i < WorldRows; i++) { UnpassableBlock leftWallBlock = new UnpassableBlock(new MatrixCoords(i, 0)); engine.AddObject(leftWallBlock); UnpassableBlock rigthWallBlock = new UnpassableBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(rigthWallBlock); } //------ //------ //Task05 //------ engine.AddObject(new TrailObject(new MatrixCoords(5, 15), new char[, ] { { '$' } }, 150)); //------ /*Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), * new MatrixCoords(-1, 1));*/ //------ //Task07 //------ /*MeteorBall theBall = new MeteorBall(new MatrixCoords(WorldRows / 2, 0), * new MatrixCoords(-1, 1));*/ //------ //------ //Task09 //------ engine.AddObject(new UnpassableBlock(new MatrixCoords(WorldRows / 2 - 7, 6))); engine.AddObject(new UnpassableBlock(new MatrixCoords(WorldRows / 2 - 7, 7))); UnstopableBall theBall = new UnstopableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); //------ //------ //Task10 //------ for (int i = WorldCols / 2; i < WorldCols - 2; i++) { engine.AddObject(new ExplodingBlock(new MatrixCoords(2, i))); } //------ //------ //Task12 //------ for (int i = WorldCols / 2; i < WorldCols - 2; i++) { engine.AddObject(new GiftBlock(new MatrixCoords(WorldRows / 2 - 7, i))); } //------ engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { //Adding a ExplodingBlock aka bomb here if (i == 18) { ExplodingBlock bomb = new ExplodingBlock(new MatrixCoords(startRow + 1, i)); engine.AddObject(bomb); continue; } //Adding a gift here if (i == endCol - 2) { GiftBlock gift = new GiftBlock(new MatrixCoords(startRow + 1, i)); engine.AddObject(gift); continue; } Block currBlock = new Block(new MatrixCoords(startRow + 1, i)); engine.AddObject(currBlock); } //Task 1 for (int i = startCol; i < endCol; i++) { //Start from 0 where is the start of the matrix Block indeBlock = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(indeBlock); } for (int i = startCol; i < endCol; i++) { Block indeBlock = new IndestructibleBlock(new MatrixCoords(i, endCol)); engine.AddObject(indeBlock); } for (int i = startCol - 1; i < endCol; i++) { Block indeBlock = new IndestructibleBlock(new MatrixCoords(startRow - 1, i)); engine.AddObject(indeBlock); } //End of task 1 //Task 5 char[,] startChar = { { 'M', 'o', 'v', 'e', ' ', 'w', 'i', 't', 'h', ' ', '\'', 'a', '\'', ' ', 'a', 'n', 'd', ' ', '\'', 'd', '\'' } }; TrailObject startMsg = new TrailObject(new MatrixCoords(0, 0), startChar, 20); engine.AddObject(startMsg); //End of Task 5 //Task 7 Ball theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); //End of task 7 //Task 9 - UnpassableBlock added for (int i = startCol + 5; i < endCol - 17; i++) { Block unpassBlock = new UnpassableBlock(new MatrixCoords(startRow + 9, i)); engine.AddObject(unpassBlock); } //Adding unstoppable Ball to the game at some position //When the ball destroys more than it should - it's from the colision detection Ball unstopBall = new UnstoppableBall(new MatrixCoords(20, 5), new MatrixCoords(-1, 1)); engine.AddObject(unstopBall); //End of task 9 Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; //The AcademyPopcorn class contains an IndestructibleBlock class. Use it to create side and ceiling walls to the game. You can ONLY edit the AcademyPopcornMain.cs file IndestructibleBlock indestructibleBlock = null; for (int row = 0; row < WorldRows; row++) { for (int col = 0; col < WorldCols; col++) { if (row == 0) { indestructibleBlock = new IndestructibleBlock(new MatrixCoords(row, col)); engine.AddObject(indestructibleBlock); } else if (col == 0 || col == WorldCols - 1) { indestructibleBlock = new IndestructibleBlock(new MatrixCoords(row, col)); engine.AddObject(indestructibleBlock); } } } for (int i = startCol; i < endCol; i++) { switch (i % 5) { case 0: ExplodingBlock explodingBlock = new ExplodingBlock(new MatrixCoords(startRow, i)); engine.AddObject(explodingBlock); break; default: switch (i % 3) { case 0: GiftBlock giftBlock = new GiftBlock(new MatrixCoords(startRow, i)); engine.AddObject(giftBlock); break; default: Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); break; } break; } } for (int i = 4; i < endCol; i += 3) { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(8, i)); engine.AddObject(currBlock); } TrailObject to = new TrailObject(new MatrixCoords(5, 6), 15); engine.AddObject(to); UnstoppableBall theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); ShootingRacket theRacket = new ShootingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
public void Initialize(Engine engine) { // Initialize ceiling for (int i = wallStartRow; i < WorldCols; i++) { Block ceiling = new IndestructibleBlock(new MatrixCoords(wallStartRow, i)); engine.AddObject(ceiling); } // Initialize indestructible walls for (int i = wallStartRow + 1; i < WorldRows; i++) { Block leftWallBlock = new IndestructibleBlock(new MatrixCoords(i, 0)); Block rightWallBlock = new IndestructibleBlock(new MatrixCoords(i, GetCols - 1)); engine.AddObject(leftWallBlock); engine.AddObject(rightWallBlock); } // Initialize exploding Blocks for (int i = startCol; i < endCol; i++) { if (i % 7 == 0) { Block explBlock = new ExplodingBlock(new MatrixCoords(startRow + 1, i)); engine.AddObject(explBlock); } } // Initialize Unpassable Blocks for (int i = startCol; i < endCol; i++) { if (i % 5 == 0) { Block unpassableBlock = new UnpassableBlock(new MatrixCoords(WorldRows / 2, i)); engine.AddObject(unpassableBlock); } } // Initialize Gift Blocks for (int i = startCol; i < endCol; i++) { if (i % 8 == 0) { Block currBlock = new GiftBlock(new MatrixCoords(startRow - 1, i)); engine.AddObject(currBlock); } } // Original Blocks for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } // Original Ball //ball theball = new ball(new matrixcoords(worldrows / 2, 0), //new matrixcoords(-1, 1)); //engine.addobject(theball); // Meteorite Ball Test //Ball theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(theBall); // Unstoppable Ball Test Ball theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, GetCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } //Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); // Ball theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), //new MatrixCoords(-1, 1)); Ball theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); for (int row = 0; row < WorldRows; row++) { IndestructibleBlock leftSide = new IndestructibleBlock(new MatrixCoords(row, 0)); engine.AddObject(leftSide); IndestructibleBlock rightSide = new IndestructibleBlock(new MatrixCoords(row, WorldCols - 1)); engine.AddObject(rightSide); } for (int col = 1; col < WorldCols - 1; col++) { IndestructibleBlock ceiling = new IndestructibleBlock(new MatrixCoords(0, col)); engine.AddObject(ceiling); } //TrailObject trailingObject = new TrailObject(new MatrixCoords(WorldRows / 2, WorldCols / 2), 10); UnpassableBlock unpassable = new UnpassableBlock(new MatrixCoords(WorldRows / 2, WorldCols / 2 )); engine.AddObject(unpassable); //ExplodingBlock exploadable = new ExplodingBlock(new MatrixCoords(4, 6)); //engine.AddObject(exploadable); GiftBlock gift = new GiftBlock(new MatrixCoords(4, 6)); engine.AddObject(gift); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } //Exploding blocks //When collide with the ball effect is like a wave. I cannot find mistake. :( /*for (int i = startCol; i < endCol; i++) { ExplodingBlock currExplodingBlock = new ExplodingBlock(new MatrixCoords(startRow + 1, i)); engine.AddObject(currExplodingBlock); }*/ for (int i = startCol; i < endCol; i++) { GiftBlock currGiftBlock = new GiftBlock(new MatrixCoords(startRow + 2, i)); engine.AddObject(currGiftBlock); } //Test the UnpassableBlock and the UnstoppableBall by adding them to the engine in AcademyPopcornMain.cs file for (int i = startCol; i < endCol / 2; i++) { UnpassableBlock currUnpassableBlock = new UnpassableBlock(new MatrixCoords(startRow + 3, i)); engine.AddObject(currUnpassableBlock); } //Defaul ball //Uncomment this and comment Unstoppable Ball to switch between them //Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(theBall); //Test the UnpassableBlock and the UnstoppableBall by adding them to the engine in AcademyPopcornMain.cs file //Unstoppable Ball UnstoppableBall theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); /* The AcademyPopcorn class contains an IndestructibleBlock class. * Use it to create side and ceiling walls to the game. * You can ONLY edit the AcademyPopcornMain.cs file. */ //Top for (int i = 0; i < WorldCols; i++) { IndestructibleBlock borders = new IndestructibleBlock(new MatrixCoords(0,i)); engine.AddObject(borders); } //Bottom is theRacket //Left for (int i = 0; i < WorldRows; i++) { IndestructibleBlock borders = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(borders); } //Right for (int i = 0; i < WorldRows; i++) { IndestructibleBlock borders = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(borders); } /*Then test the TrailObject by adding an instance of it in the engine through the AcademyPopcornMain.cs file.*/ TrailObject trailObject = new TrailObject(new MatrixCoords(WorldRows / 4, WorldCols / 4), new char[,] { {'@'} }, 20); //Life of trail object is lifetime * sleeptime engine.AddObject(trailObject); /*Test the MeteoriteBall by replacing the normal ball in the AcademyPopcornMain.cs file.*/ //Uncomment this to see Meteorit ball with trail. Length of treil by defaul is tree. //MeteoriteBall meteoriteBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); //engine.AddObject(meteoriteBall); //Uncomment this and will see how fall down one 'gift' when you start game //Gift someGift = new Gift(new MatrixCoords(WorldRows / 2, WorldCols / 2), new char[,] { { 'G' } }); //engine.AddObject(someGift); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } // Add some exploding blocks for (int i = startCol; i < endCol - 1; i++) { Block currBlock = new ExplodingBlock(new MatrixCoords(startRow + 1, i)); engine.AddObject(currBlock); } Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // Side walls for (int row = 0; row < WorldRows; row++) { IndestructibleBlock indestrBlock = new IndestructibleBlock(new MatrixCoords(row, 0)); engine.AddObject(indestrBlock); indestrBlock = new IndestructibleBlock(new MatrixCoords(row, WorldCols - 1)); engine.AddObject(indestrBlock); } // Ceiling for (int col = 0; col < WorldCols; col++) { IndestructibleBlock indestrBlock = new IndestructibleBlock(new MatrixCoords(0, col)); engine.AddObject(indestrBlock); } // Some trail object: body - 'T' TrailObject trailObj = new TrailObject(20, new MatrixCoords(10, 15), new char[,] { { 'T' } }); engine.AddObject(trailObj); // Some unpassable blocks: body - 'X' for (int col = 4; col < WorldCols - 12; col += 3) { UnpassableBlock unpassBlock = new UnpassableBlock(new MatrixCoords(6, col)); engine.AddObject(unpassBlock); } // Unpassable wall and ceiling (we can't edit the other classes so the // unstoppable ball will go throw indestructable block but we cant edit it!). for (int col = 1; col < WorldCols - 1; col++) { UnpassableBlock unpassBlock = new UnpassableBlock(new MatrixCoords(1, col)); engine.AddObject(unpassBlock); } for (int row = 2; row < WorldRows; row++) { UnpassableBlock unpassBlock = new UnpassableBlock(new MatrixCoords(row, WorldCols - 2)); engine.AddObject(unpassBlock); } }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i += 2) { ExplodingBlock currBlock = new ExplodingBlock(new MatrixCoords(startRow + 1, i)); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { GiftBlock currBlock = new GiftBlock(new MatrixCoords(startRow + 2, i), new char[, ] { { '%' } }); engine.AddObject(currBlock); } for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 4, i)); engine.AddObject(currBlock); } for (int i = startCol + 5; i < endCol - 5; i++) { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(startRow + 3, i)); engine.AddObject(currBlock); } for (int i = 1; i < WorldRows; i++) { IndestructibleBlock newIndestructubleBlock = new IndestructibleBlock(new MatrixCoords(i, 0), '║'); engine.AddObject(newIndestructubleBlock); newIndestructubleBlock = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1), '║'); engine.AddObject(newIndestructubleBlock); } for (int i = 1; i < WorldCols - 1; i++) { IndestructibleBlock newIndestructubleBlock = new IndestructibleBlock(new MatrixCoords(0, i), '═'); engine.AddObject(newIndestructubleBlock); newIndestructubleBlock = new IndestructibleBlock(new MatrixCoords(WorldRows - 1, i), '_'); engine.AddObject(newIndestructubleBlock); } UnstoppableBall theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { Console.ForegroundColor = ConsoleColor.Yellow; // I've added the following lines to adjust the size of the console so it's not unnecessarily big //================================================================================================= Addition> Console.WindowHeight = WorldRows + 2; Console.WindowWidth = WorldCols + 1; Console.BufferHeight = Console.WindowHeight; Console.BufferWidth = Console.WindowWidth; //================================================================================================= >Addition int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; //01. The AcademyPopcorn class contains an IndestructibleBlock class. Use it to create side and ceiling walls // to the game. You can ONLY edit the AcademyPopcornMain.cs file. //================================================================================================== Task 01> for (int row = 0; row < WorldRows; row++) { IndestructibleBlock leftWallBlock = new IndestructibleBlock(new MatrixCoords(row, 0)); engine.AddObject(leftWallBlock); IndestructibleBlock rightWallBlock = new IndestructibleBlock(new MatrixCoords(row, WorldCols - 1)); engine.AddObject(rightWallBlock); } for (int col = 0; col < WorldCols; col++) { IndestructibleBlock ceilingBlock = new IndestructibleBlock(new MatrixCoords(0, col)); engine.AddObject(ceilingBlock); } //================================================================================================== >Task 01 for (int i = startCol; i < endCol; i++) { if (i % 3 != 1) { Block regularBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(regularBlock); } else { // Test ExplodingBlock (TASK 10) //========================================================================================= Addition> ExplodingBlock explodingBlock = new ExplodingBlock(new MatrixCoords(startRow, i)); engine.AddObject(explodingBlock); //========================================================================================= >Addition } } for (int i = startCol + 5; i < endCol - 5; i++) { if (i % 3 != 1) { Block regularBlock = new Block(new MatrixCoords(startRow + 4, i)); engine.AddObject(regularBlock); } else { // Test GiftBlock and Gift (TASK 11 & 12) //========================================================================================= Addition> GiftBlock giftBlock = new GiftBlock(new MatrixCoords(startRow + 4, i)); engine.AddObject(giftBlock); //========================================================================================= >Addition } } //09. Test the UnpassableBlock and the UnstoppableBall by adding them to the engine in AcademyPopcornMain.cs file //================================================================================================== Task 09> for (int i = startCol + 10; i < endCol - 10; i++) { UnpassableBlock unpassableBlock = new UnpassableBlock(new MatrixCoords(startRow + 2, i)); engine.AddObject(unpassableBlock); } //================================================================================================== >Task 09 //07. Test the MeteoriteBall by replacing the normal ball in the AcademyPopcornMain.cs file. //================================================================================================== Task 07> // You just need to comment the line below \/ Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); //MeteoriteBall theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); //================================================================================================== Task 09>> //UnstoppableBall theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); //========================================================================================= >>Task 09 >Task 07 engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // Testing TrailObject //=============================================================================================== Testing 05> //for (int i = 1; i < 10; i++) //{ // TrailObject trail = new TrailObject(new MatrixCoords(i * 2, 3 + i * 2), 10); // engine.AddObject(trail); //} //=============================================================================================== >Testing 05 }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; int endRow = WorldRows - 1; Random ranGen = new Random(); for (int i = startCol - 1; i < endCol + 1; i++) { Block currBlock; int probability = ranGen.Next(0, 100); if (probability < 30) { //Task 10: currBlock = new ExplodingBlock(new MatrixCoords(startRow, i)); } else if (probability < 60 && probability >= 30) { //Task 12: currBlock = new GiftBlock(new MatrixCoords(startRow, i)); } else { currBlock = new Block(new MatrixCoords(startRow, i)); } engine.AddObject(currBlock); } for (int i = startCol - 2; i < endCol + 2; i++) { //Task 1: IndestructibleBlock ceiling = new IndestructibleBlock(new MatrixCoords(startRow - 1, i)); //Task 9: UnpassableBlock ceiling = new UnpassableBlock(new MatrixCoords(startRow - 1, i)); engine.AddObject(ceiling); } for (int i = startRow; i < endRow + 1; i++) { //Task 1: IndestructibleBlock leftWall = new IndestructibleBlock(new MatrixCoords(i, startCol - 2)); IndestructibleBlock rightWall = new IndestructibleBlock(new MatrixCoords(i, endCol + 1)); engine.AddObject(rightWall); engine.AddObject(leftWall); } //Task 7: MeteoriteBall BallOne = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(BallOne); //Task 9: //UnstoppableBall BallTwo = new UnstoppableBall(new MatrixCoords(WorldRows / 2 + 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(BallTwo); //Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock0 = new Block(new MatrixCoords(startRow-1, i)); Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); engine.AddObject(currBlock0); } //ExplodingBlock makes trails ExplodingBlock explodingBlock = new ExplodingBlock(new MatrixCoords(4,7)); engine.AddObject(explodingBlock); //Ordinary ball //Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(theBall); //Meteorite Ball makes trails when it moves //MeteoriteBall meteroitBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); // engine.AddObject(meteroitBall); //Unstoppable Ball, can be stopped only by Unpassable Block UnstoppableBall unstoppableBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(unstoppableBall); //Falling gift Gift giftObject = new Gift(new MatrixCoords(5, 15), new MatrixCoords(-1, 0)); engine.AddObject(giftObject); //Gift Block GiftBlock giftBlock = new GiftBlock(new MatrixCoords(10, 10)); engine.AddObject(giftBlock); //UnpassableBlock UnpassableBlock unpassableBlock = new UnpassableBlock(new MatrixCoords(15, 15)); engine.AddObject(unpassableBlock); UnpassableBlock unpassableBlock1 = new UnpassableBlock(new MatrixCoords(15, 16)); engine.AddObject(unpassableBlock1); UnpassableBlock unpassableBlock2 = new UnpassableBlock(new MatrixCoords(15, 17)); engine.AddObject(unpassableBlock2); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); //Creating second Racket //When you add second racket by addObject method, it checks whether the game has already a racket //If it does, we are removing the previous, and adding the new one. //Racket secondRacket = new Racket(new MatrixCoords(WorldRows -10, WorldCols / 2), RacketLength); //engine.AddObject(secondRacket); TrailObject trailObject = new TrailObject(new MatrixCoords(1, 1), 20); engine.AddObject(trailObject); for (int i = 0; i < WorldRows; i++) { IndestructibleBlock indestructibleBlockLeft = new IndestructibleBlock(new MatrixCoords(i,0)); IndestructibleBlock indestructibleBlockRight = new IndestructibleBlock(new MatrixCoords(i, WorldCols-1)); engine.AddObject(indestructibleBlockLeft); engine.AddObject(indestructibleBlockRight); } for (int i = 0; i < WorldCols; i++) { IndestructibleBlock indestructibleBlockCeiling = new IndestructibleBlock(new MatrixCoords(0, i)); engine.AddObject(indestructibleBlockCeiling); } }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock0 = new Block(new MatrixCoords(startRow - 1, i)); Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); engine.AddObject(currBlock0); } //ExplodingBlock makes trails ExplodingBlock explodingBlock = new ExplodingBlock(new MatrixCoords(4, 7)); engine.AddObject(explodingBlock); //Ordinary ball //Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(theBall); //Meteorite Ball makes trails when it moves //MeteoriteBall meteroitBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); // engine.AddObject(meteroitBall); //Unstoppable Ball, can be stopped only by Unpassable Block UnstoppableBall unstoppableBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(unstoppableBall); //Falling gift Gift giftObject = new Gift(new MatrixCoords(5, 15), new MatrixCoords(-1, 0)); engine.AddObject(giftObject); //Gift Block GiftBlock giftBlock = new GiftBlock(new MatrixCoords(10, 10)); engine.AddObject(giftBlock); //UnpassableBlock UnpassableBlock unpassableBlock = new UnpassableBlock(new MatrixCoords(15, 15)); engine.AddObject(unpassableBlock); UnpassableBlock unpassableBlock1 = new UnpassableBlock(new MatrixCoords(15, 16)); engine.AddObject(unpassableBlock1); UnpassableBlock unpassableBlock2 = new UnpassableBlock(new MatrixCoords(15, 17)); engine.AddObject(unpassableBlock2); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); //Creating second Racket //When you add second racket by addObject method, it checks whether the game has already a racket //If it does, we are removing the previous, and adding the new one. //Racket secondRacket = new Racket(new MatrixCoords(WorldRows -10, WorldCols / 2), RacketLength); //engine.AddObject(secondRacket); TrailObject trailObject = new TrailObject(new MatrixCoords(1, 1), 20); engine.AddObject(trailObject); for (int i = 0; i < WorldRows; i++) { IndestructibleBlock indestructibleBlockLeft = new IndestructibleBlock(new MatrixCoords(i, 0)); IndestructibleBlock indestructibleBlockRight = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(indestructibleBlockLeft); engine.AddObject(indestructibleBlockRight); } for (int i = 0; i < WorldCols; i++) { IndestructibleBlock indestructibleBlockCeiling = new IndestructibleBlock(new MatrixCoords(0, i)); engine.AddObject(indestructibleBlockCeiling); } }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 2, i)); GiftBlock currBlock2 = new GiftBlock(new MatrixCoords(startRow + 4, i)); engine.AddObject(currBlock); engine.AddObject(currBlock2); if (i < endCol / 4) // Exercise 9, 10 { UnpassableBlock currUBlock = new UnpassableBlock(new MatrixCoords(startRow + 0, i));// Exercise 9 engine.AddObject(currUBlock); if (i % 3 == 0)// Exercise 10 { ExplodingBlock currEBlock = new ExplodingBlock(new MatrixCoords(startRow + 3, i));// Exercise 10 engine.AddObject(currEBlock); } } } for (int i = 0; i < WorldCols; i++) // added. Exercise 1 { IndestructibleBlock currBlock1=new IndestructibleBlock(new MatrixCoords(0,i)); engine.AddObject(currBlock1); } for (int i = 1; i < WorldRows; i++) // added. Exercise 1 { IndestructibleBlock currBlock1 = new IndestructibleBlock(new MatrixCoords(i, 0)); IndestructibleBlock currBlock2 = new IndestructibleBlock(new MatrixCoords(i, WorldCols-1)); engine.AddObject(currBlock1); engine.AddObject(currBlock2); } // added. Exercise 5 TrailObject trObj1 = new TrailObject(new MatrixCoords(20, 36), new char[,] {{ 'f' }}, 10); engine.AddObject(trObj1); TrailObject trObj2 = new TrailObject(new MatrixCoords(15, 27), new char[,] { { 'R' } }, 15); engine.AddObject(trObj2); // // replaced with MeteoriteBall //Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); // //Exercise 7; replaced with UnstoppableBall //MeteoriteBall theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); // Exercise 9 UnstoppableBall theBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); //Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); ShootingRacket theRacket = new ShootingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); //Exercise 13 engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < 10; i++) // Task 9 Test { UnpassableBlock currBlock = new UnpassableBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = 10; i < 20; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = 20; i < 30; i++) // Task 12 Test GiftBlock and Gift { GiftBlock currBlock = new GiftBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = 30; i < endCol; i++) // Task 10. Exploding Block test { ExplodingBlock currBlock = new ExplodingBlock(new MatrixCoords(startRow, i)); engine.AddObject(currBlock); } for (int i = 0; i < WorldRows; i++) // Task 1 Create walls { IndestructibleBlock leftWalls = new IndestructibleBlock(new MatrixCoords(i, 0)); IndestructibleBlock rightWalls = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(leftWalls); engine.AddObject(rightWalls); } for (int i = 0; i < WorldCols; i++) // Task 1 Create ceiling { IndestructibleBlock ceiling = new IndestructibleBlock(new MatrixCoords(0, i)); engine.AddObject(ceiling); } MeteoriteBall meteoriteBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), // Task 7 Add Meteorite Ball new MatrixCoords(-1, 1)); engine.AddObject(meteoriteBall); //UnstoppableBall unstoppableBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), // Task 9 Test Unstoppable ball // new MatrixCoords(-1, 1)); //engine.AddObject(unstoppableBall); //Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), // new MatrixCoords(-1, 1)); //engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; #region Add Indestructible Blocks as ball delimeters for (int row = 0; row < WorldRows; row++) { for (int col = 0; col < WorldCols; col++) { IndestructibleBlock currBlock = null; if (row == 0) { currBlock = new IndestructibleBlock(new MatrixCoords(row, col)); engine.AddObject(currBlock); } else { if (col == 0 || col == WorldCols - 1) { currBlock = new IndestructibleBlock(new MatrixCoords(row, col)); engine.AddObject(currBlock); } } } } #endregion #region Add TrailObject //TrailObject trailObject = new TrailObject(new MatrixCoords(WorldRows, WorldCols), // new char[,] { { '°' } }, 5); //engine.AddObject(trailObject); #endregion #region Add Blocks for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); Block currBlock2 = new Block(new MatrixCoords(startRow + 1, i)); engine.AddObject(currBlock); engine.AddObject(currBlock2); } #endregion #region Add unpassable Blocks //for (int i = startCol; i < endCol; i = i + 4) //{ // UnpassableBlock unpassableBlock = new UnpassableBlock(new MatrixCoords(startRow + 5, i)); // engine.AddObject(unpassableBlock); //} for (int i = startCol; i < endCol; i = i + 3) { UnpassableBlock unpassableBlock = new UnpassableBlock(new MatrixCoords(WorldRows - 8, i)); engine.AddObject(unpassableBlock); } #endregion #region Add exploding Blocks for (int i = startCol; i < endCol; i = i + 1) { ExplodingBlock expoldingBlock = new ExplodingBlock(new MatrixCoords(startRow + 2, i)); engine.AddObject(expoldingBlock); } #endregion #region Add gift Blocks for (int i = startCol; i < endCol; i++) { GiftBlock giftBlock = new GiftBlock(new MatrixCoords(startRow + 3, i)); engine.AddObject(giftBlock); } #endregion #region Add Meteorite Ball MeteoriteBall meteoriteBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); #endregion #region Add unstoppableBall Ball UnstoppableBall unstoppableBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); #endregion #region Add Ball Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); #endregion engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow, i)); if (i == 7) // first hit is that brick { currBlock = new ExplodeBlock(new MatrixCoords(startRow, i)); } if (i == 17) // adding gift object { currBlock = new GiftBlock(new MatrixCoords(startRow, i)); } engine.AddObject(currBlock); } // Adding Unpassable Blocks for (int i = 10; i < 15; i++) { UnpassableBlock unpassableBlock = new UnpassableBlock(new MatrixCoords(5, i)); engine.AddObject(unpassableBlock); } // Adding Unstoppable Ball //UnstoppableBall unstoppableBall = new UnstoppableBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); //engine.AddObject(unstoppableBall); Ball theBall = new Ball(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); //MeteoriteBall meteoriteBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); //engine.AddObject(meteoriteBall); //engine.AddObject(meteoriteBall.Tail); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); for (int i = 0; i < WorldRows; i++) { IndestructibleBlock leftWall = new IndestructibleBlock(new MatrixCoords(i, 0)); engine.AddObject(leftWall); IndestructibleBlock rightWall = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(rightWall); } for (int i = 0; i < WorldCols; i++) { IndestructibleBlock ceiling = new IndestructibleBlock(new MatrixCoords(0, i)); engine.AddObject(ceiling); } }
// Drawing all objects static void Initialize(Engine engine) { // Wall coordinates for (int col = 0; col < WorldCols; col += WallGap) { if (col > WorldCols / 3 && col < 2 * WorldCols / 3) col += WallGap; for (int width = col; width < col + WallWidth; width++) { for (int row = 0; row <= ((col != 0 && col < WorldCols - WallGap) ? WorldRows - 1 : WorldRows); row++) { if (col != 0 && col < WorldCols - WallGap && row == 2) row = 6; if (col > WallGap && col < WorldCols - WallGap && row == 17) row = 22; IndestructibleBlock Wall = new IndestructibleBlock(new MatrixCoords(row, width)); engine.AddObject(Wall); } } } // Ceiling coordinates for (int col = 0; col < WorldCols; col++) { IndestructibleBlock ceiling = new IndestructibleBlock(new MatrixCoords(0, col)); engine.AddObject(ceiling); } // Floor coordinates for (int col = 0; col < WorldCols - 1; col++) { if (col == WallGap + WallWidth) col = 3 * WallGap; IndestructibleBlock floor = new IndestructibleBlock(new MatrixCoords(WorldRows - 1, col)); engine.AddObject(floor); } // Block coordinates for (int row = 0; row < BlockLines; row++) { if (row == 2) row = 3; for (int col = WallGap + WallWidth + 1; col < 3 * WallGap - 1; col++) { if (row == 4 && (col == 3 * WallGap / 2 || col == 5 * WallGap / 2)) col++; Block currBlock = new Block(new MatrixCoords(StartBlockRow + row, col)); engine.AddObject(currBlock); } } for (int col = WallGap + WallWidth + 1; col < 3 * WallGap - 1; col++) { if (col == WallGap + 7) col = 3 * WallGap - 5; Block currBlock2 = new Block(new MatrixCoords(5, col)); engine.AddObject(currBlock2); } for (int row = 0; row < WorldRows - 2 * BlockLines + 1; row += 3) { for (int col = WallWidth + 1; col < WorldCols - WallWidth - 1; col++) { if (col == WallGap - 1) col = 3 * WallGap + WallWidth + 1; Block currBlock = new Block(new MatrixCoords(StartBlockRow + row, col)); engine.AddObject(currBlock); } } for (int col = WallGap + WallWidth + 5; col < 3 * WallGap - 5; col++) { UnpassableBlock unpassBlock = new UnpassableBlock(new MatrixCoords(5, col)); engine.AddObject(unpassBlock); } ExplodingBlock exploBlock1 = new ExplodingBlock(new MatrixCoords(7, 3 * WallGap / 2)); engine.AddObject(exploBlock1); ExplodingBlock exploBlock2 = new ExplodingBlock(new MatrixCoords(7, 5 * WallGap / 2)); engine.AddObject(exploBlock2); // Ball coordinates Ball theBall = new Ball(new MatrixCoords(2 * WorldRows / 3, WorldCols / 2 - 10), new MatrixCoords(-1, 1)); engine.AddObject(theBall); // Meteorite ball coordinates MeteoriteBall meteoBall = new MeteoriteBall(new MatrixCoords(WorldRows - 1, 1), new MatrixCoords(-1, 1)); engine.AddObject(meteoBall); MeteoriteBall meteoBall2 = new MeteoriteBall(new MatrixCoords(WorldRows - 1, 3), new MatrixCoords(-1, 1)); engine.AddObject(meteoBall2); MeteoriteBall meteoBall3 = new MeteoriteBall(new MatrixCoords(WorldRows - 1, 7), new MatrixCoords(-1, 1)); engine.AddObject(meteoBall3); // Unstoppable ball coordinates UnstoppableBall unstopBall = new UnstoppableBall(new MatrixCoords(WorldRows - 8, WorldCols - WallWidth - 3), new MatrixCoords(-1, -1)); engine.AddObject(unstopBall); // Racket coordinates Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, (WorldCols - RacketLength) / 2), RacketLength); engine.AddObject(theRacket); // Gift coordinates for (int col = WallGap + 3; col < 3 * WallGap - 1; col++) { GiftBlock gift = new GiftBlock(new MatrixCoords(1, col)); engine.AddObject(gift); } }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startRow; i < WorldRows; ++i) { IndestructibleBlock indestructibleBlockLeft = new IndestructibleBlock(new MatrixCoords(i, 0)); IndestructibleBlock indestructibleBlockRight = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)); engine.AddObject(indestructibleBlockLeft); engine.AddObject(indestructibleBlockRight); } for (int i = 0; i < WorldCols; ++i) { IndestructibleBlock indestructibleBlockTop = new IndestructibleBlock(new MatrixCoords(startRow - 1, i)); engine.AddObject(indestructibleBlockTop); } Random random = new Random(); for (int row = 0; row < 3; ++row) { for (int i = startCol; i < endCol; i++) { int rand = random.Next(4); Block currBlock; if (rand == 0) { currBlock = new ExplodingBlock(new MatrixCoords(startRow + row, i)); } else if (rand == 1) { currBlock = new GiftBlock(new MatrixCoords(startRow + row, i)); } else if (rand == 2) { currBlock = new UnpassableBlock(new MatrixCoords(startRow + row, i)); } else { currBlock = new Block(new MatrixCoords(startRow + row, i)); } engine.AddObject(currBlock); } } MeteoriteBall theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, WorldCols / 2), new MatrixCoords(-1, 1)); engine.AddObject(theBall); ShootingRacket theRacket = new ShootingRacket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); engine.AddObject(new TrailObject(new MatrixCoords(WorldRows - 1, 2), 5)); }
static void Initialize(Engine engine) { int startRow = 3; int startCol = 2; int endCol = WorldCols - 2; for (int i = startCol; i < endCol; i++) { Block currBlock = new Block(new MatrixCoords(startRow + 3, i)); engine.AddObject(currBlock); Block otherBlock = new Block(new MatrixCoords(19, i)); engine.AddObject(otherBlock); if (i > 19 && i < 30) { // add unpassableBlocks UnpassableBlock currUnpassableBlock = new UnpassableBlock(new MatrixCoords(18, i + 1)); engine.AddObject(currUnpassableBlock); } } // add GiftBlock GiftBlock giftBlock = new GiftBlock(new MatrixCoords(8, 15)); engine.AddObject(giftBlock); // add explodingBlock ExplodingBlock explodingBlock = new ExplodingBlock(new MatrixCoords(startRow + 4, startCol + 1)); ExplodingBlock explodingBlock1 = new ExplodingBlock(new MatrixCoords(startRow + 14, startCol + 19)); engine.AddObject(explodingBlock); engine.AddObject(explodingBlock1); // add disapiared object TrailObject trailObject = new TrailObject(new MatrixCoords(17, 5), new char[, ] { { 'X', 'X', 'X' } }, 100); engine.AddObject(trailObject); for (int row = startRow - 1; row < WorldRows; row++) { IndestructibleBlock leftWallBlock = new IndestructibleBlock(new MatrixCoords(row, 0)); IndestructibleBlock rightWallBlock = new IndestructibleBlock(new MatrixCoords(row, WorldCols - 1)); engine.AddObject(leftWallBlock); engine.AddObject(rightWallBlock); } for (int col = 0; col < WorldCols; col++) { IndestructibleBlock upWallBlock = new IndestructibleBlock(new MatrixCoords(1, col)); engine.AddObject(upWallBlock); } // change ball MeteoriteBall theBall = new MeteoriteBall(new MatrixCoords(WorldRows / 2, 0), new MatrixCoords(-1, 1)); engine.AddObject(theBall); Racket theRacket = new Racket(new MatrixCoords(WorldRows - 1, WorldCols / 2), RacketLength); engine.AddObject(theRacket); // test we should remove the previous racket from this.allObjects //engine.AddObject(theRacket); }