するプログラムを作ろうとしています。
- テキストを 1 秒間表示してからクリアする
- 乱数の 8*8 ブロックを 100000 回印刷 (移動数装飾) してから
- キーを押したら終了します。
これが私のコードです:
#include stdio;
#include stdlib;
main() {
printf("Welcome to random number V2.0");
usleep(1000);
printf("\033[2J\033[1;1H");
printf("Press X to terminate at any time");
usleep(1000);
printf("\033[2J\033[1;1H");
printf("Program starting");
usleep(500);
printf("\033[2J\033[1;1H");
for(index=0;index<100000;index++) {
Randomnumber;
printf("%s". matrix)
usleep(5);
printf("\033[2J\033[1;1H");
usleep(5);
}
Randomnumber() {
int matrix[9][9];
int index_x;
int index_y;
int index;
for (index_x=0;index_x<9;index_x++) {
for (index_y=0;index_y<9;index_y++) {
/*randomizer code goes here, till change ran# statement*/
matrix [index_x][index_y] = ran
#;
}
}
}
ご覧のとおり、for ループでプログラムを停止する方法が必要です。キーがキーボードにある場合に NULL 以外の値を返す関数を見つけましたがbuffer(kbhit)
、2 つのループから飛び出す方法がわかりません。(ずさんなコードで申し訳ありません。Kbhit
とusleep
は通常の C ライブラリにはありませんが、 で問題なく動作しlcc
ます。)