“二十一天好习惯”第一期-18

前言:

今天加大点难度,直接开始用C语言代码来做一个小游戏:石头剪刀布。这个游戏看似很简单,但是我们这里要跟计算机比猜拳,就要用到一些随机种子函数和头文件了,今天先打算做一个简易版的石头剪刀布,能完成相应功能,输出结果就行,后续会补充更高级的一些代码来实现。

思路分析;

首先要猜拳,肯定要想好自己怎么出拳对吧?我们这里为了简化问题:用1代表拳头,2代表剪刀,3代表布。这里我们出拳问题解决了,那怎么实现计算机也会出拳呢?这里用到了srand((unsigned)time(NULL))函数

用法如下:函数初始化随机种子,会提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数,如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复,常常使用系统时间来初始化,然后再用rand函数对3取余+1,实现随机数从1-3选出一个数,即随机出石头剪刀布,这样电脑出拳的问题也解决了。

最后再用简单的if语句来判定条件来输出游戏结果这个简易版的石头剪刀布就做好了。

代码实现:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
 int player;
 int computer;
 int playerWin = 0, computerWin = 0, balance = 0;
 scanf( "%d", &player );
 while( player != 0 )
 {
  srand( time( NULL ) );
  computer = rand() % 3 + 1;
  if( computer == player )
  {
   printf( "%s\n", "平局" );
   balance++;
  }
  else if( ( player == 1 && computer == 2 ) || ( player == 2 && computer == 3 ) || ( player == 3 && computer == 1 ) )
  {
   printf( "%s\n", "玩家胜利" );
   playerWin++;
  }
  else
  {
   printf( "%s\n", "电脑胜利" );
   computerWin++;
  }
  scanf( "%d", &player );
 }
 printf( "玩家胜利%d次, 电脑胜利%d次,平局%d次\n", playerWin, computerWin, balance );
 return 0;
}

 小结:

因为要用到srand函数和rand函数需要使用stdlib.h和time.h工具箱,之后使用了一连串if条件判断语句实现了对于结果的判定最后到输出结果,这个小程序就做好了。后续依然会对这个游戏进行一个升级,让这个代码高级一点。明天准时更新。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值