From 5b7baa1db3dbb93e49a730138c68a97e9ce5a85f Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 29 Apr 2015 12:37:33 +0200 Subject: EVERYTHING WORKS ======D --- app/src/main/java/com/camilstaps/rushhour/Car.java | 6 +++ .../com/camilstaps/rushhour/FinishedActivity.java | 3 +- .../com/camilstaps/rushhour/GamePlayActivity.java | 43 +++++++++++++++----- app/src/main/res/layout/activity_finished.xml | 5 --- app/src/main/res/layout/activity_fullscreen.xml | 34 +++++++++++----- app/src/main/res/layout/activity_main.xml | 47 +++++++++++++++------- app/src/main/res/values/strings.xml | 3 +- 7 files changed, 101 insertions(+), 40 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; + } + } + } diff --git a/app/src/main/res/layout/activity_finished.xml b/app/src/main/res/layout/activity_finished.xml index e9ae900..532db52 100644 --- a/app/src/main/res/layout/activity_finished.xml +++ b/app/src/main/res/layout/activity_finished.xml @@ -6,11 +6,6 @@ android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.camilstaps.rushhour.FinishedActivity"> - - + android:layout_height="match_parent" + android:layout_width="match_parent" + android:orientation="vertical"> + + + + +