栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

前言:

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

思路分析;

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

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

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

代码实现:
#include 
#include 
#include 
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( "%sn", "平局" );
   balance++;
  }
  else if( ( player == 1 && computer == 2 ) || ( player == 2 && computer == 3 ) || ( player == 3 && computer == 1 ) )
  {
   printf( "%sn", "玩家胜利" );
   playerWin++;
  }
  else
  {
   printf( "%sn", "电脑胜利" );
   computerWin++;
  }
  scanf( "%d", &player );
 }
 printf( "玩家胜利%d次, 电脑胜利%d次,平局%d次n", playerWin, computerWin, balance );
 return 0;
}
 小结:

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/457846.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号