Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.95 KB | None | 0 0
  1. public class PlayActivity extends Activity {
  2.  
  3.     ImageButton[] bb= new ImageButton[6];
  4.     int check_numbers[]={0,0,0}; // проверка на количество каждого вида карт при присвоении
  5.     Button b;
  6.     private boolean[] is_open={false,false,false,false,false,false};//открыта ли
  7.     boolean[] reaction={true, true, true, true, true, true};//реагирует ли на клик
  8.     Random random=new Random();
  9.     int[] numbers={2,0,1,2,1,0};// номера картинок
  10.     private int size;
  11.     private int two_open; //счетчик открытых - до двух
  12.     private int unreactive_pairs; //отгаданные пары
  13.  
  14.  
  15.     void addCard() {
  16.         is_open[size]=false;
  17.         reaction[size]=true;
  18.         int r=random.nextInt(3);
  19.         while(check_numbers[r]>=2){
  20.             r=random.nextInt(3);
  21.         }
  22.         numbers[size]=r;
  23.         check_numbers[r]++;
  24.         size++;
  25.     }
  26.  
  27.     void checkCards(int index){
  28.         if (two_open == 2) {
  29.             try {
  30.                 sleep(1000);
  31.             } catch (InterruptedException e) {
  32.                 e.printStackTrace();
  33.             }
  34.             for (int i = 0; i < size; i++) {
  35.                 if (is_open[i]) {
  36.                     if (i != index) {
  37.                         if (numbers[i]==numbers[index]) {
  38.                             reaction[i]=false;
  39.                             is_open[i]=false;
  40.                             reaction[index]=false;
  41.                             is_open[index]=false;
  42.                             unreactive_pairs++;
  43.                             two_open=0;
  44.  
  45.                         } else {
  46.                             closeCard(i);
  47.                             closeCard(index);
  48.  
  49.                         }
  50.                         break;
  51.                     }
  52.                 }
  53.             }
  54.         }
  55.     }
  56.  
  57.     void openCard(int index) {
  58.         if (reaction[index]) {
  59.             switch (numbers[index]) {
  60.                 case 0: {
  61.                     bb[index].setImageResource(R.drawable.cat0);
  62.                     break;
  63.                 }
  64.                 case 1: {
  65.                     bb[index].setImageResource(R.drawable.cat1);
  66.                     break;
  67.                 }
  68.                 case 2: {
  69.                     bb[index].setImageResource(R.drawable.cat2);
  70.                     break;
  71.                 }
  72.             }
  73.  
  74.             is_open[index]= true;
  75.             two_open++;
  76.         }
  77.     }
  78.  
  79.     void closeCard(int index) {
  80.         if (reaction[index]) {
  81.             bb[index].setImageResource(R.drawable.sh);
  82.             is_open[index]=false;
  83.             two_open--;
  84.         }
  85.     }
  86.  
  87.  
  88.     boolean getOpen(int index){
  89.         return (is_open[index]);
  90.     }
  91.  
  92.     @Override
  93.     protected void onCreate(Bundle savedInstanceState) {
  94.             super.onCreate(savedInstanceState);
  95.             setContentView(R.layout.activity_play);
  96.             bb[0] = (ImageButton) findViewById(R.id.ib1);
  97.             bb[1] = (ImageButton) findViewById(R.id.ib2);
  98.             bb[2] = (ImageButton) findViewById(R.id.ib3);
  99.             bb[3] = (ImageButton) findViewById(R.id.ib4);
  100.             bb[4] = (ImageButton) findViewById(R.id.ib5);
  101.             bb[5] = (ImageButton) findViewById(R.id.ib6);
  102.             b = (Button) findViewById(R.id.b);
  103.  
  104.             for (int i = 0; i < 6; i++) {
  105.                 addCard();
  106.             }
  107.  
  108.             bb[0].setImageResource(R.drawable.sh);
  109.             bb[1].setImageResource(R.drawable.sh);
  110.             bb[2].setImageResource(R.drawable.sh);
  111.             bb[3].setImageResource(R.drawable.sh);
  112.             bb[4].setImageResource(R.drawable.sh);
  113.             bb[5].setImageResource(R.drawable.sh);
  114.             //size = 0;
  115.  
  116.             bb[0].setOnClickListener(Click1);
  117.             bb[1].setOnClickListener(Click2);
  118.             bb[2].setOnClickListener(Click3);
  119.             bb[3].setOnClickListener(Click4);
  120.             bb[4].setOnClickListener(Click5);
  121.             bb[5].setOnClickListener(Click6);
  122.             b.setOnClickListener(Click);
  123.     }
  124.  
  125.     private final View.OnClickListener Click = new View.OnClickListener() {
  126.         @Override
  127.         public void onClick(View v) {
  128.             Intent intent = new Intent(PlayActivity.this, LevelActivity.class);
  129.             startActivity(intent);
  130.         }
  131.     };
  132.  
  133.    private final View.OnClickListener Click1 = new View.OnClickListener() {
  134.         @Override
  135.         public void onClick(View view) {
  136.         if(getOpen(0)){
  137.             closeCard(0);
  138.         }else {
  139.             openCard(0);
  140.             checkCards(0);
  141.         }
  142.         if(unreactive_pairs==3){
  143.             try {
  144.                 sleep(1000);
  145.             } catch (InterruptedException e) {
  146.                 e.printStackTrace();
  147.             }
  148.             Intent intent = new Intent(PlayActivity.this, WinActivity.class);
  149.             startActivity(intent);
  150.         }
  151.         }
  152.    };
  153. ..........................
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement