欢迎光临散文网 会员登陆 & 注册

kadai06

2022-10-28 09:27 作者:离渊一道墙  | 我要投稿

#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 );//入力座標一致を判定

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 );//宝物と入力座標の一致判定


int main( ) {

int counter = CHANCE_MAX;;//计数器

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++;//计数器+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;

}

//入力座標一致を判定

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

}

}

//宝物と入力座標の一致判定

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;

}


kadai06的评论 (共 条)

分享到微博请遵守国家法律