#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
char gesture[3][10] = { "scissor", "stone", "cloth" };
int man, computer, result, ret;
srand(time(NULL));
while (1) {
computer = rand() % 3;
printf("\nInput your gesture (0-scissor 1-stone 2-cloth):\n");
ret = scanf("%d", &man);
if (ret != 1 || man < 0 || man > 2) {
printf("Invalid input!\n");
return 1;
}
printf("Your gesture: %s\tComputer's gesture: %s\n",
gesture[man], gesture[computer]);
result = (man - computer + 4) % 3 - 1;
if (result > 0)
printf("You win!\n");
else if (result == 0)
printf("Draw!\n");
else
printf("You lose!\n");
}
return 0;
}
这个问题其实很有意思,最重要的是result = (man - computer + 4) % 3 -1 是怎么实现石头剪刀布在游戏中的意义的,欢迎大家到这里讨论留言,大家一起学习,一起进步,谢谢!
本文介绍了一个简单的石头剪刀布游戏程序实现,通过C语言展示了如何使用随机数生成计算机的选择,并通过一个巧妙的公式计算游戏结果。文章还探讨了核心公式的实际意义。
88

被折叠的 条评论
为什么被折叠?



