c语言猜拳游戏代码,需要有至少6个功能选择,至少需要5个函数。并且写出该程序详细的的思路
时间: 2024-03-25 16:42:10 浏览: 22
好的,下面是一个简单的c语言猜拳游戏代码,包含6个功能选择,以及5个函数。首先是代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 定义常量
#define ROCK 1
#define PAPER 2
#define SCISSORS 3
// 函数声明
int menu(void);
int get_player_choice(void);
int get_computer_choice(void);
void show_result(int player_choice, int computer_choice);
int play_again(void);
int main(void) {
int player_choice, computer_choice, result, play_again_choice;
srand((unsigned) time(NULL)); // 初始化随机数发生器
do {
player_choice = get_player_choice();
computer_choice = get_computer_choice();
show_result(player_choice, computer_choice);
play_again_choice = play_again();
} while (play_again_choice);
printf("Bye!\n");
return 0;
}
// 显示菜单,并获取玩家选择
int menu(void) {
int choice;
printf("1. rock\n");
printf("2. paper\n");
printf("3. scissors\n");
printf("0. quit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
return choice;
}
// 获取玩家选择
int get_player_choice(void) {
int choice;
do {
choice = menu();
} while (choice < 0 || choice > 3);
return choice;
}
// 获取电脑选择
int get_computer_choice(void) {
int choice;
choice = rand() % 3 + 1;
return choice;
}
// 显示结果
void show_result(int player_choice, int computer_choice) {
printf("You choose ");
switch (player_choice) {
case ROCK:
printf("rock.\n");
break;
case PAPER:
printf("paper.\n");
break;
case SCISSORS:
printf("scissors.\n");
break;
}
printf("Computer choose ");
switch (computer_choice) {
case ROCK:
printf("rock.\n");
break;
case PAPER:
printf("paper.\n");
break;
case SCISSORS:
printf("scissors.\n");
break;
}
if (player_choice == computer_choice) {
printf("Tie!\n");
} else if (player_choice == ROCK && computer_choice == SCISSORS ||
player_choice == PAPER && computer_choice == ROCK ||
player_choice == SCISSORS && computer_choice == PAPER) {
printf("You win!\n");
} else {
printf("Computer win!\n");
}
}
// 询问是否再玩一次
int play_again(void) {
int choice;
printf("Play again? (1 for yes, 0 for no): ");
scanf("%d", &choice);
return choice;
}
```
下面是该程序的思路:
1. 首先定义了三种手势,即`ROCK`、`PAPER`、`SCISSORS`的常量。
2. 然后定义了五个函数,包括`menu`、`get_player_choice`、`get_computer_choice`、`show_result`和`play_again`。
3. 在`main`函数中,先初始化随机数发生器,然后进入游戏循环。
4. 在游戏循环中,先获取玩家选择,再获取电脑选择,然后显示结果,并询问是否再玩一次。
5. 如果玩家选择再玩一次,则回到游戏循环的开头,否则结束游戏。
希望这个程序对你有所帮助。