| 102 |
moveto(0, 0); |
moveto(0, 0); |
| 103 |
} |
} |
| 104 |
|
|
| 105 |
int press_any_key() |
inline int press_any_key() |
| 106 |
|
{ |
| 107 |
|
return press_any_key_ex(" \033[1;33m按任意键继续...\033[m", 60); |
| 108 |
|
} |
| 109 |
|
|
| 110 |
|
int press_any_key_ex(const char *msg, int sec) |
| 111 |
{ |
{ |
| 112 |
int ch = 0; |
int ch = 0; |
|
int wait_seconds = 60; |
|
| 113 |
int duration = 0; |
int duration = 0; |
| 114 |
time_t t_begin = time(NULL); |
time_t t_begin = time(NULL); |
| 115 |
|
|
| 116 |
moveto(SCREEN_ROWS, 0); |
moveto(SCREEN_ROWS, 0); |
| 117 |
clrtoeol(); |
clrtoeol(); |
| 118 |
|
|
| 119 |
prints(" \033[1;33m按任意键继续...\033[0;37m"); |
prints(msg); |
| 120 |
iflush(); |
iflush(); |
| 121 |
|
|
| 122 |
|
igetch_reset(); |
| 123 |
|
|
| 124 |
do |
do |
| 125 |
{ |
{ |
| 126 |
ch = igetch_t(wait_seconds - duration); |
ch = igetch_t(sec - duration); |
| 127 |
duration = (int)(time(NULL) - t_begin); |
duration = (int)(time(NULL) - t_begin); |
| 128 |
} while (!SYS_server_exit && ch == 0 && duration < 60); |
} while (!SYS_server_exit && ch == 0 && duration < 60); |
| 129 |
|
|