Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quiz & Timer Update #245

Merged
merged 5 commits into from
Nov 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions app/src/main/java/com/GrowthPlus/Game2.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import android.widget.TextView;

import com.GrowthPlus.customViews.Banana;
import com.GrowthPlus.customViews.CustomTimerComponent;
import com.GrowthPlus.customViews.CircleTimer;
import com.GrowthPlus.customViews.TopBar;
import com.GrowthPlus.dataAccessLayer.ChildRoadMap.ChildRoadMap;
import com.GrowthPlus.dataAccessLayer.RoadMapLesson.RoadMapLesson;
Expand All @@ -36,6 +36,8 @@
public class Game2 extends AppCompatActivity {
final int MAX = 20;
final int MIN_TO_PASS = 14;
final int TOTALTIMER = 21000;
final int INTERVAL = 100;
ChildSchema child;
Realm realm;
TopBar gameTopBar;
Expand All @@ -52,7 +54,7 @@ public class Game2 extends AppCompatActivity {
private MediaPlayer correct, incorrect, background;
ConstraintLayout topBarBackground;
private CountDownTimer countDownTimer;
private CustomTimerComponent customTimerComponent;
private CircleTimer circleTimer;
private final AlphaAnimation buttonClick = new AlphaAnimation(1F, 0.8F);

@Override
Expand Down Expand Up @@ -103,6 +105,7 @@ private void init(){
incorrect = MediaPlayer.create(this, R.raw.incorrect);
incorrect.setVolume((float)4, (float)4);
background = MediaPlayer.create(this, R.raw.market);
circleTimer = findViewById(R.id.circleTimer);

for(int i = 0; i <= 39; i++)
forty.add(i);
Expand Down Expand Up @@ -379,15 +382,15 @@ protected void onDestroy() {

//sets a timer that counts down from 30 and moves on if the user doesn't choose an answer in time
private void setTimer() {
customTimerComponent = findViewById(R.id.countdownTimer);
countDownTimer = new CountDownTimer(21000, 1000) {

countDownTimer = new CountDownTimer(TOTALTIMER, INTERVAL){
@Override
public void onTick(long millisUntilFinished) {
customTimerComponent.setTimerText(""+millisUntilFinished / 1000);
float progress = (float) millisUntilFinished / TOTALTIMER;
circleTimer.setProgress(progress);
}
public void onFinish() {
countDownTimer.cancel();
public void onFinish(){
playIncorrect();
circleTimer.setProgress(0);
wrongAnimation(b1, b2, b3);
deactivate();
showNext();
Expand Down
16 changes: 10 additions & 6 deletions app/src/main/java/com/GrowthPlus/Game3.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import android.widget.Button;
import android.widget.TextView;

import com.GrowthPlus.customViews.CustomTimerComponent;
import com.GrowthPlus.customViews.CircleTimer;
import com.GrowthPlus.customViews.Soccer;
import com.GrowthPlus.customViews.TopBar;
import com.GrowthPlus.dataAccessLayer.ChildRoadMap.ChildRoadMap;
Expand All @@ -36,6 +36,8 @@
public class Game3 extends AppCompatActivity {
final int MAX = 20;
final int MIN_TO_PASS = 14;
final int TOTALTIMER = 21000;
final int INTERVAL = 100;
ChildSchema child;
Realm realm;
TopBar gameTopBar;
Expand All @@ -55,7 +57,7 @@ public class Game3 extends AppCompatActivity {
int[] twoPos = new int[2];
int[] threePos = new int[2];
private CountDownTimer countDownTimer;
private CustomTimerComponent customTimerComponent;
private CircleTimer circleTimer;
private final AlphaAnimation buttonClick = new AlphaAnimation(1F, 0.8F);

@Override
Expand Down Expand Up @@ -104,6 +106,7 @@ private void init(){
incorrect = MediaPlayer.create(this, R.raw.incorrect);
incorrect.setVolume((float)4, (float)4);
background = MediaPlayer.create(this, R.raw.soccer);
circleTimer = findViewById(R.id.circleTimer);

DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
Expand Down Expand Up @@ -387,14 +390,15 @@ protected void onDestroy() {

//sets a timer that counts down from 30 and moves on if the user doesn't choose an answer in time
private void setTimer() {
customTimerComponent = findViewById(R.id.countdownTimer);
countDownTimer = new CountDownTimer(21000, 1000) {
countDownTimer = new CountDownTimer(TOTALTIMER, INTERVAL){
@Override
public void onTick(long millisUntilFinished) {
customTimerComponent.setTimerText(""+millisUntilFinished / 1000);
float progress = (float) millisUntilFinished / TOTALTIMER;
circleTimer.setProgress(progress);
}
public void onFinish() {
countDownTimer.cancel();
playIncorrect();
circleTimer.setProgress(0);
move4a.start();
move4b.start();
move5a.start();
Expand Down
16 changes: 10 additions & 6 deletions app/src/main/java/com/GrowthPlus/Game4.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import android.widget.TextView;

import com.GrowthPlus.customViews.Coconut;
import com.GrowthPlus.customViews.CustomTimerComponent;
import com.GrowthPlus.customViews.CircleTimer;
import com.GrowthPlus.customViews.TopBar;
import com.GrowthPlus.dataAccessLayer.ScenarioGame.ScenarioGameContent;
import com.GrowthPlus.dataAccessLayer.ScenarioGame.ScenarioGameSchema;
Expand All @@ -34,6 +34,8 @@
public class Game4 extends AppCompatActivity {
final int MAX = 20;
final int MIN_TO_PASS = 14;
final int TOTALTIMER = 21000;
final int INTERVAL = 100;
ChildSchema child;
Realm realm;
TopBar gameTopBar;
Expand All @@ -51,7 +53,7 @@ public class Game4 extends AppCompatActivity {
ConstraintLayout topBarBackground;
float height1;
private CountDownTimer countDownTimer;
private CustomTimerComponent customTimerComponent;
private CircleTimer circleTimer;
private final AlphaAnimation buttonClick = new AlphaAnimation(1F, 0.8F);

@Override
Expand Down Expand Up @@ -101,6 +103,7 @@ private void init(){
incorrect = MediaPlayer.create(this, R.raw.incorrect);
incorrect.setVolume((float)4, (float)4);
background = MediaPlayer.create(this, R.raw.wind);
circleTimer = findViewById(R.id.circleTimer);

DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
Expand Down Expand Up @@ -355,14 +358,15 @@ protected void onDestroy() {

//sets a timer that counts down from 30 and moves on if the user doesn't choose an answer in time
private void setTimer() {
customTimerComponent = findViewById(R.id.countdownTimer);
countDownTimer = new CountDownTimer(21000, 1000) {
countDownTimer = new CountDownTimer(TOTALTIMER, INTERVAL){
@Override
public void onTick(long millisUntilFinished) {
customTimerComponent.setTimerText(""+millisUntilFinished / 1000);
float progress = (float) millisUntilFinished / TOTALTIMER;
circleTimer.setProgress(progress);
}
public void onFinish() {
countDownTimer.cancel();
playIncorrect();
circleTimer.setProgress(0);
wrongAnimation(c1, c2, c3);
deactivate();
showCorrect();
Expand Down
48 changes: 33 additions & 15 deletions app/src/main/java/com/GrowthPlus/Quiz.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import android.view.animation.AlphaAnimation;
import android.widget.Button;

import com.GrowthPlus.customViews.CustomTimerComponent;
import com.GrowthPlus.customViews.CircleTimer;
import com.GrowthPlus.customViews.QuizCircle;
import com.GrowthPlus.customViews.TopBar;
import com.GrowthPlus.dataAccessLayer.Language.Translator;
Expand All @@ -35,6 +35,8 @@

public class Quiz extends AppCompatActivity {
final int MAX = 10;
final int TOTALTIMER = 16000;
final int INTERVAL = 100;
ChildSchema child;
Realm realm;
TopBar quizTopBar;
Expand All @@ -46,9 +48,9 @@ public class Quiz extends AppCompatActivity {
QuizCircle cir1, cir2, cir3, cir4;
ArrayList<Integer> twenty = new ArrayList<>(20);
private CountDownTimer countDownTimer;
private CustomTimerComponent customTimerComponent;
private MediaPlayer correct, incorrect;
private final AlphaAnimation buttonClick = new AlphaAnimation(1F, 0.8F);
private CircleTimer circleTimer;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -231,6 +233,7 @@ private void init(){
minScoreToPass = 7;
correct = MediaPlayer.create(this, R.raw.correct);
incorrect = MediaPlayer.create(this, R.raw.incorrect);
circleTimer = findViewById(R.id.circleTimer);

for(int i = 0; i <= 19; i++)
twenty.add(i);
Expand Down Expand Up @@ -404,18 +407,35 @@ private void deactivate(){
cir4.setOnClickListener(null);
}

//sets a timer that counts down from 30 and moves on if the user doesn't choose an answer in time
private void setTimer() {
customTimerComponent = findViewById(R.id.countdownTimer);
countDownTimer = new CountDownTimer(16000, 1000) {

public void onTick(long millisUntilFinished) {
customTimerComponent.setTimerText(""+millisUntilFinished / 1000);
private void setTimer(){
countDownTimer = new CountDownTimer(TOTALTIMER, INTERVAL){
@Override
public void onTick(long millisUntilFinished){
float progress = (float) millisUntilFinished / TOTALTIMER;
circleTimer.setProgress(progress);
}
public void onFinish() {
countDownTimer.cancel();
nextContent.setVisibility(View.VISIBLE); //make the next button visible
nextContent.performClick(); //and programmatically click it

@Override
public void onFinish(){
playIncorrect();
circleTimer.setProgress(0);

// show correct answer
if(cir1.getAnswer().equals(contents.get(twenty.get(counter)).getAnswer())){
cir1.correct();
}
else if(cir2.getAnswer().equals(contents.get(twenty.get(counter)).getAnswer())){
cir2.correct();
}
else if(cir3.getAnswer().equals(contents.get(twenty.get(counter)).getAnswer())){
cir3.correct();
}
else{
cir4.correct();
}

deactivate();
nextContent.setVisibility(View.VISIBLE);
}
}.start();
}
Expand Down Expand Up @@ -458,6 +478,4 @@ protected void onDestroy() {
// Close the Realm instance.
realm.close();
}


}
42 changes: 31 additions & 11 deletions app/src/main/java/com/GrowthPlus/Quiz2.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import android.view.animation.AlphaAnimation;
import android.widget.Button;

import com.GrowthPlus.customViews.CustomTimerComponent;
import com.GrowthPlus.customViews.CircleTimer;
import com.GrowthPlus.customViews.QuizCircle;
import com.GrowthPlus.customViews.TopBar;
import com.GrowthPlus.dataAccessLayer.Language.Translator;
Expand All @@ -36,6 +36,8 @@

public class Quiz2 extends AppCompatActivity {
final int MAX = 10;
final int TOTALTIMER = 21000;
final int INTERVAL = 100;
ChildSchema child;
Realm realm;
TopBar quizTopBar;
Expand All @@ -47,11 +49,11 @@ public class Quiz2 extends AppCompatActivity {
QuizCircle cir1, cir2, cir3, cir4;
ArrayList<Integer> twenty = new ArrayList<>(20);
private CountDownTimer countDownTimer;
private CustomTimerComponent customTimerComponent;
private MediaPlayer correct, incorrect;
ConstraintLayout quizBackground;
ConstraintLayout topBarBackground;
private final AlphaAnimation buttonClick = new AlphaAnimation(1F, 0.8F);
private CircleTimer circleTimer;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -240,6 +242,7 @@ private void init(){
minScoreToPass = 7;
correct = MediaPlayer.create(this, R.raw.correct);
incorrect = MediaPlayer.create(this, R.raw.incorrect);
circleTimer = findViewById(R.id.circleTimer);

for(int i = 0; i <= 19; i++)
twenty.add(i);
Expand Down Expand Up @@ -422,16 +425,34 @@ private void deactivate(){

//sets a timer that counts down from 30 and moves on if the user doesn't choose an answer in time
private void setTimer() {
customTimerComponent = findViewById(R.id.countdownTimer);
countDownTimer = new CountDownTimer(21000, 1000) {

countDownTimer = new CountDownTimer(TOTALTIMER, INTERVAL){
@Override
public void onTick(long millisUntilFinished) {
customTimerComponent.setTimerText(""+millisUntilFinished / 1000);
float progress = (float) millisUntilFinished / TOTALTIMER;
circleTimer.setProgress(progress);
}

@Override
public void onFinish() {
countDownTimer.cancel();
nextContent.setVisibility(View.VISIBLE); //make the next button visible
nextContent.performClick(); //and programmatically click it
playIncorrect();
circleTimer.setProgress(0);

// show correct answer
if(cir1.getAnswer().equals(contents.get(twenty.get(counter)).getAnswer())){
cir1.correct();
}
else if(cir2.getAnswer().equals(contents.get(twenty.get(counter)).getAnswer())){
cir2.correct();
}
else if(cir3.getAnswer().equals(contents.get(twenty.get(counter)).getAnswer())){
cir3.correct();
}
else{
cir4.correct();
}

deactivate();
nextContent.setVisibility(View.VISIBLE);
}
}.start();
}
Expand Down Expand Up @@ -474,5 +495,4 @@ protected void onDestroy() {
// Close the Realm instance.
realm.close();
}

}
}
Loading
Loading