zoukankan      html  css  js  c++  java
  • Android消除不同颜色方块小游戏

    package com.example.xxr.game3;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by xxr on 2018/3/10.
     */
    
    public class ActivityCollector {
        public static List<Activity> activities=new ArrayList<>();
        public static void addActivity(Activity activity){
            activities.add(activity);
    
        }
        public static void removeActivity(Activity activity){
            activities.remove(activity);
        }
        public static void finishAll(){
            for(Activity activity:activities){
                if(!activity.isFinishing()){
                    activity.finish();
                }
            }
        }
    }
    package com.example.xxr.game3;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    
    /**
     * Created by xxr on 2018/3/10.
     */
    
    public class BasicActivity extends AppCompatActivity {
        protected void  onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            ActivityCollector.addActivity(this);
        }
        protected void onDestroy(){
            super.onDestroy();
            ActivityCollector.removeActivity(this);
        }
    }
    package com.example.xxr.game3;
    
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.support.v7.app.AlertDialog;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class Main2Activity extends BasicActivity {
        Button start,back,how;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main2);
    
            start=(Button)findViewById(R.id.begin);
            back=(Button)findViewById(R.id.back);
            how=(Button)findViewById(R.id.how);
            start.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    Intent intent=new Intent(Main2Activity.this,Main3Activity.class);
                    startActivity(intent);
                }
            });
            back.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    System.exit(0);
                }
            });
            how.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    AlertDialog.Builder howhow=new AlertDialog.Builder(Main2Activity.this);
                    howhow.create();
                    howhow.setIcon(R.drawable.icon);
                    howhow.setMessage("                  **游戏规则**:
       每个可以移动的颜色块下面有其可以移动的次数的数字,根据下面的数字,使界面最终变成一种颜色的色块,可移动色块不能移动到另一个可移动色块上,如果可移动色块数为零且没使界面统一颜色,则为失败,否则胜利!
            祝你好运!!!!");
                    howhow.setPositiveButton("确定",new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog,int which){
                            Toast.makeText(Main2Activity.this,"ok",Toast.LENGTH_SHORT).show();
    
                        }
                    });
                    howhow.show();
    
                }
            });
    
        }
    }
    package com.example.xxr.game3;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class Main3Activity extends BasicActivity {
        Button button;
    
        Button[] buttons=new Button[9];
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main3);
            button=(Button)findViewById(R.id.backfinally);
            button.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    ActivityCollector.finishAll();
                }
            });
            buttons[0]=(Button)findViewById(R.id.b1);
            buttons[1]=(Button)findViewById(R.id.b2);
            buttons[3]=(Button)findViewById(R.id.b4);
            buttons[0].setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    Intent intent=new Intent(Main3Activity.this,MainActivity.class);
                    Toast.makeText(Main3Activity.this,"Ready....Go!",Toast.LENGTH_SHORT).show();
                    startActivity(intent);
    
                }
            } );
            buttons[1].setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    Intent intent=new Intent(Main3Activity.this,Main4Activity.class);
                    Toast.makeText(Main3Activity.this,"Ready....Go!",Toast.LENGTH_SHORT).show();
                    startActivity(intent);
    
                }
            } );
            buttons[3].setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    Intent intent=new Intent(Main3Activity.this,Main5Activity.class);
                    Toast.makeText(Main3Activity.this,"Ready....Go!",Toast.LENGTH_SHORT).show();
                    startActivity(intent);
    
                }
            });
        }
    }
    package com.example.xxr.game3;
    
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.support.v7.app.AlertDialog;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.Button;
    import android.widget.GridLayout;
    import android.widget.ImageView;
    import android.widget.TextView;
    import android.widget.Toast;
    
      public class Main4Activity extends BasicActivity {
          Button button;
        GridLayout glayout;
        int x, y, currentx, currenty;
        int[] num=new int[11];
        ImageView[] group = new ImageView[11];
        TextView[] text = new TextView[11];
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main4);
            button=(Button)findViewById(R.id.back2);
            button.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    Intent intent=new Intent(Main4Activity.this,Main3Activity.class);
                    startActivity(intent);
                }
            });
            glayout=(GridLayout)findViewById(R.id.mylayout);
            text[0] = (TextView) findViewById(R.id.t1a);
            text[1] = (TextView) findViewById(R.id.t2a);
            text[2] = (TextView) findViewById(R.id.t3a);
            text[3] = (TextView) findViewById(R.id.t4a);
    
            text[4] = (TextView) findViewById(R.id.t5a);
            text[5] = (TextView) findViewById(R.id.t6a);
            text[6] = (TextView) findViewById(R.id.t7a);
    
            text[7] = (TextView) findViewById(R.id.t8a);
            text[8] = (TextView) findViewById(R.id.t9a);
            text[9] = (TextView) findViewById(R.id.t10a);
            text[10] = (TextView) findViewById(R.id.t11a);
    
            group[0] = (ImageView) findViewById(R.id.i1a);
            group[1] = (ImageView) findViewById(R.id.i2a);
            group[2] = (ImageView) findViewById(R.id.i3a);
            group[3] = (ImageView) findViewById(R.id.i4a);
    
            group[4] = (ImageView) findViewById(R.id.i5a);
            group[5] = (ImageView) findViewById(R.id.i6a);
            group[6] = (ImageView) findViewById(R.id.i7a);
    
            group[7] = (ImageView) findViewById(R.id.i8a);
            group[8] = (ImageView) findViewById(R.id.i9a);
            group[9] = (ImageView) findViewById(R.id.i10a);
            group[10] = (ImageView) findViewById(R.id.i11a);
    
            for(int i=0;i<11;i++){
                num[i]=0;
            }
            num[1]=2;num[4]=1;num[6]=1;num[3]=1;num[10]=3;num[9]=2;
    
    
            glayout.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View view, MotionEvent event) {
    
    
                    switch (event.getAction()) {
                        case MotionEvent.ACTION_DOWN:
                            x = (int) event.getX();
                            y = (int) event.getY();
                            Log.e("a", Integer.toString(x) + "aa" + Integer.toString(y));
                            // return true;
                            break;
                        case MotionEvent.ACTION_UP:
                            currentx = (int) event.getX();
                            currenty = (int) event.getY();
                            Log.e("b", Integer.toString(currentx) + "aaa" + Integer.toString(currenty));
    
    
                            //不知道此处的用法是否正确
                            if (x - currentx > 0 && Math.abs(y - currenty) < 100) {
                                Log.e("a", "left");
                                int m = (int) (y / (view.getHeight() / 4)) * 3 + (int) (x / (view.getWidth() / 3));
                                int n = (int) (x / (view.getWidth() / 3));
                                if (num[m] > 0 && n != 0&&num[m-1]==0) {
                                    num[m - 1] = num[m] - 1;
                                    num[m] = 0;
                                    text[m].setText("                       0                 ");
                                    text[m - 1].setText("                                      " + num[m - 1]);
                                    group[m - 1].setImageDrawable(group[m].getDrawable());
    
                                }
                            } else if (x - currentx < 0 && Math.abs(y - currenty) < 100) {
                                int m = (int) (y / (view.getHeight() / 4)) * 3 + (int) (x / (view.getWidth() / 3));
                                int n = (int) (x / (view.getWidth() / 3));
                                if (num[m] > 0 && n != 2&&num[m+1]==0) {
                                    num[m + 1] = num[m] - 1;
                                    num[m] = 0;
                                    text[m].setText("                       0                 ");
                                    text[m + 1].setText("                                     " + num[m + 1]);
                                    group[m + 1].setImageDrawable(group[m].getDrawable());
                                }
                            } else if (y - currenty > 0 && Math.abs(x - currentx) < 100) {
                                int m = (int) (y / (view.getHeight() / 4)) * 3 + (int) (x / (view.getWidth() / 3));
                                int n = (int) (y / (view.getHeight() / 4));
                                if (num[m] > 0 && n != 0&&num[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))]==0) {
                                    num[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))] = num[m] - 1;
                                    num[m] = 0;
                                    text[m].setText("                      0                 ");
                                    text[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))].setText("                                     " + num[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))]);
                                    group[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))].setImageDrawable(group[m].getDrawable());
                                }
                            } else if (y - currenty < 0 && Math.abs(x - currentx) < 100) {
                                int m = (int) (y / (view.getHeight() / 4)) * 3 + (int) (x / (view.getWidth() / 3));
                                int n = (int) (y / (view.getHeight() / 4));
                                if (num[m] > 0 && n != 3&& num[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))]==0) {
                                    num[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))] = num[m] - 1;
                                    num[m] = 0;
                                    text[m].setText("                      0                 ");
                                    text[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))].setText("                                     " + num[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))]);
                                    group[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))].setImageDrawable(group[m].getDrawable());
                                }
                            } else {
                                Toast.makeText(Main4Activity.this, "try again", Toast.LENGTH_SHORT).show();
    
                            }
    
    
                    }
                    for(int i=0;i<11;i++){
                        if(num[i]!=0){
                            break;
                        }
                        if(i==10){
                            isWin();
                        }
                    }
    
                    return true;
                }
            });
        }
    
          public void isWin(){
              for(int i=0;i<11;i++){
                  if(!(group[i].getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.c).getConstantState()))){
                      AlertDialog.Builder alert=new AlertDialog.Builder(this);
                      alert.create();
                      alert.setTitle("Game");
                      alert.setIcon(R.drawable.fall);
                      alert.setCancelable(false);
                      alert.setMessage("对不起,你输了!
    你想要重新来过吗?亲!");
                      alert.setPositiveButton("恩",new DialogInterface.OnClickListener(){
                          public void onClick(DialogInterface dialog,int which){
    
                              Intent intent =new Intent(Main4Activity.this,Main4Activity.class);
                              startActivity(intent);
                          }
    
                      });
                      alert.setNegativeButton("算了吧",new DialogInterface.OnClickListener(){
                          public void onClick(DialogInterface dialog,int which){
                              Intent intent=new Intent(Main4Activity.this,Main3Activity.class);
                              startActivity(intent);
                          }
                      });
                      alert.show();
                      break;
                  }
    
    
    
    
    
                  if(i==10&&group[i].getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.c).getConstantState())){
                      AlertDialog.Builder alert=new AlertDialog.Builder(this);
                      alert.create();
                      alert.setTitle("Game");
                      alert.setIcon(R.drawable.win);
                      alert.setCancelable(false);
                      alert.setMessage("恭喜你顺利过关!!
    你想要进入下一关吗?亲!");
                      alert.setPositiveButton("恩",new DialogInterface.OnClickListener(){
                          public void onClick(DialogInterface dialog,int which){
    
                              Intent intent =new Intent(Main4Activity.this,Main5Activity.class);
                              startActivity(intent);
                          }
    
                      });
                      alert.setNegativeButton("算了吧",new DialogInterface.OnClickListener(){
                          public void onClick(DialogInterface dialog,int which){
                              Intent intent=new Intent(Main4Activity.this,Main3Activity.class);
                              startActivity(intent);
                          }
                      });
                      alert.show();
                  }
              }
        }
    
    
    
    
    
    
    
    
    
    }
    package com.example.xxr.game3;
    
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.provider.MediaStore;
    import android.support.v7.app.AlertDialog;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.Button;
    import android.widget.GridLayout;
    import android.widget.ImageView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class Main5Activity extends BasicActivity {
        Button button;
        GridLayout glayout;
        int x, y, currentx, currenty;
        int[] num = new int[41];
        ImageView[] group = new ImageView[41];
        TextView[] text = new TextView[41];
        music c;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main5);
            c=new music(Main5Activity.this);
            button=(Button)findViewById(R.id.back3);
            button.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    Intent intent=new Intent(Main5Activity.this,Main3Activity.class);
                    startActivity(intent);
                }
            });
            glayout = (GridLayout) findViewById(R.id.mylayoutmm);
            text[0] = (TextView) findViewById(R.id.t1b);
            text[1] = (TextView) findViewById(R.id.t2b);
            text[2] = (TextView) findViewById(R.id.t3b);
            text[3] = (TextView) findViewById(R.id.t4b);
    
            text[4] = (TextView) findViewById(R.id.t5b);
            text[5] = (TextView) findViewById(R.id.t6b);
            text[6] = (TextView) findViewById(R.id.t7b);
    
            text[7] = (TextView) findViewById(R.id.t8b);
            text[8] = (TextView) findViewById(R.id.t9b);
            text[9] = (TextView) findViewById(R.id.t10b);
            text[10] = (TextView) findViewById(R.id.t11b);
            text[11] = (TextView) findViewById(R.id.t12b);
            text[12] = (TextView) findViewById(R.id.t13b);
            text[13] = (TextView) findViewById(R.id.t14b);
            text[14] = (TextView) findViewById(R.id.t15b);
            text[15] = (TextView) findViewById(R.id.t16b);
    
            text[16] = (TextView) findViewById(R.id.t17b);
            text[17] = (TextView) findViewById(R.id.t18b);
            text[18] = (TextView) findViewById(R.id.t19b);
    
            text[19] = (TextView) findViewById(R.id.t20b);
            text[20] = (TextView) findViewById(R.id.t21b);
            text[21] = (TextView) findViewById(R.id.t22b);
            text[22] = (TextView) findViewById(R.id.t23b);
            text[23] = (TextView) findViewById(R.id.t24b);
            text[24] = (TextView) findViewById(R.id.t25b);
            text[25] = (TextView) findViewById(R.id.t26b);
            text[26] = (TextView) findViewById(R.id.t27b);
            text[27] = (TextView) findViewById(R.id.t28b);
    
            text[28] = (TextView) findViewById(R.id.t29b);
            text[29] = (TextView) findViewById(R.id.t30b);
            text[30] = (TextView) findViewById(R.id.t31b);
    
            text[31] = (TextView) findViewById(R.id.t32b);
            text[32] = (TextView) findViewById(R.id.t33b);
            text[33] = (TextView) findViewById(R.id.t34b);
            text[34] = (TextView) findViewById(R.id.t35b);
            text[35] = (TextView) findViewById(R.id.t36b);
            text[36] = (TextView) findViewById(R.id.t37b);
            text[37] = (TextView) findViewById(R.id.t38b);
            text[38] = (TextView) findViewById(R.id.t39b);
            text[39] = (TextView) findViewById(R.id.t40b);
    
            text[40] = (TextView) findViewById(R.id.t41b);
    
    
            group[0] = (ImageView) findViewById(R.id.i1b);
            group[1] = (ImageView) findViewById(R.id.i2b);
            group[2] = (ImageView) findViewById(R.id.i3b);
            group[3] = (ImageView) findViewById(R.id.i4b);
    
            group[4] = (ImageView) findViewById(R.id.i5b);
            group[5] = (ImageView) findViewById(R.id.i6b);
            group[6] = (ImageView) findViewById(R.id.i7b);
    
            group[7] = (ImageView) findViewById(R.id.i8b);
            group[8] = (ImageView) findViewById(R.id.i9b);
            group[9] = (ImageView) findViewById(R.id.i10b);
            group[10] = (ImageView) findViewById(R.id.i11b);
            group[11] = (ImageView) findViewById(R.id.i12b);
            group[12] = (ImageView) findViewById(R.id.i13b);
            group[13] = (ImageView) findViewById(R.id.i14b);
            group[14] = (ImageView) findViewById(R.id.i15b);
            group[15] = (ImageView) findViewById(R.id.i16b);
    
            group[16] = (ImageView) findViewById(R.id.i17b);
            group[17] = (ImageView) findViewById(R.id.i18b);
            group[18] = (ImageView) findViewById(R.id.i19b);
    
            group[19] = (ImageView) findViewById(R.id.i20b);
            group[20] = (ImageView) findViewById(R.id.i21b);
            group[21] = (ImageView) findViewById(R.id.i22b);
            group[22] = (ImageView) findViewById(R.id.i23b);
            group[23] = (ImageView) findViewById(R.id.i24b);
            group[24] = (ImageView) findViewById(R.id.i25b);
            group[25] = (ImageView) findViewById(R.id.i26b);
            group[26] = (ImageView) findViewById(R.id.i27b);
            group[27] = (ImageView) findViewById(R.id.i28b);
    
            group[28] = (ImageView) findViewById(R.id.i29b);
            group[29] = (ImageView) findViewById(R.id.i30b);
            group[30] = (ImageView) findViewById(R.id.i31b);
    
            group[31] = (ImageView) findViewById(R.id.i32b);
            group[32] = (ImageView) findViewById(R.id.i33b);
            group[33] = (ImageView) findViewById(R.id.i34b);
            group[34] = (ImageView) findViewById(R.id.i35b);
            group[35] = (ImageView) findViewById(R.id.i36b);
            group[36] = (ImageView) findViewById(R.id.i37b);
            group[37] = (ImageView) findViewById(R.id.i38b);
            group[38] = (ImageView) findViewById(R.id.i39b);
            group[39] = (ImageView) findViewById(R.id.i40b);
    
            group[40] = (ImageView) findViewById(R.id.i41b);
    
    
            for (int i = 0; i < 41; i++) {
                num[i] = 0;
            }
            num[7] = 3;
            num[14] = 2;
            num[20] = 2;
            num[25] = 2;
            num[27] = 2;
            num[29] = 2;
            num[34] = 4;
            num[33] = 1;
    
    
            glayout.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View view, MotionEvent event) {
    
    
                    switch (event.getAction()) {
                        case MotionEvent.ACTION_DOWN:
                            x = (int) event.getX();
                            y = (int) event.getY();
                            Log.e("a", Integer.toString(x) + "aa" + Integer.toString(y));
                            // return true;
                            break;
                        case MotionEvent.ACTION_UP:
                            currentx = (int) event.getX();
                            currenty = (int) event.getY();
                            Log.e("b", Integer.toString(currentx) + "aaa" + Integer.toString(currenty));
    
    
                            //不知道此处的用法是否正确
                            if (x - currentx > 0 && Math.abs(y - currenty) < 100) {
                                Log.e("a", "left");
                                int m = (int) (y / (view.getHeight() / 7)) * 6 + (int) (x / (view.getWidth() / 6));
                                int n = (int) (x / (view.getWidth() / 6));
                                if (num[m] > 0 && n != 0 && num[m - 1] == 0) {
                                    num[m - 1] = num[m] - 1;
                                    num[m] = 0;
                                    text[m].setText("         0       ");
                                    text[m - 1].setText("          " + num[m - 1] + "        ");
                                    group[m - 1].setImageDrawable(group[m].getDrawable());
    
                                }
                            } else if (x - currentx < 0 && Math.abs(y - currenty) < 100) {
                                int m = (int) (y / (view.getHeight() / 7)) * 6 + (int) (x / (view.getWidth() / 6));
                                int n = (int) (x / (view.getWidth() / 6));
                                if (num[m] > 0 && n != 5 && num[m + 1] == 0) {
                                    num[m + 1] = num[m] - 1;
                                    num[m] = 0;
                                    text[m].setText("         0       ");
                                    text[m + 1].setText("         " + num[m + 1] + "        ");
                                    group[m + 1].setImageDrawable(group[m].getDrawable());
                                }
                            } else if (y - currenty > 0 && Math.abs(x - currentx) < 100) {
                                int m = (int) (y / (view.getHeight() / 7)) * 6 + (int) (x / (view.getWidth() / 6));
                                int n = (int) (y / (view.getHeight() / 7));
                                if (num[m] > 0 && n != 0 && num[(int) (y / (view.getHeight() / 7) - 1) * 6 + (int) (x / (view.getWidth() / 6))] == 0) {
                                    num[(int) (y / (view.getHeight() / 7) - 1) * 6 + (int) (x / (view.getWidth() / 6))] = num[m] - 1;
                                    num[m] = 0;
                                    text[m].setText("         0       ");
                                    text[(int) (y / (view.getHeight() / 7) - 1) * 6 + (int) (x / (view.getWidth() / 6))].setText("         " + num[(int) (y / (view.getHeight() / 7) - 1) * 6 + (int) (x / (view.getWidth() / 6))] + "        ");
                                    group[(int) (y / (view.getHeight() / 7) - 1) * 6 + (int) (x / (view.getWidth() / 6))].setImageDrawable(group[m].getDrawable());
                                }
                            } else if (y - currenty < 0 && Math.abs(x - currentx) < 100) {
                                int m = (int) (y / (view.getHeight() / 7)) * 6 + (int) (x / (view.getWidth() / 6));
                                int n = (int) (y / (view.getHeight() / 7));
                                if (num[m] > 0 && n != 6 && num[(int) (y / (view.getHeight() / 7) + 1) * 6 + (int) (x / (view.getWidth() / 6))] == 0) {
                                    num[(int) (y / (view.getHeight() / 7) + 1) * 6 + (int) (x / (view.getWidth() / 6))] = num[m] - 1;
                                    num[m] = 0;
                                    text[m].setText("         0       ");
                                    text[(int) (y / (view.getHeight() / 7) + 1) * 6 + (int) (x / (view.getWidth() / 6))].setText("         " + num[(int) (y / (view.getHeight() / 7) + 1) * 6 + (int) (x / (view.getWidth() / 6))] + "        ");
                                    group[(int) (y / (view.getHeight() / 7) + 1) * 6 + (int) (x / (view.getWidth() / 6))].setImageDrawable(group[m].getDrawable());
                                }
                            } else {
                                Toast.makeText(Main5Activity.this, "try again", Toast.LENGTH_SHORT).show();
                                ;
                            }
    
    
                    }
                    for(int i=0;i<41;i++){
                        if(num[i]!=0){
                            break;
                        }
                        if(i==40){
                            isWin();
                        }
                    }
                    return true;
                }
            });
        }
    
        public void isWin() {
            for (int i = 0; i < 41; i++) {
                if (!(group[i].getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.nbl).getConstantState()))) {
                    AlertDialog.Builder alert = new AlertDialog.Builder(this);
                    alert.create();
                    alert.setTitle("Game");
                    alert.setIcon(R.drawable.fall);
                    alert.setCancelable(false);
                    alert.setMessage("对不起,你输了!
    你想要重新来过吗?亲!");
                    alert.setPositiveButton("恩", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
    
                            Intent intent = new Intent(Main5Activity.this, Main5Activity.class);
                            startActivity(intent);
                        }
    
                    });
                    alert.setNegativeButton("算了吧", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            Intent intent = new Intent(Main5Activity.this, Main3Activity.class);
                            startActivity(intent);
                        }
                    });
                    alert.show();
                    break;
                }
    
    
                if (i == 40&& group[i].getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.nbl).getConstantState())) {
                    AlertDialog.Builder alert = new AlertDialog.Builder(this);
                    alert.create();
                    alert.setTitle("Game");
                    alert.setIcon(R.drawable.win);
                    alert.setCancelable(false);
                    alert.setMessage("恭喜你顺利过关!!
    你想要进入下一关吗?亲!");
                    alert.setPositiveButton("恩", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
    
                            Intent intent = new Intent(Main5Activity.this, Main3Activity.class);
                            startActivity(intent);
                        }
    
                    });
                    alert.setNegativeButton("算了吧", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            Intent intent = new Intent(Main5Activity.this, Main3Activity.class);
                            startActivity(intent);
                        }
                    });
                    alert.show();
                }
            }
        }
        public void onStop(){
            c.pause();
            super.onStop();
        }
    }
    package com.example.xxr.game3;
    
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.support.v7.app.AlertDialog;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.Button;
    import android.widget.GridLayout;
    import android.widget.ImageView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends BasicActivity {
    
       GridLayout glayout;
       Button button;
        int x, y, currentx, currenty;
      int[] num=new int[11];
        ImageView[] group = new ImageView[11];
        TextView[] text = new TextView[11];
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Intent intent=new Intent(MainActivity.this,MusicService.class);
             startService(intent);
    
    
            glayout=(GridLayout)findViewById(R.id.mylayout);
            text[0] = (TextView) findViewById(R.id.t1);
            text[1] = (TextView) findViewById(R.id.t2);
            text[2] = (TextView) findViewById(R.id.t3);
            text[3] = (TextView) findViewById(R.id.t4);
    
            text[4] = (TextView) findViewById(R.id.t5);
            text[5] = (TextView) findViewById(R.id.t6);
            text[6] = (TextView) findViewById(R.id.t7);
    
            text[7] = (TextView) findViewById(R.id.t8);
            text[8] = (TextView) findViewById(R.id.t9);
            text[9] = (TextView) findViewById(R.id.t10);
            text[10] = (TextView) findViewById(R.id.t11);
    
            group[0] = (ImageView) findViewById(R.id.i1);
            group[1] = (ImageView) findViewById(R.id.i2);
            group[2] = (ImageView) findViewById(R.id.i3);
            group[3] = (ImageView) findViewById(R.id.i4);
    
            group[4] = (ImageView) findViewById(R.id.i5);
            group[5] = (ImageView) findViewById(R.id.i6);
            group[6] = (ImageView) findViewById(R.id.i7);
    
            group[7] = (ImageView) findViewById(R.id.i8);
            group[8] = (ImageView) findViewById(R.id.i9);
            group[9] = (ImageView) findViewById(R.id.i10);
            group[10] = (ImageView) findViewById(R.id.i11);
    
            for(int i=0;i<11;i++){
                num[i]=0;
            }
            num[1]=1;num[7]=2;num[10]=3;
            button=(Button)findViewById(R.id.back1);
            button.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    Intent intent=new Intent(MainActivity.this,Main3Activity.class);
                    startActivity(intent);
                }
            });
    
    
                glayout.setOnTouchListener(new View.OnTouchListener() {
                    @Override
                    public boolean onTouch(View view, MotionEvent event) {
    
    
                        switch (event.getAction()) {
                            case MotionEvent.ACTION_DOWN:
                                x = (int) event.getX();
                                y = (int) event.getY();
                                Log.e("a", Integer.toString(x) + "aa" + Integer.toString(y));
                                // return true;
                                break;
                            case MotionEvent.ACTION_UP:
                                currentx = (int) event.getX();
                                currenty = (int) event.getY();
                                Log.e("b", Integer.toString(currentx) + "aaa" + Integer.toString(currenty));
    
    
                                //不知道此处的用法是否正确
                                if (x - currentx > 0 && Math.abs(y - currenty) < 100) {
                                    Log.e("a", "left");
                                    int m = (int) (y / (view.getHeight() / 4)) * 3 + (int) (x / (view.getWidth() / 3));
                                    int n = (int) (x / (view.getWidth() / 3));
                                    if (num[m] > 0 && n != 0&&num[m - 1]==0) {
                                        num[m - 1] = num[m] - 1;
                                        num[m] = 0;
                                        text[m].setText("                       0                 ");
                                        text[m - 1].setText("                                      " + num[m - 1]);
                                        group[m - 1].setImageDrawable(group[m].getDrawable());
    
                                    }
                                } else if (x - currentx < 0 && Math.abs(y - currenty) < 100) {
                                    int m = (int) (y / (view.getHeight() / 4)) * 3 + (int) (x / (view.getWidth() / 3));
                                    int n = (int) (x / (view.getWidth() / 3));
                                    if (num[m] > 0 && n != 2&&num[m + 1] ==0) {
                                        num[m + 1] = num[m] - 1;
                                        num[m] = 0;
                                        text[m].setText("                       0                 ");
                                        text[m + 1].setText("                                     " + num[m + 1]);
                                        group[m + 1].setImageDrawable(group[m].getDrawable());
                                    }
                                } else if (y - currenty > 0 && Math.abs(x - currentx) < 100) {
                                    int m = (int) (y / (view.getHeight() / 4)) * 3 + (int) (x / (view.getWidth() / 3));
                                    int n = (int) (y / (view.getHeight() / 4));
                                    if (num[m] > 0 && n != 0&& num[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))]==0) {
                                        num[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))] = num[m] - 1;
                                        num[m] = 0;
                                        text[m].setText("                      0                 ");
                                        text[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))].setText("                                     " + num[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))]);
                                        group[(int) (y / (view.getHeight() / 4) - 1) * 3 + (int) (x / (view.getWidth() / 3))].setImageDrawable(group[m].getDrawable());
                                    }
                                } else if (y - currenty < 0 && Math.abs(x - currentx) < 100) {
                                    int m = (int) (y / (view.getHeight() / 4)) * 3 + (int) (x / (view.getWidth() / 3));
                                    int n = (int) (y / (view.getHeight() / 4));
                                    if (num[m] > 0 && n != 3&& num[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))]==0) {
                                        num[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))] = num[m] - 1;
                                        num[m] = 0;
                                        text[m].setText("                      0                 ");
                                        text[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))].setText("                                     " + num[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))]);
                                        group[(int) (y / (view.getHeight() / 4) + 1) * 3 + (int) (x / (view.getWidth() / 3))].setImageDrawable(group[m].getDrawable());
                                    }
                                } else {
                                    Toast.makeText(MainActivity.this, "try again", Toast.LENGTH_SHORT).show();
    
                                }
    
    
                        }
                        for(int i=0;i<11;i++){
                            if(num[i]!=0){
                                break;
                            }
                            if(i==10){
                                isWin();
                            }
                        }
                        return true;
                    }
                });
            }
    
    
        public void isWin(){
            for(int i=0;i<11;i++){
                if(!(group[i].getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.c).getConstantState()))){
                    AlertDialog.Builder alert=new AlertDialog.Builder(this);
                    alert.create();
                    alert.setTitle("Game");
                    alert.setIcon(R.drawable.fall);
                    alert.setCancelable(false);
                    alert.setMessage("对不起,你输了!
    你想要重新来过吗?亲!");
                    alert.setPositiveButton("恩",new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog,int which){
    
                            Intent intent =new Intent(MainActivity.this,MainActivity.class);
                            startActivity(intent);
                        }
    
                    });
                    alert.setNegativeButton("算了吧",new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog,int which){
                            Intent intent=new Intent(MainActivity.this,Main3Activity.class);
                            startActivity(intent);
                        }
                    });
                    alert.show();
                    break;
                }
    
    
    
    
    
                if(i==10&&group[i].getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.c).getConstantState())){
                    AlertDialog.Builder alert=new AlertDialog.Builder(this);
                    alert.create();
                    alert.setTitle("Game");
                    alert.setIcon(R.drawable.win);
                    alert.setCancelable(false);
                    alert.setMessage("恭喜你顺利过关!!
    你想要进入下一关吗?亲!");
                    alert.setPositiveButton("恩",new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog,int which){
    
                            Intent intent =new Intent(MainActivity.this,Main4Activity.class);
                            startActivity(intent);
                        }
    
                    });
                    alert.setNegativeButton("算了吧",new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog,int which){
                            Intent intent=new Intent(MainActivity.this,Main3Activity.class);
                            startActivity(intent);
                        }
                    });
                    alert.show();
                }
            }
    
    
    
    
    
    
    
    
    
    }
    
    public void onStop(){
    
            Intent intent=new Intent(MainActivity.this,MusicService.class);
            stopService(intent);
            super.onStop();
    }
    
    
    
    }
    package com.example.xxr.game3;
    
    import android.content.Context;
    import android.media.MediaPlayer;
    
    /**
     * Created by xxr on 2018/3/11.
     */
    
    public class music {
    
    
    
    private static  MediaPlayer music;
    private boolean musicSt=false;
    
    public  music(Context t){
        music= MediaPlayer.create(t,R.raw.no__goodbye);
        music.setLooping(true);
        if(!musicSt){
            music.start();
            musicSt=true;
        }
    
    }
    public void pause(){
        if(musicSt){
            music.stop();
            musicSt=false;
        }
    }
    
    
    
    }
    package com.example.xxr.game3;
    
    import android.app.Service;
    import android.content.Intent;
    import android.media.MediaPlayer;
    import android.os.IBinder;
    
    /**
     * Created by xxr on 2018/3/11.
     */
    
    public class MusicService extends Service {
        private MediaPlayer mediaPlayer;
        public IBinder onBind(Intent intent){
            return null;
        }
        public void onStart(Intent intent,int startld){
            super.onStart(intent,startld);
            if(mediaPlayer==null){
                mediaPlayer=MediaPlayer.create(this,R.raw.dzq);
    
    
    
    
                mediaPlayer.setLooping(true);
                mediaPlayer.start();
    
            }
        }
        public void onDestroy(){
            super.onDestroy();
            mediaPlayer.stop();
        }
    }
  • 相关阅读:
    yii2 gii 命令行自动生成控制器和模型
    控制器中的方法命名规范
    Vue Property or method "" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based
    IDEA插件:GsonFormat
    Spring Boot : Access denied for user ''@'localhost' (using password: NO)
    Typora添加主题
    Git基础命令图解
    Java Joda-Time 处理时间工具类(JDK1.7以上)
    Java日期工具类(基于JDK1.7版本)
    Oracle SQL Developer 连接Oracle出现【 状态: 失败 -测试失败: ORA-01017: invalid username/password; logon denied】
  • 原文地址:https://www.cnblogs.com/kekexxr/p/12292058.html
Copyright © 2011-2022 走看看