猜拳游戏(一)

游戏规则: 
(1表示拳头;2表示剪刀;3表示布;) 
电脑随机产生1至3之间的一个随机数(包括1和3)int a=(int)(Math.random()*4); 
用户自己从键盘输入一个1到3之间的随机数, 
然后让两个数进行比较,看看是电脑胜还是用户胜 




未优化代码前
//一个猜拳游戏 
import java.util.Scanner; 


public class Demo4{ 
    public static void main(String[]args){ 
        Scanner input = new Scanner(System.in); 
        //提问 
        System.out.print("请出拳:"); 
        //回答     
        int num2 = input.nextInt(); 
        int num1 = (int)(Math.random()*3+1); 
        System.out.print("电脑出的拳是:"); 
        System.out.println(num1); 
        //判断并计算 
          if(num2>0&&num2<=3){ 
        if(num1==num2){ 
            //输出 
             System.out.println("平局"); 
        }else if(num1==1&&num2==2){  
            System.out.println("电脑赢"); 
        }else if(num1==2&&num2==3){ 
            System.out.println("电脑赢"); 
        }else if(num1==3&&num2==1){ 
            System.out.println("电脑赢"); 
        }else { 
            System.out.println("用户赢"); 
        } 
        }else{ 
            System.out.println("数字错了"); 
        } 
         
         
    } 
}
------------------------------------------------------------------------------
分析:
石头(1)剪刀(2)布(3)
电脑         人           如果去除1和1,2和2,3和3的情况
//1      1
  1      2               1-2=-1(电脑赢)
  1      3      1-3=-2(人赢)


//2          1               2-1=1(人赢)
  2      2      
  2      3      2-3=-1(电脑赢)






//3       1      3-1=2(电脑赢)
  3      2      3-2=1(人赢)
  3      3
 未优化代码后
import java.util.Scanner; 


public class Demo4{ 
    public static void main(String[]args){ 
        Scanner input = new Scanner(System.in); 
        //提问 
        System.out.print("请出拳:"); 
        //回答     
        int num2 = input.nextInt(); 
        int num1 = (int)(Math.random()*3+1); 
        System.out.print("电脑出的拳是:"); 
        System.out.println(num1); 
        //判断并计算 
          if(num2>0&&num2<=3){ 
        if(num1==num2){ 
            //输出 
             System.out.println("平局"); 
        }else if(num1-num2==2||num1-num2==-1){  
            System.out.println("电脑赢"); 
        
      }else if(num1-num2==-2||num1-num2==1){  
            System.out.println("人赢");
        }else{ 
            System.out.println("数字错了"); 
        } 
         
         
    } 
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值