public void VerticalTimeOfCollisionTests() { Ball b1 = new Ball(1.0, 1.0, 5.0, 5.0, 1.0, 20.0); Ball b2 = new Ball(1.0, 1.0, 5.0, 5.0, 7, -10.0); VerticalWall v1 = new VerticalWall(10.0); VerticalWall v2 = new VerticalWall(-10.0); VerifyTimeOfCollision(b1, v1, true); VerifyTimeOfCollision(b1, v2, true); VerifyTimeOfCollision(b2, v1, false); VerifyTimeOfCollision(b2, v2, true); }
public Walls(int length,int height) { Figure upWall = new HorizontalWall(0, length, 0); Figure downWall = new HorizontalWall(0, length, height); Figure leftWall = new VerticalWall(1, height, 0); Figure rightWall = new VerticalWall(1, height, length); Figure Wall1 = new VerticalWall(1, 15, 30); walls.Add(upWall); walls.Add(downWall); walls.Add(leftWall); walls.Add(rightWall); walls.Add(Wall1); foreach (var item in walls) { item.Draw(); } }
public void VerifyTimeOfCollision(Ball b1, VerticalWall v, bool expectedToCollide) { double t1 = v.TimeOfCollision(b1); if (t1 > 0.0) { Assert.IsTrue(expectedToCollide); double x1 = b1.X + b1.Vx * t1; if (v.X > b1.X) { Assert.AreEqual(v.X - b1.Radius, x1, 0.01); } else { Assert.AreEqual(v.X + b1.Radius, x1, 0.01); } } else { Assert.IsFalse(expectedToCollide); } }
void AddVerticalWall(int x, int y) { var wall = new VerticalWall(); wall.position = new Position(x, y); boardElements.Add(wall); }