private Button playButton;
Dialog dialog;
public int numLeft;
public int numRight;
public int numSound;
MediaPlayer mp;
public int randomSong;
Array array = new Array();
int numsound;
Random random = new Random();
public int count = 0;
public Jazz() {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.universal);
final ImageView img_test = (ImageView) findViewById(R.id.img_test);
img_test.setClipToOutline(true);
final ImageView img_right = (ImageView) findViewById(R.id.img_right);
img_right.setClipToOutline(true);
final TextView text_left = findViewById(R.id.text_test);
final TextView text_right = findViewById(R.id.text_right);
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
//Вызов диалогового окна
dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.previewdialog);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.setCancelable(false);
//Кнопка закрытия диалогового окна
TextView btnclose = (TextView) dialog.findViewById(R.id.btnclose);
btnclose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Intent intent = new Intent(Jazz.this, GameLevels.class);
startActivity(intent);
finish();
} catch (Exception e) {
}
dialog.dismiss();
}
});
//Кнопка продолжить
Button button = (Button) dialog.findViewById(R.id.btncontinue);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
Button button_back = (Button) findViewById(R.id.button_back);
button_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Intent intent = new Intent(Jazz.this, GameLevels.class);
startActivity(intent);
finish();
} catch (Exception e) {
}
}
});
//Массив прогресса игры - начало
final int[] progress = {
R.id.point1, R.id.point2, R.id.point3, R.id.point4, R.id.point5,
R.id.point6, R.id.point7, R.id.point8, R.id.point9, R.id.point10,
};
//Массив прогресса игры - конец
//Анимация - начало
final Animation a = AnimationUtils.loadAnimation(Jazz.this, R.anim.alpha);
//Анимация - конец
int numsound = random.nextInt(array.jazzsounds.length);
numLeft = random.nextInt(array.jazzsounds.length);
img_test.setImageResource(array.imgs1[numLeft]);
text_left.setText(array.text1[numLeft]);
numRight = random.nextInt(array.jazzsounds.length);
while (numLeft == numRight) {
numRight = random.nextInt(array.jazzsounds.length);
}
if (randomSong != array.jazzsounds[numLeft] && randomSong != array.jazzsounds[numRight]) {
randomSong = random.nextInt(array.jazzsounds.length);
}
randomSong = array.jazzsounds[numsound];
img_right.setImageResource(array.imgs1[numRight]);
text_right.setText(array.text1[numRight]);
//Обработка нажатия на левую картинку - начало
img_test.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//Условие касания картинки - начало
if (event.getAction() ==MotionEvent.ACTION_DOWN) {
//Если коснулся картинки - начало
img_right.setEnabled(false);
if (array.jazzsounds[numLeft] == randomSong) {
img_test.setImageResource(R.drawable.img_true);
}else{
img_test.setImageResource(R.drawable.img_false);
}
//Если коснулся картинки - конец
}else if (event.getAction() ==MotionEvent.ACTION_UP) {
//Если отпустил палец - начало
if (array.jazzsounds[numLeft] == randomSong) {
//Если левая картинка равна
if (count < 10) {
count += 1;
}
//Закрашивание шкалы прогресса серым цветом - начало
for (int i = 0; i < 10; i++) {
TextView tv = findViewById(progress[i]);
tv.setBackgroundResource(R.drawable.style_points);
}
//Закрашивание шкалы прогресса серым цветом - конец
//Закрашивание шкалы прогресса зелёным цветом - начало
for (int i = 0; i < count; i++) {
TextView tv = findViewById(progress[i]);
tv.setBackgroundResource(R.drawable.style_points_green);
}
//Закрашивание шкалы прогресса зелёным цветом - конец
}else{
//Если левая картинка не равна
if (count > 0) {
if (count == 1) {
count = 0;
}else{
count -= 2;
}
}
//Закрашивание шкалы прогресса серым цветом - начало
for (int i = 0; i < 9; i++) {
TextView tv = findViewById(progress[i]);
tv.setBackgroundResource(R.drawable.style_points);
}
//Закрашивание шкалы прогресса серым цветом - конец
//Закрашивание шкалы прогресса зелёным цветом - начало
for (int i = 0; i < count; i++) {
TextView tv = findViewById(progress[i]);
tv.setBackgroundResource(R.drawable.style_points_green);
}
//Закрашивание шкалы прогресса зелёным цветом - конец
}
//Если опустил палец - конец
if (count == 10) {
//Выход из уровня Jazz
}else{
numLeft = random.nextInt(array.jazzsounds.length);
img_test.setImageResource(array.imgs1[numLeft]);
img_test.startAnimation(a);
text_left.setText(array.text1[numLeft]);
numRight = random.nextInt(array.jazzsounds.length);
while (numLeft == numRight) {
numRight = random.nextInt(array.jazzsounds.length);
}
if (randomSong != array.jazzsounds[numLeft] && randomSong != array.jazzsounds[numRight]) {
randomSong = random.nextInt(array.jazzsounds.length);
}
img_right.setImageResource(array.imgs1[numRight]);
img_right.startAnimation(a);
text_right.setText(array.text1[numRight]);
img_right.setEnabled(true); //Включение правой картинки
}
}
//Условие касания картинки - конец
return true;
}
});
//Обработка нажатия на левую картинку - конец
//Обработка нажатия на правую картинку - начало
img_right.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//Условие касания картинки - начало
if (event.getAction() ==MotionEvent.ACTION_DOWN) {
//Если коснулся картинки - начало
img_test.setEnabled(false);
if (array.jazzsounds[numRight] == randomSong) {
img_right.setImageResource(R.drawable.img_true);
}else{
img_right.setImageResource(R.drawable.img_false);
}
//Если коснулся картинки - конец
}else if (event.getAction() ==MotionEvent.ACTION_UP) {
//Если отпустил палец - начало
if (array.jazzsounds[numRight] == randomSong) {
//Если правая картинка равна
if (count < 10) {
count += 1;
}
//Закрашивание шкалы прогресса серым цветом - начало
for (int i = 0; i < 10; i++) {
TextView tv = findViewById(progress[i]);
tv.setBackgroundResource(R.drawable.style_points);
}
//Закрашивание шкалы прогресса серым цветом - конец
//Закрашивание шкалы прогресса зелёным цветом - начало
for (int i = 0; i < count; i++) {
TextView tv = findViewById(progress[i]);
tv.setBackgroundResource(R.drawable.style_points_green);
}
//Закрашивание шкалы прогресса зелёным цветом - конец
}else{
//Если правая картинка не равна
if (count > 0) {
if (count == 1) {
count = 0;
}else{
count -= 2;
}
}
//Закрашивание шкалы прогресса серым цветом - начало
for (int i = 0; i < 9; i++) {
TextView tv = findViewById(progress[i]);
tv.setBackgroundResource(R.drawable.style_points);
}
//Закрашивание шкалы прогресса серым цветом - конец
//Закрашивание шкалы прогресса зелёным цветом - начало
for (int i = 0; i < count; i++) {
TextView tv = findViewById(progress[i]);
tv.setBackgroundResource(R.drawable.style_points_green);
}
//Закрашивание шкалы прогресса зелёным цветом - конец
}
//Если опустил палец - конец
if (count == 10) {
//Выход из уровня Jazz
}else{
numLeft = random.nextInt(array.jazzsounds.length);
img_test.setImageResource(array.imgs1[numLeft]);
img_test.startAnimation(a);
text_left.setText(array.text1[numLeft]);
numRight = random.nextInt(array.jazzsounds.length);
while (numLeft == numRight) {
numRight = random.nextInt(array.jazzsounds.length);
}
if (randomSong != array.jazzsounds[numLeft] && randomSong != array.jazzsounds[numRight]) {
randomSong = random.nextInt(array.jazzsounds.length);
}
img_right.setImageResource(array.imgs1[numRight]);
img_right.startAnimation(a);
text_right.setText(array.text1[numRight]);
//Обновление кнопки проиграть музыку - начало
//Обновление кнопки проиграть музыку - конец
img_test.setEnabled(true); //Включение левой картинки
}
}
//Условие касания картинки - конец
return true;
}
});
//Обработка нажатия на правую картинку - конец
// проверка, чтобы песня совпадала с numleft или numright
while ((numsound != numLeft) && (numsound != numRight)) {
numsound = random.nextInt(array.jazzsounds.length);
}
// обработчик кнопки для проигрывания музыки
Button buttonplaymusic = findViewById(R.id.button_play_misic);
buttonplaymusic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
playMusic(randomSong);
} catch (Exception e) {
e.printStackTrace();
}
}
});
// обработчик кнопки для остановки музыки
Button buttonmusicstop = findViewById(R.id.button_music_stop);
buttonmusicstop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp != null) {
mp.stop();
mp.release();
mp = null;
}
}
});
}
private void playMusic(int randomSong) {
if (mp != null) {
mp.release();
}
mp = MediaPlayer.create(getApplicationContext(), randomSong);
mp.setLooping(true);
mp.start();
}