int ft_up(t_game *g) { int i[4]; i[2] = g->size * g->size; i[0] = 0; i[3] = 0; while (i[0] < i[2]) { if (!ft_is_empty(g->map[i[0]])) { i[1] = i[0] + g->size; while (i[1] < i[2]) { if (!ft_is_empty(g->map[i[1]])) { if (g->map[i[0]] == g->map[i[1]]) ft_add(g, i); break ; } i[1] += g->size; } } i[0]++; } return (ft_move_up(g->map, g->size) + i[3]); }
int key_hook(int keycode, t_env *mlx) { if (keycode == 65362) ft_move_up(mlx); if (keycode == 65364) ft_move_down(mlx); if (keycode == 65361) { mlx->angle += 11; if (mlx->angle > 360) mlx->angle -= 360; } if (keycode == 65363) { mlx->angle -= 11; if (mlx->angle < 0) mlx->angle += 360; } ft_find_wall(mlx); if (keycode == 65307) { free(mlx->map); exit(0); } return (0); }
void stat_game(t_game *g) { int press; print_game(g); press = getch(); if (press == 'm') { if (g->end == 1) { ft_restart(g); g->start = 0; } g->stat = 0; } else if (press == KEY_UP && g->end != 1) ft_move_up(g); else if (press == KEY_DOWN && g->end != 1) ft_move_down(g); else if (press == KEY_RIGHT && g->end != 1) ft_move_right(g); else if (press == KEY_LEFT && g->end != 1) ft_move_left(g); else if (press == 'r') ft_restart(g); else if (press == 27) ft_del_game(&g); }
static void ft_decision(t_tet *t, int *ok) { int i; int k; k = 0; while (t[k].x > 0) { i = 0; while (i < 4) if (t[k].btet[0][i++] != '.') break ; if (i == 4) ft_move_up(&t[k], ok); i = 0; while (i < 4) if (t[k].btet[i++][0] != '.') break ; if (i == 4) ft_move_left(&t[k], ok); k++; } }