Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hist.kopitin.histquiz;
- import androidx.appcompat.app.AppCompatActivity;
- import android.app.Dialog;
- import android.content.Intent;
- import android.graphics.Color;
- import android.graphics.drawable.ColorDrawable;
- import android.os.Bundle;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.Window;
- import android.view.WindowManager;
- import android.view.animation.Animation;
- import android.view.animation.AnimationUtils;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.TextView;
- import java.util.Random;
- public class Level1 extends AppCompatActivity {
- Dialog /*базовый класс создающ диалог окно*/dialog;/*имя диалог окна*/
- public int numLeft;// переменная для левой картинки + текст
- public int numRight; //Перемення для правой картинки + текст
- public int power1;
- Array array = new Array(); //Создали новый объект из класса Array
- Random random = new Random(); //Для генерации случайных чисел
- public int count = 0; //счётчик правильных ответов
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.universal);
- //Создаём переменную text_levels
- final TextView text_levels = findViewById(R.id.text_levels);
- text_levels.setText(R.string.level1);// установили текст
- final ImageView img_left = (ImageView)findViewById(R.id.img_left); //говорит телефону о том что расположили на экране картинку
- //код, скругляющий углы левой
- img_left.setClipToOutline(true);
- final ImageView img_right = (ImageView)findViewById(R.id.img_right); //говорит телефону о том что расположили на экране картинку
- //код, скругляющий углы правой картинки
- img_right.setClipToOutline(true);
- //путь к левой TextView
- final TextView text_left = findViewById(R.id.text_left);
- //Путь к правой TextView
- final TextView text_right = findViewById(R.id.text_right);
- //путь к тексту задания
- final TextView text_quest = findViewById(R.id.text_levels);
- //Развернуть игру на весь экран начало убирает строку навигации
- 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(Level1.this, GameLevels.class);//создали намерение для перехода из окна 1го уровня Level1.this к меню выбора других уровней GameLevels.class
- startActivity(intent); //страрт намерения
- finish(); //закрыть этот класс - окно
- //вернуться назад к выбору уровня - конец
- }catch (Exception e){
- //в блоке кода, ловящего ошибки, кода не будет
- // Обрабатываем нажатие кнопки - конец
- }
- dialog.dismiss(); //Закрываем диалог окно
- // Обрабатываем нажатие кнопки - конец
- }
- });
- //кнопка закр диалог окно - конец
- //Кнопка продолжить - начало
- Button btncontinue = (Button)dialog.findViewById(R.id.buttoncontinue);
- btncontinue.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.dismiss(); //закрываем дилоговое окно
- }
- });
- //Кнопка продолжить - конец
- dialog.show(); //показать диалоговое окно
- //Кнопка назад - начало
- Button btn_back =(Button)findViewById(R.id.button_back);
- btn_back.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //Обрабатываем нажатие кнопки - начало
- try {
- //вернуться назад к выбору уровня - начало
- Intent intent = new Intent(Level1.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(Level1.this, R.anim.alpha);
- //Подключаем анимацию - конец
- numLeft = random.nextInt(10); //Генерируем случайное число от 0 до 9
- img_left.setImageResource(array.images1[numLeft]); //Достаем из массива картинку
- text_left.setText(array.texts1[numLeft]); //Достаем из массива текст
- numRight = random.nextInt(10);//Генерируем случайное число от 0 до 9
- //Цикл с предусловием,проверяющий равенство чисел - начало
- while (numLeft==numRight){
- numRight = random.nextInt(10);
- }
- //Цикл с предусловием,проверяющий равенство чисел - конец
- img_right.setImageResource(array.images1[numRight]); //достаём из массива картинку
- text_right.setText(array.texts1[numRight]); //Достаём из массива текст
- text_levels.setText(array.textsq1[numRight]);//достаём из массива текст задания
- //Обрабатываем нажатие на левую клавишу - начало
- img_left.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- //условие касания картинки - начало
- if (event.getAction()==MotionEvent.ACTION_DOWN){
- //если коснулся картинки - начало
- img_right.setEnabled(false);//Блокируем правую картинку при нажжатиии левой
- if (numLeft>numRight){
- img_left.setImageResource(R.drawable.img_true);
- }else{
- img_left.setImageResource(R.drawable.img_wrong);
- }
- //если коснулся картинки - конец
- }else if (event.getAction()==MotionEvent.ACTION_UP){
- //если отпустил палец - начало
- if(numLeft>numRight){
- //Если левая картинка больше
- if(count<10){
- count=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=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==20){
- //выход из уровня
- }else{
- numLeft = random.nextInt(10); //Генерируем случайное число от 0 до 9
- img_left.setImageResource(array.images1[numLeft]); //Достаем из массива картинку
- img_left.startAnimation(a);
- text_left.setText(array.texts1[numLeft]); //Достаем из массива текст
- numRight = random.nextInt(10);//Генерируем случайное число от 0 до 9
- //Цикл с предусловием,проверяющий равенство чисел - начало
- while (numLeft==numRight){
- numRight = random.nextInt(10);
- }
- //Цикл с предусловием,проверяющий равенство чисел - конец
- text_levels.setText(array.textsq1[numLeft]);//достаём из массива текст задания
- img_right.setImageResource(array.images1[numRight]); //достаём из массива картинку
- img_right.startAnimation(a);
- text_right.setText(array.texts1[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_left.setEnabled(false);//Блокируем левую картинку при нажжатиии правой
- if (numLeft<numRight){
- img_right.setImageResource(R.drawable.img_true);
- }else{
- img_right.setImageResource(R.drawable.img_wrong);
- }
- //если коснулся картинки - конец
- }else if (event.getAction()==MotionEvent.ACTION_UP){
- //если отпустил палец - начало
- if(numLeft<numRight){
- //Если правая картинка больше
- if(count<10){
- count=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=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==20){
- //выход из уровня
- }else{
- numLeft = random.nextInt(10); //Генерируем случайное число от 0 до 9
- img_left.setImageResource(array.images1[numLeft]); //Достаем из массива картинку
- img_left.startAnimation(a);
- text_left.setText(array.texts1[numLeft]); //Достаем из массива текст
- numRight = random.nextInt(10);//Генерируем случайное число от 0 до 9
- //Цикл с предусловием,проверяющий равенство чисел - начало
- while (numLeft==numRight){
- numRight = random.nextInt(10);
- }
- //Цикл с предусловием,проверяющий равенство чисел - конец
- text_levels.setText(array.textsq1[numRight]);//достаём из массива текст задания
- img_right.setImageResource(array.images1[numRight]); //достаём из массива картинку
- img_right.startAnimation(a);
- text_right.setText(array.texts1[numRight]); //Достаём из массива текст
- img_left.setEnabled(true); //включ обратно картинку левуюю
- }
- }
- //условие касания картинки - конец
- return true;
- }
- });
- //Обрабатываем нажатие на правую картинку - конец
- }
- //Системная кнопка назад - начало
- @Override
- public void onBackPressed(){
- //Обрабатываем нажатие кнопки - начало
- try {
- //вернуться назад к выбору уровня - начало
- Intent intent = new Intent(Level1.this, GameLevels.class);//Создаем намерение для перехода
- startActivity(intent);//Старт намерения
- finish(); // закрываем этот класс
- //вернуться назад к выбору уровня - конец
- }catch (Exception e){
- //кода не будет
- }
- //Обрабатываем нажатие кнопки - конец
- }
- //Системная кнопка назад - конец
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement