public Ship(int healthPoint, int attackDamage, MatrixCoords position) { this.AttackDamage = attackDamage; this.HealthPoint = healthPoint; this.position = position; this.Inventory = new Inventory(); }
public PlayerAircraft(MatrixCoords topLeft) : base(topLeft, new char[, ] { { ' ', ' ', ' ', ' ', ' ', ' ', '/', '\\', ' ', ' ', ' ', ' ', ' ' }, { ' ', ' ', ' ', ' ', ' ', '|', '|', '|', '|', ' ', ' ', ' ', ' ' }, { ' ', ' ', ' ', ' ', ' ', '|', '|', '|', '|', ' ', ' ', ' ', ' ' }, { ' ', '/', '-', '-', '-', ' ', '/', '\\', '-', '-', '-', '\\', ' ' }, { '/', '_', '_', '_', '_', ' ', '|', '|', '_', '_', '_', '_', '\\' }, { ' ', ' ', ' ', ' ', ' ', '|', '|', '|', '|', ' ', ' ', ' ', ' ' }, { ' ', ' ', ' ', ' ', ' ', '|', '|', '|', '|', ' ', ' ', ' ', ' ' }, { ' ', ' ', ' ', ' ', '/', '/', '|', '|', '\\', '\\', ' ', ' ', ' ' }, { ' ', ' ', ' ', '/', '_', '_', '/', '\\', '_', '_', '\\', ' ', ' ' }, }) { }
public void EnqueueForRendering(IRenderable obj)//vzema edin obekt i go palni v matricata { char[,] objImage = obj.GetImage(); int imageRows = objImage.GetLength(0); int imageCols = objImage.GetLength(1); MatrixCoords objTopLeft = obj.GetTopLeft(); int lastRow = Math.Min(objTopLeft.Row + imageRows, this.renderContextMatrixRows); int lastCol = Math.Min(objTopLeft.Col + imageCols, this.renderContextMatrixCols); for (int row = obj.GetTopLeft().Row; row < lastRow; row++) { for (int col = obj.GetTopLeft().Col; col < lastCol; col++) { if (row >= 0 && row < renderContextMatrixRows && col >= 0 && col < renderContextMatrixCols) { renderContextMatrix[row, col] = objImage[row - obj.GetTopLeft().Row, col - obj.GetTopLeft().Col]; } } } }
public Bomb(MatrixCoords coords) : base(coords) { }
public SmallBomb(MatrixCoords topLeft, MatrixCoords speed) : base(topLeft, new char[, ] { { '*' } }, speed) { }
public EnemyShip(int healthPoint, int attackDamage , MatrixCoords position , Random rand) : base(healthPoint , attackDamage , position) { this.randomGenerator = rand; }
public Bullet(MatrixCoords coords) : base(coords) { }
private static void HandleMovingWithStaticCollisions(List <MovingObject> movingObjects, List <GameObject> staticObjects) { foreach (var movingObject in movingObjects) { int verticalIndex = VerticalCollisionIndex(movingObject, staticObjects); int horizontalIndex = HorizontalCollisionIndex(movingObject, staticObjects); MatrixCoords movingCollisionForceDirection = new MatrixCoords(0, 0); if (verticalIndex != -1) { movingCollisionForceDirection.Row = -movingObject.Speed.Row; staticObjects[verticalIndex].RespondToCollision( new CollisionData(new MatrixCoords(movingObject.Speed.Row, 0), movingObject.GetCollisionGroupString()) ); } if (horizontalIndex != -1) { movingCollisionForceDirection.Col = -movingObject.Speed.Col; staticObjects[horizontalIndex].RespondToCollision( new CollisionData(new MatrixCoords(0, movingObject.Speed.Col), movingObject.GetCollisionGroupString()) ); } int diagonalIndex = -1; if (horizontalIndex == -1 && verticalIndex == -1) { diagonalIndex = DiagonalCollisionIndex(movingObject, staticObjects); if (diagonalIndex != -1) { movingCollisionForceDirection.Row = -movingObject.Speed.Row; movingCollisionForceDirection.Col = -movingObject.Speed.Col; staticObjects[diagonalIndex].RespondToCollision( new CollisionData(new MatrixCoords(movingObject.Speed.Row, 0), movingObject.GetCollisionGroupString()) ); } } List <string> hitByMovingCollisionGroups = new List <string>(); if (verticalIndex != -1) { hitByMovingCollisionGroups.Add(staticObjects[verticalIndex].GetCollisionGroupString()); } if (horizontalIndex != -1) { hitByMovingCollisionGroups.Add(staticObjects[horizontalIndex].GetCollisionGroupString()); } if (diagonalIndex != -1) { hitByMovingCollisionGroups.Add(staticObjects[diagonalIndex].GetCollisionGroupString()); } if (verticalIndex != -1 || horizontalIndex != -1 || diagonalIndex != -1) { movingObject.RespondToCollision( new CollisionData(movingCollisionForceDirection, hitByMovingCollisionGroups) ); } } }
public MovingObject(MatrixCoords topLeft, char[,] body, MatrixCoords speed) : base(topLeft, body) { this.Speed = speed; }
public Shot(MatrixCoords topLeft, MatrixCoords speed) : base(topLeft, new char[, ] { { '|' } }, speed) { }
public Projectile(MatrixCoords position) { this.position = position; }
public Bomb(MatrixCoords topLeft, char[,] body, MatrixCoords speed) : base(topLeft, body, speed) { }
public Missile(MatrixCoords coords) : base(coords) { }
public CollisionData(MatrixCoords collisionForceDirection, string objectCollisionGroupString) { this.CollisionForceDirection = collisionForceDirection; this.hitObjectsCollisionGroupStrings = new List <string>(); this.hitObjectsCollisionGroupStrings.Add(objectCollisionGroupString); }