#include void main_menu(void);
void score_menu(int score);
void help_menu(void);
int play_game(void) ;
int main() {
char main_menu_choose;
int score = 0;
while (1) {
main_menu(); //输出主菜单目录
main_menu_choose = 'y';
do {
char temp;
temp = getch();
if (temp >= '0' && temp <= '3') {
main_menu_choose = temp;
}
} while (main_menu_choose == 'y');
switch(main_menu_choose){
case '0':
return 0;
case '1':
score = play_game();
break;
case '2':
score_menu(score);
break;
case '3':
help_menu();
break;
default :
break;
}
}
}
void main_menu(void)
{
printf("1:开始游戏!2:查看上次成绩!3:输出帮助信息!0:退出程序!\n");
return ;
}
void score_menu(int score)
{
printf("分数是:%d\n", score);
printf("任意键返回主目录:\n");
getch();
return ;
}
void help_menu(void)
{
printf("帮助信息:\n");
printf("任意键返回主目录:\n");
getch();
return ;
}
int play_game(void) {
char target[4];
char guess[4];
int input_flag;
char game_flag;
char input_temp;
unsigned int i, j, x, y;
int score = 100;
srand(time(NULL));
target[0] = '0' + rand() % 10;
target[1] = '0' + rand() % 10;
target[2] = '0' + rand() % 10;
target[3] = '0' + rand() % 10;
printf("Input your guess:\n");
game_flag = 'y';
while (game_flag == 'y' || game_flag == 'Y') {
input_flag = 3;
printf("输入你猜测的数值:\n");
while (input_flag >= 0) {
input_temp = getchar();
guess[input_flag] = input_temp;
input_flag--;
if(input_temp == 'n' || input_temp == 'N'){
game_flag = 'n';
}
}
x = y = 0;
for (i = 0; i < 4; ++i) {
if (target[i] == guess[i]) {
x++;
}
for (j = i + 1; j < 4; ++j) {
if (target[i] == guess[j]) {
y++;
}
}
}
if (x != 4) {
printf("%dA %dB\n", y, x);
getchar();
score -= 10;
} else {
printf("恭喜你猜对了!\n");
return score;
}
}
return 0;
}
界面不是很好,留给你自己设计了。