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");
}

コメント