diff options
author | Camil Staps | 2015-04-29 12:37:33 +0200 |
---|---|---|
committer | Camil Staps | 2015-04-29 12:37:33 +0200 |
commit | 5b7baa1db3dbb93e49a730138c68a97e9ce5a85f (patch) | |
tree | f794d8c2171ba7619217fc7baedda7de402ee8f1 | |
parent | Icon and main screen logo (diff) |
EVERYTHING WORKS ======D
-rwxr-xr-x | app/src/main/java/com/camilstaps/rushhour/Car.java | 6 | ||||
-rw-r--r-- | app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java | 3 | ||||
-rwxr-xr-x | app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java | 43 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_finished.xml | 5 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_fullscreen.xml | 34 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_main.xml | 47 | ||||
-rw-r--r-- | 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"> - <TextView android:text="Gefeliciteerd!" android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/textView" - android:textSize="40sp"/> - <ListView android:layout_width="match_parent" android:layout_height="match_parent" diff --git a/app/src/main/res/layout/activity_fullscreen.xml b/app/src/main/res/layout/activity_fullscreen.xml index fe85e97..4f4ac33 100644 --- a/app/src/main/res/layout/activity_fullscreen.xml +++ b/app/src/main/res/layout/activity_fullscreen.xml @@ -1,14 +1,30 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" - android:id="@+id/board" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="#eeeeee" tools:context=".FullscreenActivity" - android:paddingLeft="50dp" - android:paddingRight="50dp" - android:paddingBottom="50dp" - android:paddingTop="80dp"> + android:layout_height="match_parent" + android:layout_width="match_parent" + android:orientation="vertical"> + + <RelativeLayout + android:id="@+id/board" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="#eeeeee" + android:paddingLeft="50dp" + android:paddingRight="50dp" + android:paddingBottom="50dp" + android:paddingTop="50dp"> + </RelativeLayout> + + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/action_reset" + android:text="@string/action_reset" + android:onClick="onClickHandler" + android:layout_alignParentBottom="true" + android:layout_centerHorizontal="true" + android:layout_marginBottom="10dp"/> -</RelativeLayout> +</RelativeLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index c85e517..aec9e62 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,26 +1,43 @@ -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" +<RelativeLayout + xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.camilstaps.rushhour.MainActivity" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingLeft="@dimen/activity_horizontal_margin" - android:paddingRight="@dimen/activity_horizontal_margin" - android:paddingTop="@dimen/activity_vertical_margin" - android:paddingBottom="@dimen/activity_vertical_margin" - android:orientation="horizontal"> + android:orientation="vertical"> - <Button + <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" - android:id="@+id/action_start" - android:text="@string/action_start" - android:onClick="onClickHandler"/> + android:src="@drawable/rushhourlogo" + android:layout_centerHorizontal="true" + android:layout_marginTop="100dp"/> - <Button + <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" - android:id="@+id/action_highscores" - android:text="@string/action_highscores" - android:onClick="onClickHandler"/> + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + android:paddingBottom="@dimen/activity_vertical_margin" + android:layout_marginBottom="50dp" + android:orientation="horizontal" + android:layout_centerHorizontal="true" + android:layout_alignParentBottom="true"> -</LinearLayout> + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/action_start" + android:text="@string/action_start" + android:onClick="onClickHandler"/> + + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/action_highscores" + android:text="@string/action_highscores" + android:onClick="onClickHandler"/> + + </LinearLayout> +</RelativeLayout>
\ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 14b245c..4b93d40 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3,5 +3,6 @@ <string name="title_activity_main">@string/app_name</string> <string name="action_start">Start</string> <string name="action_highscores">Highscores</string> - <string name="title_activity_finished">Finished!</string> + <string name="action_reset">Reset</string> + <string name="title_activity_finished">Highscores</string> </resources> |