aboutsummaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-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
-rw-r--r--app/src/main/res/layout/activity_finished.xml5
-rw-r--r--app/src/main/res/layout/activity_fullscreen.xml34
-rw-r--r--app/src/main/res/layout/activity_main.xml47
-rw-r--r--app/src/main/res/values/strings.xml3
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>