A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. //
  2. //  main.c
  3. //  剪刀石头布
  4. //
  5. //  Created by apple on 15/5/24.
  6. //  Copyright (c) 2015年 双元课堂(王建军). All rights reserved.
  7. //

  8. #include <stdio.h>
  9. #include <stdlib.h>

  10. int main(int argc, const char * argv[]) {
  11.    
  12.     printf("欢迎来到石头剪刀布游戏!\n");
  13.     int flag=0;
  14.     printf("输入0进入游戏,退出游戏请输入其他数字!\n");
  15.     scanf("%d",&flag);
  16.     while(!flag)
  17.     {
  18.         int clientCount=0;
  19.         int computerCount = arc4random_uniform(3)+1;
  20.         
  21.         printf("请输入一个1-3的整数重新进入游戏,输入其他数退出游戏\n");
  22.         scanf("%d",&clientCount);
  23.         
  24.         if(clientCount==computerCount)
  25.         {
  26.             printf("真遗憾,平局!\n");
  27.         }
  28.         else if((computerCount==1&&clientCount==2)||(computerCount==2&&clientCount==3)||(computerCount==3&&clientCount==1))
  29.         {
  30.             printf("恭喜你,赢了!\n");
  31.         }
  32.         
  33.         else if((computerCount==1&&clientCount==3)||(computerCount==2&&clientCount==1)||(computerCount==3&&clientCount==2))
  34.         {
  35.             
  36.             printf("运气太臭,输了!\n");
  37.         }
  38.         else
  39.         {
  40.             flag=1;
  41.         }
  42.       
  43.     }
  44.   printf("退出游戏!\n");
  45.     return 0;
  46. }
复制代码

27 个回复

倒序浏览
我最近也学这个了,我也弄了一,呵呵,挺逗比的.
  1. #include <stdio.h>

  2. #include <stdlib.h>

  3. char again = 'y';
  4. void game()
  5. {
  6.     //定义两个变量,用来储存电脑和人的出拳,
  7.     int computer=0,person=0;
  8.    
  9.     //随机3个数字,用来当做电脑的出拳(因为个人不喜欢0,所以在得到0时会重新生成直到得到1,2,3).
  10.     while (computer == 0) {
  11.         
  12.         computer = arc4random_uniform(4);
  13.     }
  14.    
  15.     //提示用户输入相对应的数字用来表示想出的拳
  16.     printf("请输入您想出的拳所对应的数字:\n1--剪刀\t2--石头\t3--布\n");
  17.    
  18.     scanf("%d",&person);
  19.    
  20.     //判定输入是否合法
  21.     while(person >=4||person <= 0) {
  22.         
  23.         //提示用户输入相对应的数字,表示想出的拳
  24.         printf("您的输入有误!\n请重新输入您想出的拳所对应的数字:\n1--剪刀\t2--石头\t3--布\n");
  25.         
  26.         scanf("%*c%d",&person);
  27.     }
  28.    
  29.     //输出电脑所出的拳,以说明游戏的平衡机制
  30.     if (computer==1) {
  31.         
  32.         printf("电脑出的是:剪刀\tPS:咔嚓咔嚓!\n\n");
  33.         
  34.     }else if (computer==2){
  35.         
  36.         printf("电脑出的是:石头\tPS:我很硬哦!\n\n");
  37.         
  38.     }else {
  39.         
  40.         printf("电脑出的是:布\tPS:来吧来吧!\n\n");
  41.     }
  42.    
  43.     //一切准备就绪然后进行输赢比较及输出
  44.     if (person==1&&computer==3) {
  45.         
  46.         printf("<<<<<<<<你赢了>>>>>>>>\n大哥!老弟错了,饶过我这次吧.您的<<剪刀>>太锋利了,您赢了!!!\n\n[呵呵,再来一次?(输入y继续,任意键结束)]\n");
  47.         
  48.     }else if (person==2&&computer==1){
  49.         
  50.         printf("<<<<<<<<你赢了>>>>>>>>\n我勒个去,我发誓刚刚是我大意了,你的<<石头>>太硬了 --!\n\n[呵呵,再来一次?(输入y继续,任意键结束)]\n");
  51.         
  52.     }else if (person==3&&computer==2){
  53.         
  54.         printf("<<<<<<<<你赢了>>>>>>>>\n难道这是命运?如果老天再给我一次机会的话,我一定能赢你出的<<布>>!!!\n\n[呵呵,再来一次?(输入y继续,任意键结束)]\n");
  55.         
  56.     }else if (person==1&&computer==2){
  57.         
  58.         printf("<<<<<<<<你输了>>>>>>>>\n呵呵,知道我的厉害了吧??就凭你的<<剪刀>>也想赢我???送你2个字:白日...做梦!\n\n[不服气?再来一次?(输入y继续,任意键结束)]\n");
  59.         
  60.     }else if (person==2&&computer==3){
  61.         
  62.         printf("<<<<<<<<你输了>>>>>>>>\n呵呵,跟你玩这个我都让你一个手的!就凭你的<<石头>>也想赢我???送你2个字:白日...做梦!\n\n[不服气?再来一次?(输入y继续,任意键结束)]\n");
  63.         
  64.     }else if (person==3&&computer==1){
  65.         
  66.         printf("<<<<<<<<你输了>>>>>>>>\n呵呵,你回去修炼一千年再来找我挑战吧!就凭你的<<布>>也想赢我???送你1个字:你...太嫩!\n\n[不服气?再来一次?(输入y继续,任意键结束)]\n");
  67.         
  68.     }else{
  69.         
  70.         printf("<<<<<<<<平手了>>>>>>>>\n骚年,看你年纪平平居然身手这么了得,居然跟我打个平手!\n\n[输入y继续,任意键结束.]\n");
  71.     }
  72.    
  73.     //接收用户输入用来判定是否继续游戏
  74.     scanf("%*c%c",&again);
  75. }
  76. //game over...

  77. int main()
  78. {
  79.     //用来判定用户是否进行下次游戏.
  80.     while (1)
  81.         
  82. //        if (again == 'y')
  83. //        {
  84. //            game();
  85. //        
  86. //        }else
  87. //        {
  88. //            return 0;
  89. //        }
  90.     switch (again)
  91.     {
  92.         case 'y' : game();
  93.                     break;
  94.         default : return 0;
  95.     }

  96.     return 0;
  97. }
复制代码



回复 使用道具 举报
定义的函数名 看着好心酸,好累:lol
回复 使用道具 举报
慢慢长征路。。。。
回复 使用道具 举报
基础还没学完,进班了吗?
回复 使用道具 举报
不错!!!!
回复 使用道具 举报
进来看看           
回复 使用道具 举报

纯灌水啊
回复 使用道具 举报
李闯 发表于 2015-5-24 20:18
定义的函数名 看着好心酸,好累

闯哥 求抱大腿啊
回复 使用道具 举报
CQY 中级黑马 2015-6-13 18:16:58
10#
好强大的呀,
回复 使用道具 举报
过来学学经验..
回复 使用道具 举报
aofex 中级黑马 2015-6-13 21:07:19
12#
评论下  收藏了
回复 使用道具 举报
刚学过去这个,哈哈 还行吧
回复 使用道具 举报
goldboy 来自手机 中级黑马 2015-6-13 22:16:59
14#
石头剪刀布应该有很多种写法
回复 使用道具 举报
lipeng524824 来自手机 中级黑马 2015-6-13 23:04:19
15#
基础班刚开始的路过,感觉到危机感了!
回复 使用道具 举报
哈哈,很多老师教学用的实例都挺有意思的
回复 使用道具 举报
万事开头难,只为明天新征程
回复 使用道具 举报
是啊  学习的过程中感觉有点难啊
回复 使用道具 举报
aofex 中级黑马 2015-6-14 22:27:42
19#
aSmallStone 发表于 2015-5-24 22:17
慢慢长征路。。。。

:lol  照片是本人吗?
回复 使用道具 举报
aofex 中级黑马 2015-6-14 22:29:14
20#
aSmallStone 发表于 2015-5-24 22:17
慢慢长征路。。。。

:victory: 照片是本人吗?   
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马