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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 葛迅 中级黑马   /  2013-4-1 11:32  /  2767 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 葛迅 于 2013-4-1 12:12 编辑

游戏,剪刀 石头布 编写可以玩最流行的剪刀-石头-布游戏程序。(剪刀可以剪布,石头可以砸剪刀,剪刀和布。)程序提示用户随机产生一个数,这个书
   为0,1或者2,分别表示石头剪刀布,程序提示用书输入值0,1或者2,然后显示一个消息,表妹用户和计算谁赢了游戏,谁输了游戏,或是打成平手。下面
   是运行示例:
   PS  请在后面务必写上思路和解释   不要百度的答案 我已经百度过了 太复杂了 谢谢 感激不尽!
   
   scissor (0),rock(1),paper(2):1  ENter
   The computer is scissor.You are rock. You won
   
   scissor (0),rock(1),paper(2):2   ENter
   The computer is paper.You are paper. It is draw
   
   

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

4 个回复

倒序浏览
God 表示你自己写比较好 随机数可以参考Random类
回复 使用道具 举报
贺靖轩 发表于 2013-4-1 11:38
God 表示你自己写比较好 随机数可以参考Random类

。。。。这题目的核心不是随机参数。。。。是循环。。。。我想要的是简化的代码  
回复 使用道具 举报
  1. public int showFist(){
  2.                                 Scanner sc = new Scanner(System.in);
  3.                             System.out.println("----------欢迎进入人机猜拳游戏------------");
  4.                             System.out.println("\t*****************");
  5.                             System.out.println("\t**猜拳,开始、\t**");
  6.                             System.out.println("\t*******************");
  7.                             System.out.println("出拳规则:"+"1.剪刀" + "2.石头" +"3.布");
  8.                             System.out.println("请输入对方角色(1.刘备+2.孙权+3.曹操):");
  9.                             int comRole = sc.nextInt();
  10.                             switch(comRole){
  11.                             case 1 :
  12.                                     System.out.println("刘备");
  13.                                     break;
  14.                             case 2 :
  15.                                     System.out.println("孙权");
  16.                                     break;
  17.                             case 3:
  18.                                     System.out.println("曹操");
  19.                                     break;
  20.                             }
  21.                             System.out.println("你选择了与"+comRole+"对战!");
  22.                             System.out.println("要开始吗?(y/n):");
  23.                             yes = sc.next();
  24.                                 while(yourFist>5){
  25.                             System.out.println("\t\t\t\t\t\t\t");
  26.                             System.out.println("请出拳:"+"1.剪刀"+"2.石头"+"3.布+(请输入相应数字):");
  27.                             yourFist = sc.nextInt();
  28.                             switch(yourFist){
  29.                             case 1:
  30.                                     System.out.println("剪刀");
  31.                                     break;
  32.                             case 2:
  33.                                     System.out.println("石头");
  34.                                     break;
  35.                             case 3:
  36.                                     System.out.println("布");
  37.                                     break;
  38.                            }
  39.                           
  40.                             System.out.println("你出拳:"+yourFist);
  41.                             System.out.println("电脑出拳:"+randomNum);
  42.                             if(yes.equals("y")){
  43.                                      
  44.                                     if((perFist == 1&&compFist== 1)||(perFist == 2&&compFist== 2)||(perFist == 3&&compFist==3)){
  45.                                             System.out.println("和局,真衰!");
  46.                                             count++;
  47.                                            
  48.                                     }else if((perFist == 1&&compFist== 3)||(perFist == 2&&compFist== 1)||(perFist == 3&&compFist== 2)){
  49.                                          System.out.println("恭喜你赢了~~~");
  50.                                          count++;
  51.                                     }else{
  52.                                             System.out.println("^_^你输了,真笨~~~");
  53.                                             count++;
  54.                                     }
  55.                             }
  56.                     }
  57.                          return 1;
  58.                         }
  59.         }
复制代码
因为之前有做过这个小游戏。我提供一部分代码作为你的参考吧。 我用的随机数是1.2.3.代码为(int)(Math.random() * 3)+1;
若要换成0.1.2,代码改成(int)(Math.random() * 3)即可。 个人觉得这个小项目难度在随机数产生需要经验。
自己认真做,应该没有难度。上面代码只是一部分供参考,希望对你有帮助。

评分

参与人数 2技术分 +2 黑马币 +18 收起 理由
陈丽莉 + 2
葛迅 + 18 很给力!

查看全部评分

回复 使用道具 举报
黑马伍哲沂 发表于 2013-4-1 11:58
因为之前有做过这个小游戏。我提供一部分代码作为你的参考吧。 我用的随机数是1.2.3.代码为(int)(Math.rand ...

感谢 我就是 循环那部分不能理解 我发出来就是想看看有没有更简单的代码 非常感谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马