package com.example.lesson3;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.Collections;
public class MainActivity extends AppCompatActivity {
int emptyI = 2;
int emptyJ = 2;
private TextView timeShow, stepShow;
private Button stop, reStart;
private ViewGroup btnsGroup;
private Button[][] btns = new Button[3][3];
private ArrayList numbers = new ArrayList<>();
int steps = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loadViews();
loadDataToView();
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
// getTags();
}
private void getTags() {
for (int i = 0; i < btnsGroup.getChildCount(); i++) {
if (btnsGroup.getChildAt(i) instanceof Button) {
btns[i / 3][i % 3] = (Button) btnsGroup.getChildAt(i);
Log.i("TTTT", btns[i / 3][i % 3].getTag().toString());
}
}
}
private void loadViews() {
loadNumbers();
timeShow = findViewById(R.id.time_show);
stepShow = findViewById(R.id.step_show);
stop = findViewById(R.id.stop);
reStart = findViewById(R.id.restart);
btnsGroup = findViewById(R.id.btns_group);
for (int i = 0; i < btnsGroup.getChildCount(); i++) {
if (btnsGroup.getChildAt(i) instanceof Button) {
btns[i / 3][i % 3] = (Button) btnsGroup.getChildAt(i);
btns[i / 3][i % 3].setTag(i / 3 + "" + i % 3);
}
}
}
private void loadNumbers() {
numbers.clear();
for (int i = 1; i < 9; i++) {
numbers.add(i);
}
Collections.shuffle(numbers);
}
private void loadDataToView() {
for (int i = 0; i < btnsGroup.getChildCount() - 1; i++) {
if (btnsGroup.getChildAt(i) instanceof Button) {
btns[i / 3][i % 3].setText(String.valueOf(numbers.get(i)));
}
}
stepShow.setText(String.valueOf(steps));
}
public void ButtonClick(View view) {
Button button = (Button) view;
int i = Integer.parseInt(String.valueOf(String.valueOf(button.getTag()).charAt(0)));
int j = Integer.parseInt(String.valueOf(String.valueOf(button.getTag()).charAt(1)));
Log.i("TTTT", "ButtonClick: i="+i+" j="+j);
if ((i == emptyI && Math.abs(j - emptyJ) == 1) || (j == emptyJ && Math.abs(i - emptyI) == 1)) {
Log.i("TTTT", "True");
btns[emptyI][emptyJ].setText(button.getText());
btns[emptyI][emptyJ].setBackgroundColor(Color.parseColor("#03A9F4"));
button.setText("");
button.setBackgroundColor(Color.parseColor("#0003A9F4"));
emptyI = i;
emptyJ = j;
steps++;
stepShow.setText(String.valueOf(steps));
}
}
}
Do'stlaringiz bilan baham: |