diff --git a/.idea/gradle.xml b/.idea/gradle.xml index ff11e8c..5cd135a 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,9 +4,7 @@ diff --git a/app/src/main/java/com/example/alzapp/JumbleActivity.java b/app/src/main/java/com/example/alzapp/JumbleActivity.java index 43a2236..6f4d861 100644 --- a/app/src/main/java/com/example/alzapp/JumbleActivity.java +++ b/app/src/main/java/com/example/alzapp/JumbleActivity.java @@ -1,20 +1,18 @@ package com.example.alzapp; -import androidx.appcompat.app.AppCompatActivity; - import android.content.Intent; import android.os.Bundle; -import android.os.Bundle; - -import android.os.Handler; +import android.os.SystemClock; import android.view.View; import android.widget.Button; +import android.widget.Chronometer; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; -import java.util.zip.Inflater; -import java.util.zip.Inflater.*; +import java.util.concurrent.TimeUnit; + +import androidx.appcompat.app.AppCompatActivity; /******* Created on: 21/01/2020 @@ -25,7 +23,7 @@ import java.util.zip.Inflater.*; ********/ -public class JumbleActivity extends AppCompatActivity implements View.OnClickListener{ +public class JumbleActivity extends AppCompatActivity { private TextView wordTv; private EditText wordEnteredTv; @@ -33,6 +31,14 @@ public class JumbleActivity extends AppCompatActivity implements View.OnClickLis private String wordToFind; private int score = 0; private TextView score_dis; + private TextView timer; + private Chronometer chronometer; + private long pauseOffset; + private boolean running; + private Button pauser; + private Button resumer; + private long elapsedMillis; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -40,21 +46,22 @@ public class JumbleActivity extends AppCompatActivity implements View.OnClickLis - score_dis = (TextView) findViewById(R.id.score); - wordTv = (TextView) findViewById(R.id.wordTv); - wordEnteredTv = (EditText) findViewById(R.id.wordEnteredTv); - validate = (Button) findViewById(R.id.validate); - validate.setOnClickListener(this); - newGame = (Button) findViewById(R.id.newGame); + pauser = findViewById(R.id.pause); + resumer = findViewById(R.id.resume); + timer = findViewById(R.id.time); + score_dis = findViewById(R.id.score); + wordTv = findViewById(R.id.wordTv); + wordEnteredTv =findViewById(R.id.wordEnteredTv); + validate = findViewById(R.id.validate); + newGame = findViewById(R.id.newGame); newGame.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - reset(); - score_dis.setText("Score : " + score); + newGame(); } }); - newGame(); + Button back = (Button) findViewById(R.id.back); @@ -65,22 +72,52 @@ public class JumbleActivity extends AppCompatActivity implements View.OnClickLis } }); + validate.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + validate(); + } + }); - } - - @Override - public void onClick(View view) { - if (view == validate) { - - validate(); - } else if (view == newGame) { - score = 0; - newGame(); + chronometer = findViewById(R.id.chronometer); + chronometer.setFormat("Time: %s"); + chronometer.setBase(SystemClock.elapsedRealtime()); + newGame(); + chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { + @Override + public void onChronometerTick(Chronometer chronometer) { + if (score == 15) { + elapsedMillis = SystemClock.elapsedRealtime() - chronometer.getBase(); + long minutes = TimeUnit.MILLISECONDS.toMinutes(elapsedMillis); + long seconds = TimeUnit.MILLISECONDS.toSeconds(elapsedMillis); + timer.setText("time : " + minutes + ":" + seconds); + Intent intent = new Intent(JumbleActivity.this,QuickPlayMenu.class); + startActivity(intent); + } } + }); + + pauser.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + pauseChronometer(); + } + }); + + resumer.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startChronometer(); + } + }); + + } + + private void validate() { String w = wordEnteredTv.getText().toString(); @@ -102,7 +139,7 @@ public class JumbleActivity extends AppCompatActivity implements View.OnClickLis String wordShuffled = Jumble.shuffleWord(wordToFind); wordTv.setText(wordShuffled); wordEnteredTv.setText(""); - + startChronometer(); } @@ -110,13 +147,39 @@ public class JumbleActivity extends AppCompatActivity implements View.OnClickLis score = 0; newGame(); + resetChronometer(); } - - - - + public void startChronometer() { + if (!running) { + chronometer.setBase(SystemClock.elapsedRealtime() - pauseOffset); + chronometer.start(); + running = true; + } } + public void pauseChronometer() { + if (running) { + chronometer.stop(); + pauseOffset = SystemClock.elapsedRealtime() - chronometer.getBase(); + running = false; + } + } + + public void resetChronometer() { + chronometer.setBase(SystemClock.elapsedRealtime()); + pauseOffset = 0; + } + + + + + + + + + +} + diff --git a/app/src/main/java/com/example/alzapp/QuickPlayMenu.java b/app/src/main/java/com/example/alzapp/QuickPlayMenu.java index 58c6d9e..190204b 100644 --- a/app/src/main/java/com/example/alzapp/QuickPlayMenu.java +++ b/app/src/main/java/com/example/alzapp/QuickPlayMenu.java @@ -1,11 +1,13 @@ package com.example.alzapp; -import androidx.appcompat.app.AppCompatActivity; - import android.content.Intent; import android.os.Bundle; +import android.os.SystemClock; import android.view.View; import android.widget.Button; +import android.widget.Chronometer; + +import androidx.appcompat.app.AppCompatActivity; /******* Created on: 21/01/2020 @@ -21,6 +23,10 @@ public class QuickPlayMenu extends AppCompatActivity { private Button tilematch; private Button game3; private Button game4; + private Chronometer chronometer; + private long pauseOffset; + private boolean running; + @Override protected void onCreate(Bundle savedInstanceState) { @@ -59,5 +65,12 @@ public class QuickPlayMenu extends AppCompatActivity { + } + public void startChronometer(View v) { + if (!running) { + chronometer.setBase(SystemClock.elapsedRealtime() - pauseOffset); + chronometer.start(); + running = true; + } } } diff --git a/app/src/main/java/com/example/alzapp/registration.java b/app/src/main/java/com/example/alzapp/registration.java index d87272d..016c4c6 100644 --- a/app/src/main/java/com/example/alzapp/registration.java +++ b/app/src/main/java/com/example/alzapp/registration.java @@ -14,14 +14,11 @@ import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; - import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.toolbox.Volley; - import org.json.JSONException; import org.json.JSONObject; - import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -131,10 +128,8 @@ public class registration extends AppCompatActivity { }); - // get selected radio button from radioGroup - int selectedId = radioSexGroup.getCheckedRadioButtonId(); - //find the radiobutton by returned id + int selectedId = radioSexGroup.getCheckedRadioButtonId(); radioSexButton = findViewById(selectedId); diff --git a/app/src/main/res/drawable/pause_button.png b/app/src/main/res/drawable/pause_button.png new file mode 100644 index 0000000..0d72f1c Binary files /dev/null and b/app/src/main/res/drawable/pause_button.png differ diff --git a/app/src/main/res/layout/activity_jumble.xml b/app/src/main/res/layout/activity_jumble.xml index d9733ef..70db044 100644 --- a/app/src/main/res/layout/activity_jumble.xml +++ b/app/src/main/res/layout/activity_jumble.xml @@ -1,12 +1,15 @@ + tools:context=".MainActivity" + + > + + - + android:text="New Game" + /> + + + + +