kadai06
#include <stdio.h>
const int NUM = 10;
const int TRESURE_X = 3;
const int TRESURE_Y = 5;
const int CHANCE_MAX = 4;
bool InputCheck( int input_x, int input_y );//入力座標(biāo)一致を判定
void CheckerBoard( int input_x, int input_y ); // 基盤目表示
void SuccessMsg( bool get_treasure );//"SUCCESS"/"FAILURE"表示
bool GameOver( int chance );//ゲーム終了判定
bool Success( int input_x, int input_y );//寶物と入力座標(biāo)の一致判定
int main( ) {
int counter = CHANCE_MAX;;//計(jì)數(shù)器
bool get_treasure = false;
while ( counter < CHANCE_MAX && !get_treasure ) {
int input_x;
int input_y;
printf( "input>" );
scanf_s( "%d %d", &input_x, &input_y );
if ( !InputCheck( input_x, input_y ) ) {
printf( "入力エラーです。\n" );
continue;
}
counter++;//計(jì)數(shù)器+1
get_treasure = Success( input_x, input_y );
CheckerBoard( input_x, input_y );
SuccessMsg(? get_treasure );
}
if ( get_treasure ) {
printf( "COMPLETE" );
} else {
printf( "GAMEOVER" );
}
return 0;
}
//入力座標(biāo)一致を判定
bool InputCheck( int input_x, int input_y ) {
return
input_x >= 0 && input_x << NUM &&
input_y >= 0 && input_y << NUM;
}
//基盤目表示
void CheckerBoard( int input_x, int input_y ) {
printf( "? " );
for ( int i = 0; i < NUM; i++ ) {
printf( "%2d", i );
}
printf( "\n" );
for ( int i = 0; i < NUM; i++ ) {
printf( "%2d", i );
for ( int j = 0; j < NUM; j++ ) {
if ( j == input_x &&
i == input_y ) {
printf( "■" );
} else {
printf( "□" );
}
}
printf( "\n" );
}
}
//"SUCCESS"/"FAILURE"表示
void SuccessMsg( bool get_treasure ) {
if ( get_treasure ) {
printf( "COMPLETE" );
} else {
printf( "GAMEOVER" );
}
}
//寶物と入力座標(biāo)の一致判定
bool Success( int input_x, int input_y ) {
if ( input_x == TRESURE_X &&
input_y == TRESURE_Y ) {
/*get_treasure*/ = true;
}
//ゲーム終了判定
bool GameOver( int chance ) {
return chance == CHANCE_MAX;
}