3secGame.c
/* 3secGame.c : 3秒以内に答えないとゲームオーバー(複数問題出題バージョン) */ #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> #define MAX 2 void main(void) { int key ; double startTime, endTime, totalTime ; int i; /* 問題 */ char mondai[][256] = { "信号の一番右は?\n1)青 2)赤 3)黄", "一円玉の直径は?\n1)1.5cm 2)1cm 3)2cm" }; /* 正解番号 */ int kotae[] = {'2', '3'}; /* 問題数ループする */ for(i=0; i<MAX; i++){ printf("\n【問%2d】%s ------> ", i+1, mondai[i]) ; startTime = clock() ; /* ゲームループ */ key = 0; while (1) { if ( kbhit() ) { // キー入力がされたら判定 key = getch() ; printf("%c\n", key ) ; break ; } endTime = clock() ; totalTime = endTime - startTime ; if ( totalTime > 3000.0 ) { // 3秒経過したらタイムオーバー printf("\n時間切れ!\n") ; break; } } if ( key == kotae[i] ) { printf("正解!\n") ; } else { printf("ぶっぶー!\n") ; } } /* 全問題終了 */ printf("\n\n《問題終了》\n"); }
コメント