aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com')
-rwxr-xr-xapp/src/main/java/com/camilstaps/rushhour/Car.java6
-rw-r--r--app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java3
-rwxr-xr-xapp/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java43
3 files changed, 42 insertions, 10 deletions
diff --git a/app/src/main/java/com/camilstaps/rushhour/Car.java b/app/src/main/java/com/camilstaps/rushhour/Car.java
index faa5796..4c39329 100755
--- a/app/src/main/java/com/camilstaps/rushhour/Car.java
+++ b/app/src/main/java/com/camilstaps/rushhour/Car.java
@@ -43,6 +43,12 @@ public class Car {
this.colour = colour;
}
+ public Car(Car car) {
+ startCoordinate = car.startCoordinate;
+ endCoordinate = car.endCoordinate;
+ colour = car.colour;
+ }
+
public void setMoveListener(MoveListener listener) {
moveListener = listener;
}
diff --git a/app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java b/app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java
index 3e441b1..a22ca80 100644
--- a/app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java
+++ b/app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java
@@ -40,7 +40,8 @@ public class FinishedActivity extends ActionBarActivity {
if (score != -1) {
final EditText input = new EditText(this);
new AlertDialog.Builder(this)
- .setTitle("Enter name")
+ .setTitle("Congratulations!")
+ .setMessage("Enter name:")
.setView(input)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
diff --git a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java
index 0b77edd..03fe230 100755
--- a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java
+++ b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java
@@ -5,6 +5,7 @@ import android.content.Intent;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
+import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.RelativeLayout;
@@ -15,6 +16,10 @@ public class GamePlayActivity extends Activity implements Board.SolveListener {
private SoundPool soundPool;
private int soundBackgroundId, soundCarDriveId, soundCantMoveId;
+ Board board;
+
+ boolean isFirstTime = true;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -22,21 +27,30 @@ public class GamePlayActivity extends Activity implements Board.SolveListener {
setContentView(R.layout.activity_fullscreen);
setupSoundPool();
+ setupBoard();
+ }
+ private void setupBoard() {
InputStream input = getResources().openRawResource(R.raw.level);
BoardLoader loader = new BoardLoader();
- final Board board = loader.loadBoard(input);
+ board = loader.loadBoard(input);
final RelativeLayout boardLayout = (RelativeLayout) findViewById(R.id.board);
- ViewTreeObserver vto = boardLayout.getViewTreeObserver();
- vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
- @Override
- public void onGlobalLayout() {
- boardLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
- board.addToLayout(getBaseContext(), boardLayout);
- }
- });
+ if (isFirstTime) {
+ ViewTreeObserver vto = boardLayout.getViewTreeObserver();
+ vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ boardLayout.removeAllViews();
+ boardLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
+ board.addToLayout(getBaseContext(), boardLayout);
+ }
+ });
+ } else {
+ boardLayout.removeAllViews();
+ board.addToLayout(getBaseContext(), boardLayout);
+ }
/*
* Sounds on move and attempt to move
@@ -54,6 +68,8 @@ public class GamePlayActivity extends Activity implements Board.SolveListener {
});
board.setSolveListener(this);
+
+ isFirstTime = false;
}
@Override
@@ -88,4 +104,13 @@ public class GamePlayActivity extends Activity implements Board.SolveListener {
intent.putExtra("score", score);
startActivityForResult(intent, 0);
}
+
+ public void onClickHandler(View v) {
+ switch (v.getId()) {
+ case R.id.action_reset:
+ setupBoard();
+ break;
+ }
+ }
+
}