今天加大点难度,直接开始用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条件判断语句实现了对于结果的判定最后到输出结果,这个小程序就做好了。后续依然会对这个游戏进行一个升级,让这个代码高级一点。明天准时更新。



