start project with header, struct, mlx functionnal, and basic key event action
This commit is contained in:
9
srcs/hook/key_do_action.c
Normal file
9
srcs/hook/key_do_action.c
Normal file
@@ -0,0 +1,9 @@
|
||||
#include "cube3d.h"
|
||||
|
||||
int shut_down(t_game *game)
|
||||
{
|
||||
mlx_destroy_window(game->mlx_ptr, game->win_ptr);
|
||||
exit(0);
|
||||
free(game);
|
||||
return (0);
|
||||
}
|
||||
41
srcs/hook/key_is_action_1.c
Normal file
41
srcs/hook/key_is_action_1.c
Normal file
@@ -0,0 +1,41 @@
|
||||
#include "cube3d.h"
|
||||
|
||||
int is_esc(int *k_hook)
|
||||
{
|
||||
if (!ft_arrintchr(k_hook, KEY_ESC, 3))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int is_go_left(int *k_hook)
|
||||
{
|
||||
if (!ft_arrintchr(k_hook, KEY_A, 3))
|
||||
return 1;
|
||||
if (!ft_arrintchr(k_hook, KEY_Q, 3))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int is_go_right(int *k_hook)
|
||||
{
|
||||
if (!ft_arrintchr(k_hook, KEY_D, 3))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int is_go_forward(int *k_hook)
|
||||
{
|
||||
if (!ft_arrintchr(k_hook, KEY_W, 3))
|
||||
return 1;
|
||||
if (!ft_arrintchr(k_hook, KEY_Z, 3))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int is_go_backward(int *k_hook)
|
||||
{
|
||||
if (!ft_arrintchr(k_hook, KEY_S, 3))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
38
srcs/hook/keyhook.c
Normal file
38
srcs/hook/keyhook.c
Normal file
@@ -0,0 +1,38 @@
|
||||
#include "cube3d.h"
|
||||
|
||||
// temp, to map all the keys on linux and mac
|
||||
static int print_keycode(int keycode)
|
||||
{
|
||||
ft_putnbrendl(keycode);
|
||||
return(0);
|
||||
}
|
||||
// temp end
|
||||
|
||||
static void keypress_action(int keycode, t_game *game)
|
||||
{
|
||||
// escape
|
||||
if (keycode == 65307)
|
||||
shut_down(game);
|
||||
// left
|
||||
if (keycode == 65361)
|
||||
(game->plr_x) -= 5;
|
||||
// right
|
||||
if (keycode == 65363)
|
||||
(game->plr_x) += 5;
|
||||
// up
|
||||
if (keycode == 65362)
|
||||
(game->plr_y) -= 5;
|
||||
// down
|
||||
if (keycode == 65364)
|
||||
(game->plr_y) += 5;
|
||||
mlx_pixel_put(game->mlx_ptr, game->win_ptr, game->plr_x, game->plr_y, 0x74db74);
|
||||
}
|
||||
|
||||
int keypress(int keycode, t_game *game)
|
||||
{
|
||||
// temp
|
||||
print_keycode(keycode);
|
||||
|
||||
keypress_action(keycode, game);
|
||||
return (0);
|
||||
}
|
||||
Reference in New Issue
Block a user