石头剪刀布c语言成型代码
时间: 2023-10-01 13:06:45 浏览: 63
好的,以下是一个简单的石头剪刀布游戏的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROCK 0
#define PAPER 1
#define SCISSORS 2
int generateComputerMove();
int getHumanMove();
void printMoveName(int move);
int determineWinner(int humanMove, int computerMove);
int main() {
int humanMove, computerMove, result;
srand(time(NULL)); // 设置随机种子
printf("欢迎来到石头剪刀布游戏!\n");
printf("请进行你的选择:\n");
printf("0 - 石头\n");
printf("1 - 剪刀\n");
printf("2 - 布\n");
humanMove = getHumanMove();
computerMove = generateComputerMove();
printf("你选择了:");
printMoveName(humanMove);
printf("计算机选择了:");
printMoveName(computerMove);
result = determineWinner(humanMove, computerMove);
if (result == 0) {
printf("平局!\n");
} else if (result == 1) {
printf("你赢了!\n");
} else {
printf("你输了!\n");
}
return 0;
}
int generateComputerMove() {
return rand() % 3;
}
int getHumanMove() {
int move;
scanf("%d", &move);
return move;
}
void printMoveName(int move) {
switch(move) {
case ROCK:
printf("石头\n");
break;
case PAPER:
printf("剪刀\n");
break;
case SCISSORS:
printf("布\n");
break;
default:
printf("无效选择\n");
}
}
int determineWinner(int humanMove, int computerMove) {
if (humanMove == computerMove) {
return 0; // 平局
} else if ((humanMove == ROCK && computerMove == SCISSORS)
|| (humanMove == SCISSORS && computerMove == PAPER)
|| (humanMove == PAPER && computerMove == ROCK)) {
return 1; // 人赢
} else {
return -1; // 人输
}
}
```
这段代码实现了一个简单的石头剪刀布游戏,通过随机生成计算机的选择,并与玩家的选择进行比较,最终判断输赢并输出结果。你可以根据需要进行修改和扩展。