survivor

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

commit
60aae1d855af0aed888aab5c99d68ae5ef41851a
parent
fc2f6da45b32fd0fc68e9571662a48f6d169dee7
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2023-02-19 17:52
refactor get_enemy

Diffstat

M src/enemies.rs 89 +++++++++++++++++++++----------------------------------------

1 files changed, 30 insertions, 59 deletions


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

@@ -122,65 +122,36 @@ const SHADOW: EnemyType = EnemyType {
  122   122 };
  123   123 
  124   124 pub fn get_enemy(x: f32, y: f32, i: usize) -> Enemy {
  125    -1     let n = 50;
  126    -1 
  127    -1     let t: &EnemyType = if i < 1 * n {
  128    -1         &SNAKE
  129    -1     } else if i < 3 * n {
  130    -1         if i % 2 == 0 {
  131    -1             &SNAKE
  132    -1         } else {
  133    -1             &SKELETON
  134    -1         }
  135    -1     } else if i < 4 * n {
  136    -1         &BAT
  137    -1     } else if i < 6 * n {
  138    -1         &ZOMBIE
  139    -1     } else if i < 8 * n {
  140    -1         if i % 2 == 0 {
  141    -1             &BAT
  142    -1         } else {
  143    -1             &SKELETON
  144    -1         }
  145    -1     } else if i < 9 * n {
  146    -1         if i % 2 == 0 {
  147    -1             &BAT
  148    -1         } else {
  149    -1             &EYE
  150    -1         }
  151    -1     } else if i < 11 * n {
  152    -1         &GHOST
  153    -1     } else if i < 13 * n {
  154    -1         if i % 2 == 0 {
  155    -1             &BAT2
  156    -1         } else {
  157    -1             &ZOMBIE
  158    -1         }
  159    -1     } else if i < 15 * n {
  160    -1         if i % 2 == 0 {
  161    -1             &ZOMBIE
  162    -1         } else {
  163    -1             &MUMMY
  164    -1         }
  165    -1     } else if i < 18 * n {
  166    -1         &HOOD
  167    -1     } else if i < 20 * n {
  168    -1         if i % 2 == 0 {
  169    -1             &SNAKE
  170    -1         } else {
  171    -1             &PLANTGUY
  172    -1         }
  173    -1     } else if i < 22 * n {
  174    -1         if i % 2 == 0 {
  175    -1             &SKELETON2
  176    -1         } else {
  177    -1             &CRAWL
  178    -1         }
  179    -1     } else if i < 23 * n {
  180    -1         &CRAWL
  181    -1     } else {
  182    -1         &SHADOW
  183    -1     };
   -1   125     let waves = [
   -1   126         vec![&SNAKE, &SNAKE],
   -1   127         vec![&SNAKE, &SKELETON],
   -1   128         vec![&SNAKE, &SKELETON],
   -1   129         vec![&BAT],
   -1   130         vec![&ZOMBIE],
   -1   131         vec![&ZOMBIE],
   -1   132         vec![&BAT, &SKELETON],
   -1   133         vec![&BAT, &SKELETON],
   -1   134         vec![&BAT, &EYE],
   -1   135         vec![&GHOST],
   -1   136         vec![&GHOST],
   -1   137         vec![&BAT2, &ZOMBIE],
   -1   138         vec![&BAT2, &ZOMBIE],
   -1   139         vec![&MUMMY, &ZOMBIE],
   -1   140         vec![&MUMMY, &ZOMBIE],
   -1   141         vec![&HOOD],
   -1   142         vec![&HOOD],
   -1   143         vec![&HOOD],
   -1   144         vec![&SNAKE, &PLANTGUY],
   -1   145         vec![&SNAKE, &PLANTGUY],
   -1   146         vec![&SKELETON2, &CRAWL],
   -1   147         vec![&SKELETON2, &CRAWL],
   -1   148         vec![&CRAWL],
   -1   149         vec![&SHADOW],
   -1   150         vec![&SHADOW],
   -1   151     ];
   -1   152 
   -1   153     let wave = &waves[(i / 50) % waves.len()];
   -1   154     let t = wave[i % wave.len()];
  184   155 
  185   156     return Enemy {
  186   157         x: x,