void erreur_menu(t_env* env) { id_print_str("\033[00;40m"); tputs(env->cl, 1, id_put); id_print_str("error MENY"); sleep(10); }
va_list check(t_list* begin, const char* format, va_list a_list, int* pt_count) { if (format[*pt_count + 1] == '#') { *pt_count = *pt_count + 1; id_print_str("0x"); } if (format[*pt_count + 1] == '+') { *pt_count = *pt_count + 1; id_print_str("+"); } while (begin->next != 0) { if (format[*pt_count + 1] == begin->value[0]) { *pt_count = *pt_count + 1; if (begin->value[0] != '0' && begin->value[0] != '.') a_list = search_func_type(a_list, begin); else a_list = search_func_type_spe(a_list, begin, format, pt_count); return a_list; } begin = begin->next; } return a_list; }
void error_resize(t_env* env) { id_print_str("\033[00;40m"); tputs(env->cl, 1, id_put); id_print_str("Desoler mais cet application ne gere pas les resize\n"); id_print_str("Appuyer sur la barre d espace pour relancer une partie\n"); restart_level(env); }
void move_balle(t_env* env) { tputs(tgoto(env->cm, env->balle.x, env->balle.y), 1, id_put); id_print_str("\033[01;40m "); env->balle.x = env->balle.x + env->balle.addx; env->balle.y = env->balle.y + env->balle.addy; tputs(tgoto(env->cm, env->balle.x, env->balle.y), 1, id_put); id_print_str("\033[01;40m0"); usleep(10000); }
void show_mur(t_mur* begin, t_env* env) { while (begin->next != 0) { tputs(tgoto(env->cm, begin->brick.x, begin->brick.y), 1, id_put); id_print_str("\033[01;46m "); id_print_str("\033[01;46m "); id_print_str("\033[01;46m "); id_print_str("\033[01;46m "); begin = begin->next; } }
int get_arg(int argc, char** argv, t_arg* arg) { int i; arg->name_process = 0; arg->delay = 200; if (argc < 2) { id_print_str(":: Invalid argument\n Use -h or --help\n"); return 1; } if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0) { print_help(); return 0; } else arg->name_process = argv[1]; i = 2; while (argv[i] != 0) { if (strcmp(argv[i], "-d") == 0 || strcmp(argv[i], "--delay") == 0) { if (argv[i + 1] == 0) id_print_str(":: The option 'Delay' is not complete, delay will be set at '200'\n"); else { i = i + 1; arg->delay = atoi(argv[i]); } } else { id_print_str(":: Invalid argument : '"); id_print_str(argv[i]); id_print_str("'\n Use -h or --help\n"); return 1; } i = i + 1; } return 0; }
void init_balle(t_env* env) { srand(time(0)); env->balle.x = (env->w / 2) - ((env->w / 100) * 3); env->balle.y = 5 * (env->h / 6) - 1; env->balle.addx = 1 - (rand() % 2) * 2; env->balle.addy = -1; tputs(tgoto(env->cm, env->balle.x, env->balle.y), 1, id_put); id_print_str("\033[01;40m0"); }
void finish(t_env* env) { int x; int y; t_mur mur; x = env->w / 2; y = env->h / 2; tputs(tgoto(env->cm, x - 11, y), 1, id_put); id_print_str("Niveau suivant..."); sleep(3); env->level.lvl = env->level.lvl + 1; env->level.n_mur = env->level.n_mur + 2; init_cadre(env); init_mur(&mur, env); init_balle(env); init_barre(env); tputs(tgoto(env->cm, 0, 1), 1, id_put); id_print_str("\033[22;32mLevel: "); id_print_nbr(env->level.lvl); sleep(3); run(env, &mur); }
void actu_score(t_env* env) { int x; x = 0; env->player.point = env->player.point + 10; while (x != env->w) { tputs(tgoto(env->cm, x, 0), 1, id_put); id_print_char(' '); x = x + 1; } tputs(tgoto(env->cm, 0, 0), 1, id_put); id_print_str("\033[22;32mPlayer Score: "); id_print_nbr(env->player.point); }
int inspect_proccess(t_arg* arg) { char* path; int fd; int ret; path = 0; gl_run = 1; if (get_proc_path(&path, arg)) return 1; ret = 0; while (gl_run) { fd = open(path, O_RDONLY); if (fd < 0) { if (errno == ENOENT) { ret = get_proc_path(&path, arg); if (ret == -1) { ret = 1; gl_run = 0; } } else { ret = fatal(2, strerror(errno), 1); gl_run = 0; } } else { id_print_str("OK\n"); // read(); if (close(fd) == -1) ret = fatal(2, strerror(errno), 1); } usleep(arg->delay * 1000); } free(path); return ret; }
int main(void) { int i; char* str; char** str2; t_list* begin; begin = init(); while (1) { id_print_str("SHELL BLOODEAD SERENIIITY: "); str = id_getline(0); str2 = (char**)id_str_to_word_tab(str); if (check_list(begin,str2) == 0) id_print_error(str2); id_free(str, str2, begin); } free(begin); return (0); }
void destroy_brick(t_mur* mur, t_env* env) { int x; int count; count = 0; x = mur->brick.x; while (count != 4) { tputs(tgoto(env->cm, x, mur->brick.y), 1, id_put); id_print_str("\033[01;40m "); count = count + 1; x = x + 1; } mur->brick.y = -1; mur->brick.x = -1; env->level.mur = env->level.mur - 1; if (env->level.mur == 0) { free(mur); finish(env); } }
void print_help() { id_print_str("./topy\t[-d, --delay DELAY]\n"); id_print_str(" \t[-h / --help]\n"); }
void id_print_error(char** str) { id_print_str(str[0]); id_print_str(": command not found"); id_print_str("\n"); }
void error_size(t_env* env) { id_print_str("\033[00;40m"); tputs(env->cl, 1, id_put); id_print_str("PROBLEME d affichage"); }