黑马程序员技术交流社区

标题: 人性化版本的<<疯狂猜数>> [打印本页]

作者: 李竞还活着    时间: 2015-6-19 18:59
标题: 人性化版本的<<疯狂猜数>>
  1. /*
  2. *设计一个疯狂猜数的游戏
  3. *要求电脑随机产生一个数,然后让玩家开始猜;
  4. *玩家有十次机会,每次猜完之后,提醒玩家猜大了,或者是猜小了;
  5. *当玩家猜对之后,或者十次机会用完之后,结束游戏,并分别进行提示:

  6. */
  7. #include<stdio.h>
  8. #include<stdlib.h>
  9. int main()
  10. {
  11. //    引入变量,用来接收电脑产生的数,玩家输入的数,当前大数,小数, 次数;
  12.    
  13.     int inPut,outPut,low,high,count;
  14. //    电脑随机产生一个1---1000数
  15.     outPut=arc4random_uniform(1000)+1;
  16. //   初始化 high,low;
  17.     high=1000,low=1;
  18. //    初始化次数
  19.     count=10;
  20. //    使用循环
  21.     while(count){
  22. //        提示用户开始游戏
  23.         printf("请输入一个数");
  24. //        获取玩家输入的数
  25.         scanf("%d",&inPut);
  26. //        计数;
  27.         count--;
  28. //        将玩家的数和电脑数比较;并排除非法输入;
  29.         if(inPut>high||inPut<low){
  30.             printf("你知道你浪费了一次机会么");
  31.         }
  32. //        如果玩家猜对了,提示恭喜你,你很棒,并结束游戏;
  33.         else if(inPut==outPut){
  34.             printf("恭喜你,你很棒,顺利结束了游戏!");
  35.             break;
  36.         }
  37. //        如果玩家猜错了,则分两种情况:
  38.         
  39. //        如果玩家猜大了,并且此数小于 high, 则将此数覆盖掉 high; 并提示玩家当前范围;
  40.         else if(inPut>outPut){
  41.             high=inPut;
  42.             printf("有一好一坏两个消息\n");
  43.             printf("1.坏消息是:你猜大了\n");
  44.             printf("2.好消息是:你把范围缩小到了%d---%d\n",low,high);
  45.         }
  46. //        如果玩家猜小了,并且此数大于 low, 则将此数覆盖掉 low;并提示玩家当前范围:
  47.         else{
  48.             low=inPut;
  49.             printf("有一好一坏两个消息\n");
  50.             printf("1.坏消息是:你猜小了\n");
  51.             printf("2.好消息是:你把范围缩小到了%d---%d\n",low,high);

  52.             
  53.         }
  54. //        提示用户还有几次机会:
  55.         printf("3.你还有%d 次机会,努力吧,少年!!",count);
  56.           }
  57.     return 0;
  58. }
复制代码

作者: goldboy    时间: 2015-6-19 19:05
参考参考
作者: 李竞还活着    时间: 2015-6-19 19:12
  1. 修改后的超人性化懒人版
  2. /*
  3. *设计一个疯狂猜数的游戏
  4. *要求电脑随机产生一个数,然后让玩家开始猜;
  5. *玩家有十次机会,每次猜完之后,提醒玩家猜大了,或者是猜小了;
  6. *当玩家猜对之后,或者十次机会用完之后,结束游戏,并分别进行提示:

  7. */
  8. #include<stdio.h>
  9. #include<stdlib.h>
  10. int main()
  11. {
  12.     //    引入变量,用来接收电脑产生的数,玩家输入的数,当前大数,小数, 次数;
  13.    
  14.     int inPut,outPut,low,high,count;
  15.     //    电脑随机产生一个1---1000数
  16.     outPut=arc4random_uniform(1000)+1;
  17.     //   初始化 high,low;
  18.     high=1000,low=1;
  19.     //    初始化次数
  20.     count=10;
  21.     //    使用循环
  22.     while(count){
  23.         //        提示用户开始游戏
  24.         printf("请输入一个数\n");
  25.         //        获取玩家输入的数
  26.         scanf("%d",&inPut);
  27.         //        计数;
  28.         count--;
  29.         //        将玩家的数和电脑数比较;并排除非法输入;
  30.         if(inPut>high||inPut<low){
  31.             printf("你知道你浪费了一次机会么");
  32.         }
  33.         //        如果玩家猜对了,提示恭喜你,你很棒,并结束游戏;
  34.         else if(inPut==outPut){
  35.             printf("恭喜你,你很棒,顺利结束了游戏!");
  36.             break;
  37.         }
  38.         //        如果玩家猜错了,则分两种情况:
  39.         
  40.         //        如果玩家猜大了,并且此数小于 high, 则将此数覆盖掉 high; 并提示玩家当前范围;
  41.         else if(inPut>outPut){
  42.             high=inPut;
  43.             printf("有一好一坏两个消息\n");
  44.             printf("1.坏消息是:你猜大了\n");
  45.             }
  46.         //        如果玩家猜小了,并且此数大于 low, 则将此数覆盖掉 low;并提示玩家当前范围:
  47.         else{
  48.             low=inPut;
  49.             printf("有一好一坏两个消息\n");
  50.             printf("1.坏消息是:你猜小了\n");
  51.             
  52.         }
  53.         //        提示用户还有几次机会:
  54.         printf("2.好消息是:你把范围缩小到了%d---%d\n",low,high);
  55.         printf("3.你还有%d 次机会,努力吧,少年!!\n",count);
  56.         printf("注释:强烈建议你输入:% d\n",(low+high)/2);
  57.     }
  58.     return 0;
  59. }
复制代码

作者: 张国繁    时间: 2015-6-19 19:30
今天晚上我也试试,看能做出来不能
作者: 李竞还活着    时间: 2015-6-19 21:07
张国繁 发表于 2015-6-19 19:30
今天晚上我也试试,看能做出来不能

繁哥加油
作者: 小年轻不见了    时间: 2015-6-19 21:44
赞!!!
作者: zilin    时间: 2015-6-19 23:28
竞哥加油,我支持你。
作者: 小小羊    时间: 2015-6-20 00:33
赞一个,很给力啊
作者: woaiqpl    时间: 2015-6-20 08:58
可以啊,大兄弟
作者: 张国繁    时间: 2015-6-20 10:41
李竞还活着 发表于 2015-6-19 21:07
繁哥加油

不敢当啊!我可是纯小白!
作者: 李竞还活着    时间: 2015-6-20 10:44
张国繁 发表于 2015-6-20 10:41
不敢当啊!我可是纯小白!

你应该说:"哪里哪里哪里~~~~"
作者: 李竞还活着    时间: 2015-6-20 11:35
goldboy 发表于 2015-6-19 19:05
参考参考

谢谢兄弟支持
作者: 马贺飞    时间: 2015-6-21 23:41
围观学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2