TC学习记录之——毫秒计时,方向键控制字符下落速度
- C/C++ code
#include <time.h>#define upkey 72#define downkey 80#define addkey '+'#define subkey '-'#define spacekey ' '#define esckey 27/*#define CLK_TCK CLOCKS_PER_SEC*/signed float mysleep(signed float delay){ float time_start, time_end; time_start = clock(); time_end = clock(); if (delay < 0) { printf("value overflow\n"); delay = 0; } while ((time_end - time_start) / CLK_TCK < delay) { time_end = clock(); } return delay;}void mygotoxy(int x, int y){ system("cls"); while (y--) { printf("\n"); } while (x--) { printf(" "); }}main(){ float time_i = 1; int key, x = 10, y = 1, symbol; while (1) { while (y <= 15) { while (kbhit()) { key = getch(); switch (key) { case upkey: time_i = time_i - 0.1; if (time_i <= 0) time_i = 0; break; case downkey: time_i = time_i + 0.1; break; case addkey: time_i = time_i - 0.1; if (time_i <= 0) time_i = 0; break; case subkey: time_i = time_i + 0.1; break; case spacekey: time_i = 1; break; case esckey: exit(0); } } mygotoxy(x, y++); printf("$"); mysleep(time_i); } y = 1; mygotoxy(x, y); }}[解决办法]