Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PlayActivity extends Activity {
- ImageButton[] bb= new ImageButton[6];
- int check_numbers[]={0,0,0}; // проверка на количество каждого вида карт при присвоении
- Button b;
- private boolean[] is_open={false,false,false,false,false,false};//открыта ли
- boolean[] reaction={true, true, true, true, true, true};//реагирует ли на клик
- Random random=new Random();
- int[] numbers={2,0,1,2,1,0};// номера картинок
- private int size;
- private int two_open; //счетчик открытых - до двух
- private int unreactive_pairs; //отгаданные пары
- void addCard() {
- is_open[size]=false;
- reaction[size]=true;
- int r=random.nextInt(3);
- while(check_numbers[r]>=2){
- r=random.nextInt(3);
- }
- numbers[size]=r;
- check_numbers[r]++;
- size++;
- }
- void checkCards(int index){
- if (two_open == 2) {
- try {
- sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- for (int i = 0; i < size; i++) {
- if (is_open[i]) {
- if (i != index) {
- if (numbers[i]==numbers[index]) {
- reaction[i]=false;
- is_open[i]=false;
- reaction[index]=false;
- is_open[index]=false;
- unreactive_pairs++;
- two_open=0;
- } else {
- closeCard(i);
- closeCard(index);
- }
- break;
- }
- }
- }
- }
- }
- void openCard(int index) {
- if (reaction[index]) {
- switch (numbers[index]) {
- case 0: {
- bb[index].setImageResource(R.drawable.cat0);
- break;
- }
- case 1: {
- bb[index].setImageResource(R.drawable.cat1);
- break;
- }
- case 2: {
- bb[index].setImageResource(R.drawable.cat2);
- break;
- }
- }
- is_open[index]= true;
- two_open++;
- }
- }
- void closeCard(int index) {
- if (reaction[index]) {
- bb[index].setImageResource(R.drawable.sh);
- is_open[index]=false;
- two_open--;
- }
- }
- boolean getOpen(int index){
- return (is_open[index]);
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_play);
- bb[0] = (ImageButton) findViewById(R.id.ib1);
- bb[1] = (ImageButton) findViewById(R.id.ib2);
- bb[2] = (ImageButton) findViewById(R.id.ib3);
- bb[3] = (ImageButton) findViewById(R.id.ib4);
- bb[4] = (ImageButton) findViewById(R.id.ib5);
- bb[5] = (ImageButton) findViewById(R.id.ib6);
- b = (Button) findViewById(R.id.b);
- for (int i = 0; i < 6; i++) {
- addCard();
- }
- bb[0].setImageResource(R.drawable.sh);
- bb[1].setImageResource(R.drawable.sh);
- bb[2].setImageResource(R.drawable.sh);
- bb[3].setImageResource(R.drawable.sh);
- bb[4].setImageResource(R.drawable.sh);
- bb[5].setImageResource(R.drawable.sh);
- //size = 0;
- bb[0].setOnClickListener(Click1);
- bb[1].setOnClickListener(Click2);
- bb[2].setOnClickListener(Click3);
- bb[3].setOnClickListener(Click4);
- bb[4].setOnClickListener(Click5);
- bb[5].setOnClickListener(Click6);
- b.setOnClickListener(Click);
- }
- private final View.OnClickListener Click = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(PlayActivity.this, LevelActivity.class);
- startActivity(intent);
- }
- };
- private final View.OnClickListener Click1 = new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if(getOpen(0)){
- closeCard(0);
- }else {
- openCard(0);
- checkCards(0);
- }
- if(unreactive_pairs==3){
- try {
- sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- Intent intent = new Intent(PlayActivity.this, WinActivity.class);
- startActivity(intent);
- }
- }
- };
- ..........................
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement