猜拳游戏(一)

游戏规则: 
(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("数字错了"); 
        } 
         
         
    } 
}

你可能感兴趣的:(猜拳游戏(一))