aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-03-30 18:24:38 +0200
committerJozanLeClerc <bousset.rudy@gmail.com>2020-03-30 18:24:38 +0200
commit6e27f12e8f780a82f114b42088973363f9a896ff (patch)
treeca69f8e50c30e2bc41c3e8bdf9aa2ee5b1a77e0e
parentIt's moving! (diff)
download42-cub3d-6e27f12e8f780a82f114b42088973363f9a896ff.tar.gz
42-cub3d-6e27f12e8f780a82f114b42088973363f9a896ff.tar.bz2
42-cub3d-6e27f12e8f780a82f114b42088973363f9a896ff.tar.xz
42-cub3d-6e27f12e8f780a82f114b42088973363f9a896ff.tar.zst
42-cub3d-6e27f12e8f780a82f114b42088973363f9a896ff.zip
Pretty coolio
Diffstat (limited to '')
-rw-r--r--map/map_seven.cub1
-rw-r--r--src/ft_bad_boy_actions.c21
-rw-r--r--src/ft_select_bad_boy_action.c5
-rw-r--r--src/ft_time.c28
4 files changed, 34 insertions, 21 deletions
diff --git a/map/map_seven.cub b/map/map_seven.cub
index a72ca1c..636d923 100644
--- a/map/map_seven.cub
+++ b/map/map_seven.cub
@@ -5,6 +5,7 @@ SO ./media/img/tex/plate_small.xpm
EA ./media/img/tex/plate_small.xpm
WE ./media/img/tex/plate_small.xpm
S ./media/img/sprites/pillar.xpm
+S3 ./media/img/sprites/spikes.xpm
F 150,150,150
C 150,150,150
diff --git a/src/ft_bad_boy_actions.c b/src/ft_bad_boy_actions.c
index 6b7b3bf..775e917 100644
--- a/src/ft_bad_boy_actions.c
+++ b/src/ft_bad_boy_actions.c
@@ -13,6 +13,7 @@
#include <libft.h>
#include <cub3d.h>
#include <stdlib.h>
+#include <math.h>
void
ft_bb_wait(t_bad_boy *bl, t_sprite *sl, t_map *ml)
@@ -40,13 +41,21 @@ void
const double old_x = sl->s_pos_x;
const double old_y = sl->s_pos_y;
- r_x = (rand() % 2 == 1) ? (1) : (-1);
- r_y = (rand() % 2 == 1) ? (1) : (-1);
- sl->s_pos_x += 0.3 * (r_x);
- sl->s_pos_y += 0.3 * (r_y);
+ if (FT_OS == 2)
+ {
+ r_x = (random() % 2 == 1) ? (1) : (-1);
+ r_y = (random() % 2 == 1) ? (1) : (-1);
+ }
+ else
+ {
+ r_x = (rand() % 2 == 1) ? (1) : (-1);
+ r_y = (rand() % 2 == 1) ? (1) : (-1);
+ }
+ sl->s_pos_x += (0.1 * r_x);
+ sl->s_pos_y += (0.1 * r_y);
ft_bb_collision(old_y, old_x, sl, ml);
- ml->map[(uint64_t)old_y][(uint64_t)old_x] = '0';
- ml->map[(uint64_t)sl->s_pos_y][(uint64_t)sl->s_pos_x] = 'e';
+ ml->map[lround(old_y)][lround(old_x)] = '0';
+ ml->map[lround(sl->s_pos_y)][lround(sl->s_pos_x)] = 'e';
bl->does = 1;
}
diff --git a/src/ft_select_bad_boy_action.c b/src/ft_select_bad_boy_action.c
index 6b3d2ef..34e0efe 100644
--- a/src/ft_select_bad_boy_action.c
+++ b/src/ft_select_bad_boy_action.c
@@ -25,7 +25,10 @@ void
{
if (cl->bad_boy[i].sleep == 0 && cl->bad_boy[i].life > 0)
{
- r = rand() % 2;
+ if (FT_OS == 2)
+ r = random() % 2;
+ else
+ r = rand() % 2;
cl->bad_boy[i].act[r](&cl->bad_boy[i],
&cl->sprites[13][i], &cl->mlist);
cl->bad_boy[i].sleep = 1;
diff --git a/src/ft_time.c b/src/ft_time.c
index d175bbf..4d33dc8 100644
--- a/src/ft_time.c
+++ b/src/ft_time.c
@@ -38,32 +38,32 @@ void
}
void
- ft_bad_boys_time(clock_t before, t_cub *cl)
+ ft_bad_boys_time(clock_t before, int8_t i, t_cub *cl)
{
- int8_t i;
- static clock_t dt = 0;
+ static clock_t dt[32];
clock_t curr;
curr = clock();
- dt += curr - before;
- i = 0;
- while (i < cl->mlist.sprite_nbr[13])
+ dt[i] += curr - before;
+ if (cl->bad_boy[i].sleep == 1 && dt[i] > 0 && ft_clock_to_ms(dt[i]) > 700.0)
{
- if (cl->bad_boy[i].sleep == 1 && dt > 0 && ft_clock_to_ms(dt) > 600.0)
- {
- cl->bad_boy[i].sleep = 0;
- dt = 0;
- }
- i++;
+ cl->bad_boy[i].sleep = 0;
+ dt[i] = 0;
}
}
void
ft_timings(clock_t before, t_cub *cl)
{
+ int8_t i;
+
+ i = 0;
if (cl->plist.fire == 1)
ft_handle_firing(before, cl);
- if (cl->mlist.sprite_nbr[13] > 0)
- ft_bad_boys_time(before, cl);
+ while (i < cl->mlist.sprite_nbr[13])
+ {
+ ft_bad_boys_time(before, i, cl);
+ i++;
+ }
ft_get_fps_count(before, cl);
}