SenpaiZero

Untitled

Jan 4th, 2024
83
0
29 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.64 KB | None | 0 0
  1. package com.example.kidslearn;
  2.  
  3. import android.content.Intent;
  4. import android.graphics.Bitmap;
  5. import android.graphics.BitmapFactory;
  6. import android.graphics.drawable.Drawable;
  7. import android.media.MediaPlayer;
  8. import android.net.Uri;
  9. import android.os.Bundle;
  10. import android.util.Log;
  11. import android.view.View;
  12. import android.widget.Button;
  13. import android.widget.ImageButton;
  14. import android.widget.ImageView;
  15. import android.widget.ProgressBar;
  16. import android.widget.TextView;
  17. import android.widget.VideoView;
  18.  
  19. import androidx.constraintlayout.widget.ConstraintLayout;
  20.  
  21. import Helper.BaseActivity;
  22. import Helper.GameActivity;
  23. import Helper.LevelPopupHelper;
  24. import Helper.SoundHelper;
  25. import Helper.TimerHelper;
  26. import Helper.gameMenuHelper;
  27. import Helper.settingHelper;
  28. import Helper.userInterfaceHelper;
  29.  
  30. public class numberGame extends GameActivity {
  31.     userInterfaceHelper UIHelper;
  32.     gameMenuHelper gameHelper;
  33.  
  34.     Button[] answersBtn;
  35.     int[][][] choices;
  36.     int[] answers;
  37.     int level;
  38.     TextView questionTxt;
  39.     String[] questions;
  40.     String difficulty;
  41.     ImageView questionImg;
  42.     int userAnswer, levelIndex;
  43.     TimerHelper timer;
  44.     LevelPopupHelper popup;
  45.     @Override
  46.     protected void onCreate(Bundle savedInstanceState) {
  47.         super.onCreate(savedInstanceState);
  48.         setContentView(R.layout.activity_number_game);
  49.  
  50.         UIHelper = new userInterfaceHelper(this);
  51.         UIHelper.removeActionbar();
  52.         UIHelper.transparentStatusBar();
  53.  
  54.         gameHelper = new gameMenuHelper();
  55.         level = getIntent().getIntExtra("Level", 1);
  56.         difficulty = gameHelper.getDifficulty();
  57.  
  58.         String info = gameHelper.getDifficulty() + "\n" + level;
  59.         TextView infoTxt = findViewById(R.id.infoTxt);
  60.         infoTxt.setText(info);
  61.         questionImg = findViewById(R.id.imageQuestion);
  62.  
  63.         popup = new LevelPopupHelper(this);
  64.  
  65.         ImageButton backBtn;
  66.         backBtn = findViewById(R.id.backBtn);
  67.         backBtn.setOnClickListener(new View.OnClickListener() {
  68.             @Override
  69.             public void onClick(View v) {
  70.                 startActivity(new Intent(numberGame.this, levelDifficulty.class));
  71.             }
  72.         });
  73.         questionTxt = findViewById(R.id.questionTxt);
  74.         choices = new int[][][]
  75.                 {
  76.                         {{4, 5, 1}}, // ans is 1
  77.                         {{3, 6, 9}}, // ans is 3
  78.                         {{10, 5, 15}}, // ans is 5
  79.                         {{4, 6, 8}}, // ans is 4
  80.                         {{7, 2, 5}}, // ans is 7
  81.                         {{1, 6, 5}}, // ans is 6
  82.                         {{8, 5, 1}}, // ans is 5
  83.                         {{4, 6, 2}}, // ans is 2
  84.                         {{3, 8, 4}}, // ans is 3
  85.                         {{12, 18, 9}}, // ans is 18
  86.                         {{15, 10, 5}}, //ans is 10
  87.                         {{3, 6, 2}}, //ans is 3
  88.                         {{4, 6, 9}}, //ans is 9
  89.                         {{5, 3, 7}}, //ans is 7
  90.                         {{10, 5, 6}} //ans is 5
  91.                 };
  92.         Bitmap[] images =
  93.                 {
  94.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number1),
  95.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number2),
  96.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number3),
  97.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number4),
  98.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number5),
  99.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number6),
  100.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number7),
  101.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number8),
  102.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number9),
  103.                         BitmapFactory.decodeResource(this.getResources(), R.drawable.number10)
  104.  
  105.                 };
  106.         answers = new int[] {1, 3, 5, 4, 7, 6, 5, 2, 3, 18, 10, 3, 9, 7, 5};
  107.  
  108.         answersBtn = new Button[] {
  109.                 findViewById(R.id.ans1),
  110.                 findViewById(R.id.ans2),
  111.                 findViewById(R.id.ans3)
  112.         };
  113.  
  114.         questions = new String[]
  115.                 {
  116.                   "5 + 5",
  117.                   "2 + 1",
  118.                   "4 + 5",
  119.                   "5 + 2",
  120.                   "3 + 2"
  121.                 };
  122.         int addLevelIndex = 0;
  123.         if(difficulty.equalsIgnoreCase(gameHelper.easyDiff()))
  124.         {
  125.             Log.i("Diff", gameHelper.getDifficulty());
  126.             addLevelIndex = 0;
  127.             levelIndex = (level - 1) + addLevelIndex;
  128.             questionImg.setImageBitmap(images[levelIndex]);
  129.             questionImg.setVisibility(View.VISIBLE);
  130.             questionTxt.setVisibility(View.GONE);
  131.         }
  132.         else if(difficulty.equalsIgnoreCase(gameHelper.mediumDiff()))
  133.         {
  134.             Log.i("Diff", gameHelper.getDifficulty());
  135.             addLevelIndex = 5;
  136.             levelIndex = (level - 1) + addLevelIndex;
  137.             questionImg.setImageBitmap(images[levelIndex]);
  138.             questionImg.setVisibility(View.VISIBLE);
  139.             questionTxt.setVisibility(View.GONE);
  140.         }else if(difficulty.equalsIgnoreCase(gameHelper.hardDiff()))
  141.         {
  142.             Log.i("Diff", gameHelper.getDifficulty() + levelIndex);
  143.             addLevelIndex = 10;
  144.             levelIndex = (level - 1) + addLevelIndex;
  145.             questionTxt.setText(questions[level-1]);
  146.             questionImg.setVisibility(View.GONE);
  147.             questionTxt.setVisibility(View.VISIBLE);
  148.         }
  149.         answersBtn[0].setText(String.valueOf(choices[levelIndex][0][0]));
  150.         answersBtn[1].setText(String.valueOf(choices[levelIndex][0][1]));
  151.         answersBtn[2].setText(String.valueOf(choices[levelIndex][0][2]));
  152.  
  153.         answersBtn[0].setOnClickListener(new View.OnClickListener() {
  154.             @Override
  155.             public void onClick(View v) {
  156.                 userAnswer = choices[levelIndex][0][0];
  157.                 Log.i("Btn1", "clicked: "+userAnswer );
  158.                 checkAnswer();
  159.             }
  160.         });
  161.         answersBtn[1].setOnClickListener(new View.OnClickListener() {
  162.             @Override
  163.             public void onClick(View v) {
  164.                 userAnswer = choices[levelIndex][0][1];
  165.                 Log.i("Btn2", "clicked: "+userAnswer );
  166.                 checkAnswer();
  167.             }
  168.         });
  169.         answersBtn[2].setOnClickListener(new View.OnClickListener() {
  170.             @Override
  171.             public void onClick(View v) {
  172.                 userAnswer = choices[levelIndex][0][2];
  173.                 Log.i("Btn3", "clicked: "+userAnswer );
  174.                 checkAnswer();
  175.             }
  176.         });
  177.  
  178.         Button skipTutBtn = findViewById(R.id.skipBtn);
  179.         VideoView videoView = findViewById(R.id.tutVid);
  180.         ConstraintLayout tutPopup = findViewById(R.id.tutorial);
  181.  
  182.         if(level <= 1)
  183.         {
  184.             tutPopup.setZ(90);
  185.             tutPopup.setTranslationZ(90);
  186.             tutPopup.setVisibility(View.VISIBLE);
  187.  
  188.             String videoPath = "android.resource://" + getPackageName() + "/raw/" + "numbers_lvl1";
  189.             videoView.setVideoURI(Uri.parse(videoPath));
  190.             videoView.start();
  191.             videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
  192.                 @Override
  193.                 public void onPrepared(MediaPlayer mp) {
  194.                     mp.setLooping(true);
  195.                 }
  196.             });
  197.         }
  198.         else
  199.         {
  200.             setupTimer();
  201.         }
  202.         skipTutBtn.setOnClickListener(new View.OnClickListener() {
  203.             @Override
  204.             public void onClick(View v) {
  205.                 tutPopup.setVisibility(View.GONE);
  206.                 setupTimer();
  207.             }
  208.         });
  209.     }
  210.  
  211.     void setupTimer()
  212.     {
  213.         ProgressBar progressBar = findViewById(R.id.progressBar);
  214.         timer = new TimerHelper(30000, 1000);
  215.  
  216.         timer.setOnTimerTickListener(new TimerHelper.OnTimerTickListener() {
  217.             @Override
  218.             public void onTick(long secondsRemaining) {
  219.                 int progress = (int) secondsRemaining;
  220.                 Drawable drawable = getResources().getDrawable(R.drawable.hourglass);
  221.                 drawable.setLevel((int) (progress * 1000 / progressBar.getMax()));
  222.                 progressBar.setProgress(progress);
  223.             }
  224.         });
  225.         timer.setOnTimerFinishedListener(new TimerHelper.OnTimerFinishedListener() {
  226.             @Override
  227.             public void onTimerFinished() {
  228.                 popup.showTimeout();
  229.                 SoundHelper sfx = new SoundHelper(numberGame.this, R.raw.time_out, false);
  230.             }
  231.         });
  232.     }
  233.  
  234.     void checkAnswer()
  235.     {
  236.         Log.i("Btn", "ans " + levelIndex);
  237.         if(userAnswer == answers[levelIndex])
  238.         {
  239.             SoundHelper sfx = new SoundHelper(numberGame.this, R.raw.level_complete, false);
  240.  
  241.             increaseLevel(level, "number");
  242.             popup.showNextLevel();
  243.             timer.cancelTimer();
  244.         }
  245.     }
  246.     @Override
  247.     protected void onPause() {
  248.         super.onPause();
  249.         if(timer != null)
  250.             timer.cancelTimer();
  251.     }
  252.     @Override
  253.     protected void onDestroy() {
  254.         super.onDestroy();
  255.         if(timer != null)
  256.             timer.cancelTimer();
  257.     }
  258.     @Override
  259.     protected  void onResume() {
  260.         super.onResume();
  261.         if(timer != null)
  262.             timer.resumeTimer();
  263.  
  264.     }
  265. }
Add Comment
Please, Sign In to add comment