survivor

graphical action game for the linux terminal
git clone https://git.ce9e.org/survivor.git

commit
0229c49777dea8d4b21dc45d756cddbfb5e877fa
parent
1ca9fd2701689bbcec0cf9eda1333565d1fe3795
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2023-04-09 17:41
add knockback

Diffstat

M src/game.rs 10 ++++++++++

1 files changed, 10 insertions, 0 deletions


diff --git a/src/game.rs b/src/game.rs

@@ -261,6 +261,10 @@ impl Game {
  261   261             let size = enemy.t.size + self.player.size;
  262   262             if dx2 + dy2 * 4.0 < size * size {
  263   263                 self.player.health -= enemy.t.power * dt;
   -1   264 
   -1   265                 let d = (dx2 + dy2).sqrt();
   -1   266                 enemy.p.x -= dx / d * 3.0;
   -1   267                 enemy.p.y -= dy / d * 3.0;
  264   268             }
  265   269 
  266   270             if dx2 + dy2 < self.player.damage_radius * self.player.damage_radius {
@@ -271,6 +275,12 @@ impl Game {
  271   275                     let projectile_size = enemy.t.size + weapon.size;
  272   276                     if projectile.p.in_radius(&enemy.p, projectile_size) {
  273   277                         enemy.health -= weapon.damage * self.player.power * dt;
   -1   278 
   -1   279                         let dx = projectile.p.x - enemy.p.x;
   -1   280                         let dy = projectile.p.y - enemy.p.y;
   -1   281                         let d = (dx * dx + dy * dy).sqrt();
   -1   282                         enemy.p.x -= dx / d * 3.0;
   -1   283                         enemy.p.y -= dy / d * 3.0;
  274   284                     }
  275   285                 }
  276   286             }