private static void Main() { RenderEngine.RenderMap(); Hero superMario = new Hero(); //test na rendvaneto na kostenurka Turtle turtle = new Turtle(500, 100, 42); //RenderEngine.RenderHero(superMario); while (true) { turtle.Moving(); superMario.MovingHero(superMario); } }
public override void xCollision(Sprite s) { switch (s.name) { case "gps": case "brick": case "itemBlock": { if (positionRectangle.Left < s.positionRectangle.Left) { positionRectangle.X = s.positionRectangle.Left - positionRectangle.Width; xVelocity = 0; } else if (positionRectangle.Right > s.positionRectangle.Right) { positionRectangle.X = s.positionRectangle.Right; xVelocity = 0; } break; } case "bigMushoom": { if (level == Level.Small) { startTranformation(); } s.canRemove = true; break; } case "flower": { if (level == Level.Big) { startTranformation(2); } if (level == Level.Small) { startTranformation(); } s.canRemove = true; break; } case "star": { startTranformation(3); s.canRemove = true; break; } case "goomba": { Goomba g = s as Goomba; if (isInvisible) { g.die(true); } else if (!HurtInvisible) { startTranformation(1); } break; } case "turtle": { Turtle t = s as Turtle; if (t.state == Turtle.State.alive) { if (isInvisible) { t.die(); } else if (!HurtInvisible) { startTranformation(1); } break; } else { if (t.stoping) { if (positionRectangle.Left < s.positionRectangle.Left) { positionRectangle.X = s.positionRectangle.X - positionRectangle.Width - 1; t.kick(true); } else { positionRectangle.X = s.positionRectangle.X + s.positionRectangle.Width + 1; t.kick(false); } } else { if (isInvisible) { t.die(); } else if (!HurtInvisible) { startTranformation(1); } break; } } break; } case "pole": { Pole p = s as Pole; p.slide(); pole = p; state = State.SlidingDown; break; } } }
public override void yCollision(Sprite s) { switch (s.name) { case "gps": { if (positionRectangle.Bottom > s.positionRectangle.Top) { positionRectangle.Y = s.positionRectangle.Top - positionRectangle.Height; yVelocity = 0; if (state == State.SlidingDown) { state = State.Slided; } else if (state == State.FallFormBase) { state = State.WalkingtoCastle; } else { state = State.Walking; } } break; } case "brick": { if (positionRectangle.Top < s.positionRectangle.Top) { positionRectangle.Y = s.positionRectangle.Top - positionRectangle.Height; yVelocity = 0; state = State.Walking; } else { s.yCollision(this); positionRectangle.Y = s.positionRectangle.Bottom; state = State.Falling; yVelocity = 1; } break; } case "itemBlock": { if (positionRectangle.Top < s.positionRectangle.Top) { positionRectangle.Y = s.positionRectangle.Top - positionRectangle.Height; yVelocity = 0; state = State.Walking; } else { s.yCollision(this); positionRectangle.Y = s.positionRectangle.Bottom; state = State.Falling; yVelocity = 1; } break; } case "bigMushoom": { if (level == Level.Small) { startTranformation(); } s.canRemove = true; break; } case "flower": { if (level == Level.Big) { startTranformation(2); } if (level == Level.Small) { startTranformation(); } s.canRemove = true; break; } case "star": { startTranformation(3); s.canRemove = true; break; } case "goomba": { Goomba g = s as Goomba; if (isInvisible) { g.die(true); } if (positionRectangle.Top < s.positionRectangle.Top) { positionRectangle.Y = s.positionRectangle.Top - positionRectangle.Height; yVelocity = -1; g.die(); state = State.Walking; } else { if (!HurtInvisible) { startTranformation(1); } break; } break; } case "turtle": { Turtle t = s as Turtle; if (isInvisible) { t.die(); break; } if (t.state == Turtle.State.alive) { if (positionRectangle.Top < s.positionRectangle.Top) { positionRectangle.Y = s.positionRectangle.Top - positionRectangle.Height; yVelocity = -1; t.toShell(); break; } else { if (!HurtInvisible) { startTranformation(1); } break; } } else { if (positionRectangle.Top < s.positionRectangle.Top) { t.stop(); } } break; } } }