pragma mark 石头剪刀布
/**
* 随机数(函数库 stdlib.h)
* arc4random_uniform(n) 生成 的值就是 0~(n-1)的值
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*
有两个角色 : 玩家(我)、电脑
两个角色 都可以出 0 == 石头/ 1 == 剪刀/ 2 == 布
由于我们不知道玩家和电脑到底出的是什么拳,所以我们用0,1,2来代替石头/剪刀/布
玩家的出拳可以让用户输入
电脑的出拳必须 生产 一个随机数, 如何生成随机数?
将玩家的出拳和电脑的出拳进行比较, 得到比赛结果
石头 > 剪刀
剪刀 > 布
布 > 石头
*/
// 1. 生成 电脑的出拳
// arc4random_uniform方法会根据传入的整数 生成一个随机数
// 生成 的值就是 0~(N-1)的值
int cmp = arc4random_uniform(3);
// printf("cmp = %i\n",cmp);
// 2. 接收玩家的出拳
// 2.1 定义变量保存玩家的出拳
int player = - 1;
// 2.2 利用scanf 接收
printf("请输入出拳,0代表石头, 1代表剪刀,2代表布\n");
scanf("%i",&player);
/*
if (玩家石头 电脑剪刀 ||
玩家剪刀 电脑布 ||
玩家布 电脑石头)
{
printf("玩家 胜利");
}
else if (电脑石头 玩家剪刀 ||
电脑剪刀 玩家布 ||
电脑布 玩家石头)
{
printf("电脑获胜");
}
else
{
printf("平局");
}
*/
// 3. 比较玩家和电脑的出拳
if (((0==player)&& (1==cmp)) ||
((1==player)&& (2==cmp)) ||
((2==player)&& (0==cmp)))
{
printf("玩家 胜利\n");
}
else if (((0==cmp)&& (1==player)) ||
((1==cmp)&& (2==player)) ||
((2==cmp)&& (0==player)))
{
printf("电脑 胜利\n");
}
else
{
printf("平局\n");
}
// 4. 输出结果
printf("player %i, cmp %i\n",player,cmp);
return 0;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。