石头剪刀布--枚举-队列循环

 1 package randomzxw;
 2 
 3 import java.util.Scanner;
 4 
 5 enum EnumGuess {
 6     //定义剪刀,石头,布。三个元素;
 7     剪刀("剪刀",1),石头("石头",2),布("布",3);
 8     private String name;
 9     private int index;
10     //构造函数
11     private EnumGuess(String name,int index){
12         this.name=name;
13         this.index=index;
14     }
15     //获取索引
16     public int getIndex(){
17         return this.index;
18     }
19     //通过索引,用于提取用户、电脑输出的值;
20     public String getName(int index){
21         for(EnumGuess e:EnumGuess.values()){
22             if(e.getIndex()==index){
23                 return e.name;
24             }
25         }
26         return null;
27     }
28 }
29 public class guess1 {
30     public static void main(String[] args){
31         Scanner sc=new Scanner(System.in);
32         System.out.println("请出拳\t1-剪刀    2-石头  3-布");
33         //用户输入
34         int cs1=sc.nextInt();
35         //电脑随机值
36         int cs2=(int)(Math.random()*10)%3+1;
37         //将,剪刀石头布看成是一个循环队列,1->2->3 => 1=4-3 => 2=5-3 => 3=6-3;
38         //用户值:1;电脑1、2、3,则temp=cs1-cs2的值为1-1=0:平局;1-2=-1:输;1-3=4-3=1:赢;
39         //用户值:2;电脑1、2、3,则temp=cs1-cs2的值为2-2=0:平局;2-3=-1:输;2-1=1:赢;
40         //用户值:3;电脑1、2、3,则temp=cs1-cs2的值为3-3=0:平局;3-1=3-4=-1:输;3-2=1:赢;
41         if(cs1-cs2==2){
42             cs2+=3;
43         }else if(cs1-cs2==-2){
44             cs1+=3;
45         }
46         int temp=cs1-cs2;
47         EnumGuess guess = EnumGuess.剪刀;
48         switch(temp){
49         case 1:
50             System.out.println("你出的是  " + guess.getName(cs1>3?cs1-3:cs1) + " \n电脑出的是  " + guess.getName(cs2>3?cs2-3:cs2) + "\n你赢啦");
51             break;
52         case 0:
53             System.out.println("你出的是  " + guess.getName(cs1>3?cs1-3:cs1) + " \n电脑出的是  " + guess.getName(cs2>3?cs2-3:cs2) + "\n平局啦");
54             break;
55         case -1:
56             System.out.println("你出的是  " + guess.getName(cs1>3?cs1-3:cs1) + " \n电脑出的是  " + guess.getName(cs2>3?cs2-3:cs2) + "\n你输啦");
57             break;
58         }
59     }
60 }

 

posted @ 2015-08-11 13:26  程序员袍子  阅读(365)  评论(0编辑  收藏  举报