From ff1f068e4a541681ab46d6fa2e1305ac72a63f91 Mon Sep 17 00:00:00 2001 From: Size43 Date: Thu, 23 Apr 2015 16:30:39 +0200 Subject: BoardLoader added --- .../java/com/camilstaps/rushhour/BoardLoader.java | 47 ++++++++++++++++++++++ .../camilstaps/rushhour/FullscreenActivity.java | 33 +++++++++------ 2 files changed, 67 insertions(+), 13 deletions(-) create mode 100755 app/src/main/java/com/camilstaps/rushhour/BoardLoader.java mode change 100644 => 100755 app/src/main/java/com/camilstaps/rushhour/FullscreenActivity.java (limited to 'app/src/main/java/com/camilstaps/rushhour') diff --git a/app/src/main/java/com/camilstaps/rushhour/BoardLoader.java b/app/src/main/java/com/camilstaps/rushhour/BoardLoader.java new file mode 100755 index 0000000..9285306 --- /dev/null +++ b/app/src/main/java/com/camilstaps/rushhour/BoardLoader.java @@ -0,0 +1,47 @@ +package com.camilstaps.rushhour; + +import android.graphics.Color; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.Scanner; + +/** + * Created by Jos on 23-4-2015. + */ +public class BoardLoader { + public BoardLoader() + {} + + public Board loadBoard(InputStream file) + { + Scanner scan = new Scanner(file); + + Board board = new Board(); + + int numCars = scan.nextInt(); + scan.nextLine(); + + for(int carN = 0; carN < numCars; carN++) + { + int x1 = scan.nextInt(); + int y1 = scan.nextInt(); + int x2 = scan.nextInt(); + int y2 = scan.nextInt(); + scan.nextLine(); + + int r = scan.nextInt(); + int g = scan.nextInt(); + int b = scan.nextInt(); + + Car c = new Car(new Coordinate(x1, y1), new Coordinate(x2, y2), Color.rgb(r, g, b)); + board.add(c); + + if(scan.hasNext()) scan.nextLine(); + } + + return board; + } +} diff --git a/app/src/main/java/com/camilstaps/rushhour/FullscreenActivity.java b/app/src/main/java/com/camilstaps/rushhour/FullscreenActivity.java old mode 100644 new mode 100755 index 495c996..b39cddc --- a/app/src/main/java/com/camilstaps/rushhour/FullscreenActivity.java +++ b/app/src/main/java/com/camilstaps/rushhour/FullscreenActivity.java @@ -13,6 +13,9 @@ import android.widget.RelativeLayout; import com.camilstaps.rushhour.util.SystemUiHider; +import java.io.IOException; +import java.io.InputStream; + /** * An example full-screen activity that shows and hides the system UI (i.e. * status bar and navigation/system bar) with user interaction. @@ -31,19 +34,23 @@ public class FullscreenActivity extends Activity { setContentView(R.layout.activity_fullscreen); - final Board board = new Board(); - board.add(new Car(new Coordinate(0,0), new Coordinate(2,0), Color.YELLOW)); - board.add(new Car(new Coordinate(3,0), new Coordinate(3,1), Color.rgb(128,223,182))); - board.add(new Car(new Coordinate(4,0), new Coordinate(4,2), Color.rgb(198, 134,221))); - board.add(new Car(new Coordinate(0,2), new Coordinate(1,2), Color.RED)); - board.add(new Car(new Coordinate(5,2), new Coordinate(5,3), Color.rgb(255,165,0))); - board.add(new Car(new Coordinate(0,3), new Coordinate(0,4), Color.rgb(158,231,246))); - board.add(new Car(new Coordinate(1,3), new Coordinate(2,3), Color.rgb(245,158,246))); - board.add(new Car(new Coordinate(3,3), new Coordinate(4,3), Color.rgb(150,126,196))); - board.add(new Car(new Coordinate(1,4), new Coordinate(2,4), Color.GREEN)); - board.add(new Car(new Coordinate(3,4), new Coordinate(3,5), Color.BLACK)); - board.add(new Car(new Coordinate(5,4), new Coordinate(5,5), Color.rgb(219,202,161))); - board.add(new Car(new Coordinate(0,5), new Coordinate(2,5), Color.rgb(25,195,167))); + InputStream input = getResources().openRawResource(R.raw.level); + + BoardLoader loader = new BoardLoader(); + final Board board = loader.loadBoard(input); + //final Board board = new Board(); +// board.add(new Car(new Coordinate(0,0), new Coordinate(2,0), Color.YELLOW)); +// board.add(new Car(new Coordinate(3,0), new Coordinate(3,1), Color.rgb(128,223,182))); +// board.add(new Car(new Coordinate(4,0), new Coordinate(4,2), Color.rgb(198, 134,221))); +// board.add(new Car(new Coordinate(0,2), new Coordinate(1,2), Color.RED)); +// board.add(new Car(new Coordinate(5,2), new Coordinate(5,3), Color.rgb(255,165,0))); +// board.add(new Car(new Coordinate(0,3), new Coordinate(0,4), Color.rgb(158,231,246))); +// board.add(new Car(new Coordinate(1,3), new Coordinate(2,3), Color.rgb(245,158,246))); +// board.add(new Car(new Coordinate(3,3), new Coordinate(4,3), Color.rgb(150,126,196))); +// board.add(new Car(new Coordinate(1,4), new Coordinate(2,4), Color.GREEN)); +// board.add(new Car(new Coordinate(3,4), new Coordinate(3,5), Color.BLACK)); +// board.add(new Car(new Coordinate(5,4), new Coordinate(5,5), Color.rgb(219,202,161))); +// board.add(new Car(new Coordinate(0,5), new Coordinate(2,5), Color.rgb(25,195,167))); soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0); soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { -- cgit v1.2.3 From 3c65a9a4ac9c8bf22cc185a5d2fd7eaf13ecc465 Mon Sep 17 00:00:00 2001 From: Size43 Date: Thu, 23 Apr 2015 17:23:41 +0200 Subject: Added the car images to the game itself --- .../java/com/camilstaps/rushhour/BoardLoader.java | 8 +++ app/src/main/java/com/camilstaps/rushhour/Car.java | 61 ++++++++++++++++++++- app/src/main/res/drawable-hdpi/car_1_white.png | Bin 3102 -> 3847 bytes .../res/drawable-hdpi/car_1_white_vertical.png | Bin 0 -> 3957 bytes app/src/main/res/drawable-hdpi/car_2_white.png | Bin 3654 -> 4267 bytes .../res/drawable-hdpi/car_2_white_vertical.png | Bin 0 -> 4621 bytes app/src/main/res/drawable-hdpi/car_3_white.png | Bin 3789 -> 4572 bytes .../res/drawable-hdpi/car_3_white_vertical.png | Bin 0 -> 5088 bytes app/src/main/res/drawable-hdpi/car_4_white.png | Bin 3683 -> 4421 bytes .../res/drawable-hdpi/car_4_white_vertical.png | Bin 0 -> 4840 bytes app/src/main/res/drawable-hdpi/truck_1_white.png | Bin 2281 -> 2662 bytes .../res/drawable-hdpi/truck_1_white_vertical.png | Bin 0 -> 2749 bytes app/src/main/res/drawable-hdpi/truck_2_white.png | Bin 2124 -> 2615 bytes .../res/drawable-hdpi/truck_2_white_vertical.png | Bin 0 -> 2648 bytes app/src/main/res/drawable-hdpi/truck_3_white.png | Bin 2706 -> 3199 bytes .../res/drawable-hdpi/truck_3_white_vertical.png | Bin 0 -> 3304 bytes app/src/main/res/drawable-hdpi/truck_4_white.png | Bin 2265 -> 2752 bytes .../res/drawable-hdpi/truck_4_white_vertical.png | Bin 0 -> 2783 bytes app/src/main/res/drawable-ldpi/car_1_white.png | Bin 1399 -> 1595 bytes .../res/drawable-ldpi/car_1_white_vertical.png | Bin 0 -> 1608 bytes app/src/main/res/drawable-ldpi/car_2_white.png | Bin 1582 -> 1874 bytes .../res/drawable-ldpi/car_2_white_vertical.png | Bin 0 -> 2027 bytes app/src/main/res/drawable-ldpi/car_3_white.png | Bin 1669 -> 2072 bytes .../res/drawable-ldpi/car_3_white_vertical.png | Bin 0 -> 2177 bytes app/src/main/res/drawable-ldpi/car_4_white.png | Bin 1571 -> 1843 bytes .../res/drawable-ldpi/car_4_white_vertical.png | Bin 0 -> 2013 bytes app/src/main/res/drawable-ldpi/truck_1_white.png | Bin 1009 -> 1165 bytes .../res/drawable-ldpi/truck_1_white_vertical.png | Bin 0 -> 1200 bytes app/src/main/res/drawable-ldpi/truck_2_white.png | Bin 967 -> 1098 bytes .../res/drawable-ldpi/truck_2_white_vertical.png | Bin 0 -> 1097 bytes app/src/main/res/drawable-ldpi/truck_3_white.png | Bin 1148 -> 1373 bytes .../res/drawable-ldpi/truck_3_white_vertical.png | Bin 0 -> 1384 bytes app/src/main/res/drawable-ldpi/truck_4_white.png | Bin 987 -> 1147 bytes .../res/drawable-ldpi/truck_4_white_vertical.png | Bin 0 -> 1153 bytes app/src/main/res/drawable-mdpi/car_1_white.png | Bin 1595 -> 2569 bytes .../res/drawable-mdpi/car_1_white_vertical.png | Bin 0 -> 2576 bytes app/src/main/res/drawable-mdpi/car_2_white.png | Bin 1874 -> 2930 bytes .../res/drawable-mdpi/car_2_white_vertical.png | Bin 0 -> 3139 bytes app/src/main/res/drawable-mdpi/car_3_white.png | Bin 2072 -> 3038 bytes .../res/drawable-mdpi/car_3_white_vertical.png | Bin 0 -> 3369 bytes app/src/main/res/drawable-mdpi/car_4_white.png | Bin 1843 -> 2872 bytes .../res/drawable-mdpi/car_4_white_vertical.png | Bin 0 -> 3161 bytes app/src/main/res/drawable-mdpi/truck_1_white.png | Bin 1165 -> 1849 bytes .../res/drawable-mdpi/truck_1_white_vertical.png | Bin 0 -> 1853 bytes app/src/main/res/drawable-mdpi/truck_2_white.png | Bin 1098 -> 1741 bytes .../res/drawable-mdpi/truck_2_white_vertical.png | Bin 0 -> 1730 bytes app/src/main/res/drawable-mdpi/truck_3_white.png | Bin 1373 -> 2173 bytes .../res/drawable-mdpi/truck_3_white_vertical.png | Bin 0 -> 2176 bytes app/src/main/res/drawable-mdpi/truck_4_white.png | Bin 1147 -> 1813 bytes .../res/drawable-mdpi/truck_4_white_vertical.png | Bin 0 -> 1813 bytes app/src/main/res/drawable-tvdpi/car_1_white.png | Bin 2569 -> 3893 bytes .../res/drawable-tvdpi/car_1_white_vertical.png | Bin 0 -> 4052 bytes app/src/main/res/drawable-tvdpi/car_2_white.png | Bin 2930 -> 4830 bytes .../res/drawable-tvdpi/car_2_white_vertical.png | Bin 0 -> 5223 bytes app/src/main/res/drawable-tvdpi/car_3_white.png | Bin 3038 -> 5013 bytes .../res/drawable-tvdpi/car_3_white_vertical.png | Bin 0 -> 5500 bytes app/src/main/res/drawable-tvdpi/car_4_white.png | Bin 2872 -> 4720 bytes .../res/drawable-tvdpi/car_4_white_vertical.png | Bin 0 -> 5175 bytes app/src/main/res/drawable-tvdpi/truck_1_white.png | Bin 1824 -> 3160 bytes .../res/drawable-tvdpi/truck_1_white_vertical.png | Bin 0 -> 3093 bytes app/src/main/res/drawable-tvdpi/truck_2_white.png | Bin 1768 -> 2837 bytes .../res/drawable-tvdpi/truck_2_white_vertical.png | Bin 0 -> 2687 bytes app/src/main/res/drawable-tvdpi/truck_3_white.png | Bin 2083 -> 3518 bytes .../res/drawable-tvdpi/truck_3_white_vertical.png | Bin 0 -> 3463 bytes app/src/main/res/drawable-tvdpi/truck_4_white.png | Bin 1812 -> 3000 bytes .../res/drawable-tvdpi/truck_4_white_vertical.png | Bin 0 -> 2926 bytes app/src/main/res/drawable-xhdpi/car_1_white.png | Bin 3847 -> 6205 bytes .../res/drawable-xhdpi/car_1_white_vertical.png | Bin 0 -> 6406 bytes app/src/main/res/drawable-xhdpi/car_2_white.png | Bin 4267 -> 6768 bytes .../res/drawable-xhdpi/car_2_white_vertical.png | Bin 0 -> 7400 bytes app/src/main/res/drawable-xhdpi/car_3_white.png | Bin 4572 -> 7458 bytes .../res/drawable-xhdpi/car_3_white_vertical.png | Bin 0 -> 8342 bytes app/src/main/res/drawable-xhdpi/car_4_white.png | Bin 4421 -> 7137 bytes .../res/drawable-xhdpi/car_4_white_vertical.png | Bin 0 -> 7906 bytes app/src/main/res/drawable-xhdpi/truck_1_white.png | Bin 2662 -> 4322 bytes .../res/drawable-xhdpi/truck_1_white_vertical.png | Bin 0 -> 4418 bytes app/src/main/res/drawable-xhdpi/truck_2_white.png | Bin 2615 -> 4229 bytes .../res/drawable-xhdpi/truck_2_white_vertical.png | Bin 0 -> 4295 bytes app/src/main/res/drawable-xhdpi/truck_3_white.png | Bin 3199 -> 5144 bytes .../res/drawable-xhdpi/truck_3_white_vertical.png | Bin 0 -> 5321 bytes app/src/main/res/drawable-xhdpi/truck_4_white.png | Bin 2752 -> 4476 bytes .../res/drawable-xhdpi/truck_4_white_vertical.png | Bin 0 -> 4480 bytes app/src/main/res/drawable-xxhdpi/car_1_white.png | Bin 7697 -> 10073 bytes .../res/drawable-xxhdpi/car_1_white_vertical.png | Bin 0 -> 10368 bytes app/src/main/res/drawable-xxhdpi/car_2_white.png | Bin 8540 -> 10234 bytes .../res/drawable-xxhdpi/car_2_white_vertical.png | Bin 0 -> 11059 bytes app/src/main/res/drawable-xxhdpi/car_3_white.png | Bin 9057 -> 11749 bytes .../res/drawable-xxhdpi/car_3_white_vertical.png | Bin 0 -> 12900 bytes app/src/main/res/drawable-xxhdpi/car_4_white.png | Bin 8947 -> 11427 bytes .../res/drawable-xxhdpi/car_4_white_vertical.png | Bin 0 -> 12317 bytes app/src/main/res/drawable-xxhdpi/truck_1_white.png | Bin 5175 -> 6227 bytes .../res/drawable-xxhdpi/truck_1_white_vertical.png | Bin 0 -> 6626 bytes app/src/main/res/drawable-xxhdpi/truck_2_white.png | Bin 5204 -> 6811 bytes .../res/drawable-xxhdpi/truck_2_white_vertical.png | Bin 0 -> 6922 bytes app/src/main/res/drawable-xxhdpi/truck_3_white.png | Bin 6442 -> 8058 bytes .../res/drawable-xxhdpi/truck_3_white_vertical.png | Bin 0 -> 8282 bytes app/src/main/res/drawable-xxhdpi/truck_4_white.png | Bin 5538 -> 7011 bytes .../res/drawable-xxhdpi/truck_4_white_vertical.png | Bin 0 -> 6963 bytes app/src/main/res/drawable-xxxhdpi/car_1_white.png | Bin 10073 -> 21165 bytes .../res/drawable-xxxhdpi/car_1_white_vertical.png | Bin 0 -> 21280 bytes app/src/main/res/drawable-xxxhdpi/car_2_white.png | Bin 10234 -> 22860 bytes .../res/drawable-xxxhdpi/car_2_white_vertical.png | Bin 0 -> 24721 bytes app/src/main/res/drawable-xxxhdpi/car_3_white.png | Bin 11749 -> 25042 bytes .../res/drawable-xxxhdpi/car_3_white_vertical.png | Bin 0 -> 27538 bytes app/src/main/res/drawable-xxxhdpi/car_4_white.png | Bin 11427 -> 24498 bytes .../res/drawable-xxxhdpi/car_4_white_vertical.png | Bin 0 -> 26485 bytes .../main/res/drawable-xxxhdpi/truck_1_white.png | Bin 6227 -> 14556 bytes .../drawable-xxxhdpi/truck_1_white_vertical.png | Bin 0 -> 14485 bytes .../main/res/drawable-xxxhdpi/truck_2_white.png | Bin 6811 -> 14225 bytes .../drawable-xxxhdpi/truck_2_white_vertical.png | Bin 0 -> 13979 bytes .../main/res/drawable-xxxhdpi/truck_3_white.png | Bin 8058 -> 17292 bytes .../drawable-xxxhdpi/truck_3_white_vertical.png | Bin 0 -> 17352 bytes .../main/res/drawable-xxxhdpi/truck_4_white.png | Bin 7011 -> 14881 bytes .../drawable-xxxhdpi/truck_4_white_vertical.png | Bin 0 -> 14601 bytes 114 files changed, 68 insertions(+), 1 deletion(-) mode change 100644 => 100755 app/src/main/java/com/camilstaps/rushhour/Car.java create mode 100755 app/src/main/res/drawable-hdpi/car_1_white_vertical.png create mode 100755 app/src/main/res/drawable-hdpi/car_2_white_vertical.png create mode 100755 app/src/main/res/drawable-hdpi/car_3_white_vertical.png create mode 100755 app/src/main/res/drawable-hdpi/car_4_white_vertical.png create mode 100755 app/src/main/res/drawable-hdpi/truck_1_white_vertical.png create mode 100755 app/src/main/res/drawable-hdpi/truck_2_white_vertical.png create mode 100755 app/src/main/res/drawable-hdpi/truck_3_white_vertical.png create mode 100755 app/src/main/res/drawable-hdpi/truck_4_white_vertical.png create mode 100755 app/src/main/res/drawable-ldpi/car_1_white_vertical.png create mode 100755 app/src/main/res/drawable-ldpi/car_2_white_vertical.png create mode 100755 app/src/main/res/drawable-ldpi/car_3_white_vertical.png create mode 100755 app/src/main/res/drawable-ldpi/car_4_white_vertical.png create mode 100755 app/src/main/res/drawable-ldpi/truck_1_white_vertical.png create mode 100755 app/src/main/res/drawable-ldpi/truck_2_white_vertical.png create mode 100755 app/src/main/res/drawable-ldpi/truck_3_white_vertical.png create mode 100755 app/src/main/res/drawable-ldpi/truck_4_white_vertical.png create mode 100755 app/src/main/res/drawable-mdpi/car_1_white_vertical.png create mode 100755 app/src/main/res/drawable-mdpi/car_2_white_vertical.png create mode 100755 app/src/main/res/drawable-mdpi/car_3_white_vertical.png create mode 100755 app/src/main/res/drawable-mdpi/car_4_white_vertical.png create mode 100755 app/src/main/res/drawable-mdpi/truck_1_white_vertical.png create mode 100755 app/src/main/res/drawable-mdpi/truck_2_white_vertical.png create mode 100755 app/src/main/res/drawable-mdpi/truck_3_white_vertical.png create mode 100755 app/src/main/res/drawable-mdpi/truck_4_white_vertical.png create mode 100755 app/src/main/res/drawable-tvdpi/car_1_white_vertical.png create mode 100755 app/src/main/res/drawable-tvdpi/car_2_white_vertical.png create mode 100755 app/src/main/res/drawable-tvdpi/car_3_white_vertical.png create mode 100755 app/src/main/res/drawable-tvdpi/car_4_white_vertical.png create mode 100755 app/src/main/res/drawable-tvdpi/truck_1_white_vertical.png create mode 100755 app/src/main/res/drawable-tvdpi/truck_2_white_vertical.png create mode 100755 app/src/main/res/drawable-tvdpi/truck_3_white_vertical.png create mode 100755 app/src/main/res/drawable-tvdpi/truck_4_white_vertical.png create mode 100755 app/src/main/res/drawable-xhdpi/car_1_white_vertical.png create mode 100755 app/src/main/res/drawable-xhdpi/car_2_white_vertical.png create mode 100755 app/src/main/res/drawable-xhdpi/car_3_white_vertical.png create mode 100755 app/src/main/res/drawable-xhdpi/car_4_white_vertical.png create mode 100755 app/src/main/res/drawable-xhdpi/truck_1_white_vertical.png create mode 100755 app/src/main/res/drawable-xhdpi/truck_2_white_vertical.png create mode 100755 app/src/main/res/drawable-xhdpi/truck_3_white_vertical.png create mode 100755 app/src/main/res/drawable-xhdpi/truck_4_white_vertical.png create mode 100755 app/src/main/res/drawable-xxhdpi/car_1_white_vertical.png create mode 100755 app/src/main/res/drawable-xxhdpi/car_2_white_vertical.png create mode 100755 app/src/main/res/drawable-xxhdpi/car_3_white_vertical.png create mode 100755 app/src/main/res/drawable-xxhdpi/car_4_white_vertical.png create mode 100755 app/src/main/res/drawable-xxhdpi/truck_1_white_vertical.png create mode 100755 app/src/main/res/drawable-xxhdpi/truck_2_white_vertical.png create mode 100755 app/src/main/res/drawable-xxhdpi/truck_3_white_vertical.png create mode 100755 app/src/main/res/drawable-xxhdpi/truck_4_white_vertical.png create mode 100755 app/src/main/res/drawable-xxxhdpi/car_1_white_vertical.png create mode 100755 app/src/main/res/drawable-xxxhdpi/car_2_white_vertical.png create mode 100755 app/src/main/res/drawable-xxxhdpi/car_3_white_vertical.png create mode 100755 app/src/main/res/drawable-xxxhdpi/car_4_white_vertical.png create mode 100755 app/src/main/res/drawable-xxxhdpi/truck_1_white_vertical.png create mode 100755 app/src/main/res/drawable-xxxhdpi/truck_2_white_vertical.png create mode 100755 app/src/main/res/drawable-xxxhdpi/truck_3_white_vertical.png create mode 100755 app/src/main/res/drawable-xxxhdpi/truck_4_white_vertical.png (limited to 'app/src/main/java/com/camilstaps/rushhour') diff --git a/app/src/main/java/com/camilstaps/rushhour/BoardLoader.java b/app/src/main/java/com/camilstaps/rushhour/BoardLoader.java index 9285306..c92c96b 100755 --- a/app/src/main/java/com/camilstaps/rushhour/BoardLoader.java +++ b/app/src/main/java/com/camilstaps/rushhour/BoardLoader.java @@ -17,6 +17,14 @@ public class BoardLoader { public Board loadBoard(InputStream file) { + /* + Level formaat: + 1 regel: Aantal auto's + + voor iedere auto: + x1 y1 x2 y2 op een regel. + r g b op een regel. + */ Scanner scan = new Scanner(file); Board board = new Board(); diff --git a/app/src/main/java/com/camilstaps/rushhour/Car.java b/app/src/main/java/com/camilstaps/rushhour/Car.java old mode 100644 new mode 100755 index 2dce203..faa5796 --- a/app/src/main/java/com/camilstaps/rushhour/Car.java +++ b/app/src/main/java/com/camilstaps/rushhour/Car.java @@ -11,6 +11,8 @@ import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TableLayout; +import java.util.Random; + /** * Created by camilstaps on 16-4-15. */ @@ -58,7 +60,40 @@ public class Car { calculatedHeight = (int) ((endCoordinate.getY() - startCoordinate.getY() + 1) * (this.widthPerCell + MARGIN) - MARGIN); iv = new ImageView(context); - iv.setBackgroundColor(colour); + + int[] images = null; + if(canMoveHorizontally()) { + if(getCarLength() == 2) { + images = new int[] { + R.drawable.car_1_white, + R.drawable.car_2_white, + R.drawable.car_3_white, + R.drawable.car_4_white}; + }else{ + images = new int[] { + R.drawable.truck_1_white, + R.drawable.truck_2_white, + R.drawable.truck_3_white, + R.drawable.truck_4_white}; + } + }else{ + if(getCarLength() == 2) { + images = new int[] { + R.drawable.car_1_white_vertical, + R.drawable.car_2_white_vertical, + R.drawable.car_3_white_vertical, + R.drawable.car_4_white_vertical}; + }else{ + images = new int[] { + R.drawable.truck_1_white_vertical, + R.drawable.truck_2_white_vertical, + R.drawable.truck_3_white_vertical, + R.drawable.truck_4_white_vertical}; + } + } + + iv.setImageResource(choose(images)); + iv.setColorFilter(colour); iv.setMinimumWidth(calculatedWidth); iv.setMinimumHeight(calculatedHeight); @@ -76,6 +111,30 @@ public class Car { return iv; } + private static int choose(int[] a) + { + Random r = new Random(); + return a[r.nextInt(a.length)]; + } + + private float getCarDirection() + { + final double TWOPI = Math.PI * 2; + double radians = ((Math.atan2(startCoordinate.getY() - endCoordinate.getY(), endCoordinate.getX() - startCoordinate.getX()) + TWOPI) % TWOPI); + double degrees = radians / Math.PI * 180.0; + + return (float)degrees; + } + private int getCarLength() + { + if(startCoordinate.getX() == endCoordinate.getX()) + { + return endCoordinate.getY() - startCoordinate.getY() + 1; + }else{ + return endCoordinate.getX() - startCoordinate.getX() + 1; + } + } + public boolean canMoveHorizontally() { return startCoordinate.getY() == endCoordinate.getY(); } diff --git a/app/src/main/res/drawable-hdpi/car_1_white.png b/app/src/main/res/drawable-hdpi/car_1_white.png index 3a6a39f..5ce9218 100755 Binary files a/app/src/main/res/drawable-hdpi/car_1_white.png and b/app/src/main/res/drawable-hdpi/car_1_white.png differ diff --git a/app/src/main/res/drawable-hdpi/car_1_white_vertical.png b/app/src/main/res/drawable-hdpi/car_1_white_vertical.png new file mode 100755 index 0000000..5c2fed1 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/car_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-hdpi/car_2_white.png b/app/src/main/res/drawable-hdpi/car_2_white.png index 3f0dc15..b92b54c 100755 Binary files a/app/src/main/res/drawable-hdpi/car_2_white.png and b/app/src/main/res/drawable-hdpi/car_2_white.png differ diff --git a/app/src/main/res/drawable-hdpi/car_2_white_vertical.png b/app/src/main/res/drawable-hdpi/car_2_white_vertical.png new file mode 100755 index 0000000..565778e Binary files /dev/null and b/app/src/main/res/drawable-hdpi/car_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-hdpi/car_3_white.png b/app/src/main/res/drawable-hdpi/car_3_white.png index 832218e..4843efe 100755 Binary files a/app/src/main/res/drawable-hdpi/car_3_white.png and b/app/src/main/res/drawable-hdpi/car_3_white.png differ diff --git a/app/src/main/res/drawable-hdpi/car_3_white_vertical.png b/app/src/main/res/drawable-hdpi/car_3_white_vertical.png new file mode 100755 index 0000000..1d41d4c Binary files /dev/null and b/app/src/main/res/drawable-hdpi/car_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-hdpi/car_4_white.png b/app/src/main/res/drawable-hdpi/car_4_white.png index 8217b38..8bfbab9 100755 Binary files a/app/src/main/res/drawable-hdpi/car_4_white.png and b/app/src/main/res/drawable-hdpi/car_4_white.png differ diff --git a/app/src/main/res/drawable-hdpi/car_4_white_vertical.png b/app/src/main/res/drawable-hdpi/car_4_white_vertical.png new file mode 100755 index 0000000..0c47b74 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/car_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-hdpi/truck_1_white.png b/app/src/main/res/drawable-hdpi/truck_1_white.png index f9d22e4..91594c1 100755 Binary files a/app/src/main/res/drawable-hdpi/truck_1_white.png and b/app/src/main/res/drawable-hdpi/truck_1_white.png differ diff --git a/app/src/main/res/drawable-hdpi/truck_1_white_vertical.png b/app/src/main/res/drawable-hdpi/truck_1_white_vertical.png new file mode 100755 index 0000000..fa5b24d Binary files /dev/null and b/app/src/main/res/drawable-hdpi/truck_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-hdpi/truck_2_white.png b/app/src/main/res/drawable-hdpi/truck_2_white.png index 0bef701..616f90b 100755 Binary files a/app/src/main/res/drawable-hdpi/truck_2_white.png and b/app/src/main/res/drawable-hdpi/truck_2_white.png differ diff --git a/app/src/main/res/drawable-hdpi/truck_2_white_vertical.png b/app/src/main/res/drawable-hdpi/truck_2_white_vertical.png new file mode 100755 index 0000000..cfaae76 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/truck_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-hdpi/truck_3_white.png b/app/src/main/res/drawable-hdpi/truck_3_white.png index fdcc2f5..eb1caff 100755 Binary files a/app/src/main/res/drawable-hdpi/truck_3_white.png and b/app/src/main/res/drawable-hdpi/truck_3_white.png differ diff --git a/app/src/main/res/drawable-hdpi/truck_3_white_vertical.png b/app/src/main/res/drawable-hdpi/truck_3_white_vertical.png new file mode 100755 index 0000000..356e75b Binary files /dev/null and b/app/src/main/res/drawable-hdpi/truck_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-hdpi/truck_4_white.png b/app/src/main/res/drawable-hdpi/truck_4_white.png index 24d657b..b700276 100755 Binary files a/app/src/main/res/drawable-hdpi/truck_4_white.png and b/app/src/main/res/drawable-hdpi/truck_4_white.png differ diff --git a/app/src/main/res/drawable-hdpi/truck_4_white_vertical.png b/app/src/main/res/drawable-hdpi/truck_4_white_vertical.png new file mode 100755 index 0000000..01b5428 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/truck_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-ldpi/car_1_white.png b/app/src/main/res/drawable-ldpi/car_1_white.png index 867e37a..3b3f5bc 100755 Binary files a/app/src/main/res/drawable-ldpi/car_1_white.png and b/app/src/main/res/drawable-ldpi/car_1_white.png differ diff --git a/app/src/main/res/drawable-ldpi/car_1_white_vertical.png b/app/src/main/res/drawable-ldpi/car_1_white_vertical.png new file mode 100755 index 0000000..d86f93a Binary files /dev/null and b/app/src/main/res/drawable-ldpi/car_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-ldpi/car_2_white.png b/app/src/main/res/drawable-ldpi/car_2_white.png index 9d7cc4e..fe2cd95 100755 Binary files a/app/src/main/res/drawable-ldpi/car_2_white.png and b/app/src/main/res/drawable-ldpi/car_2_white.png differ diff --git a/app/src/main/res/drawable-ldpi/car_2_white_vertical.png b/app/src/main/res/drawable-ldpi/car_2_white_vertical.png new file mode 100755 index 0000000..f3bc560 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/car_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-ldpi/car_3_white.png b/app/src/main/res/drawable-ldpi/car_3_white.png index 03721fd..e1a67b9 100755 Binary files a/app/src/main/res/drawable-ldpi/car_3_white.png and b/app/src/main/res/drawable-ldpi/car_3_white.png differ diff --git a/app/src/main/res/drawable-ldpi/car_3_white_vertical.png b/app/src/main/res/drawable-ldpi/car_3_white_vertical.png new file mode 100755 index 0000000..b1572a8 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/car_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-ldpi/car_4_white.png b/app/src/main/res/drawable-ldpi/car_4_white.png index 56e94ee..6fb775a 100755 Binary files a/app/src/main/res/drawable-ldpi/car_4_white.png and b/app/src/main/res/drawable-ldpi/car_4_white.png differ diff --git a/app/src/main/res/drawable-ldpi/car_4_white_vertical.png b/app/src/main/res/drawable-ldpi/car_4_white_vertical.png new file mode 100755 index 0000000..2bb1790 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/car_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-ldpi/truck_1_white.png b/app/src/main/res/drawable-ldpi/truck_1_white.png index 90b70e9..44ea608 100755 Binary files a/app/src/main/res/drawable-ldpi/truck_1_white.png and b/app/src/main/res/drawable-ldpi/truck_1_white.png differ diff --git a/app/src/main/res/drawable-ldpi/truck_1_white_vertical.png b/app/src/main/res/drawable-ldpi/truck_1_white_vertical.png new file mode 100755 index 0000000..ea17059 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/truck_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-ldpi/truck_2_white.png b/app/src/main/res/drawable-ldpi/truck_2_white.png index 6d946af..50e5a62 100755 Binary files a/app/src/main/res/drawable-ldpi/truck_2_white.png and b/app/src/main/res/drawable-ldpi/truck_2_white.png differ diff --git a/app/src/main/res/drawable-ldpi/truck_2_white_vertical.png b/app/src/main/res/drawable-ldpi/truck_2_white_vertical.png new file mode 100755 index 0000000..00af4df Binary files /dev/null and b/app/src/main/res/drawable-ldpi/truck_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-ldpi/truck_3_white.png b/app/src/main/res/drawable-ldpi/truck_3_white.png index 19b1819..062abaf 100755 Binary files a/app/src/main/res/drawable-ldpi/truck_3_white.png and b/app/src/main/res/drawable-ldpi/truck_3_white.png differ diff --git a/app/src/main/res/drawable-ldpi/truck_3_white_vertical.png b/app/src/main/res/drawable-ldpi/truck_3_white_vertical.png new file mode 100755 index 0000000..b51692f Binary files /dev/null and b/app/src/main/res/drawable-ldpi/truck_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-ldpi/truck_4_white.png b/app/src/main/res/drawable-ldpi/truck_4_white.png index 5afe1f5..471bdb0 100755 Binary files a/app/src/main/res/drawable-ldpi/truck_4_white.png and b/app/src/main/res/drawable-ldpi/truck_4_white.png differ diff --git a/app/src/main/res/drawable-ldpi/truck_4_white_vertical.png b/app/src/main/res/drawable-ldpi/truck_4_white_vertical.png new file mode 100755 index 0000000..c9e4754 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/truck_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-mdpi/car_1_white.png b/app/src/main/res/drawable-mdpi/car_1_white.png index 3b3f5bc..80fe682 100755 Binary files a/app/src/main/res/drawable-mdpi/car_1_white.png and b/app/src/main/res/drawable-mdpi/car_1_white.png differ diff --git a/app/src/main/res/drawable-mdpi/car_1_white_vertical.png b/app/src/main/res/drawable-mdpi/car_1_white_vertical.png new file mode 100755 index 0000000..1647e16 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/car_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-mdpi/car_2_white.png b/app/src/main/res/drawable-mdpi/car_2_white.png index fe2cd95..0955671 100755 Binary files a/app/src/main/res/drawable-mdpi/car_2_white.png and b/app/src/main/res/drawable-mdpi/car_2_white.png differ diff --git a/app/src/main/res/drawable-mdpi/car_2_white_vertical.png b/app/src/main/res/drawable-mdpi/car_2_white_vertical.png new file mode 100755 index 0000000..4b4df5e Binary files /dev/null and b/app/src/main/res/drawable-mdpi/car_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-mdpi/car_3_white.png b/app/src/main/res/drawable-mdpi/car_3_white.png index e1a67b9..a25713e 100755 Binary files a/app/src/main/res/drawable-mdpi/car_3_white.png and b/app/src/main/res/drawable-mdpi/car_3_white.png differ diff --git a/app/src/main/res/drawable-mdpi/car_3_white_vertical.png b/app/src/main/res/drawable-mdpi/car_3_white_vertical.png new file mode 100755 index 0000000..d7e1994 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/car_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-mdpi/car_4_white.png b/app/src/main/res/drawable-mdpi/car_4_white.png index 6fb775a..f82c2d5 100755 Binary files a/app/src/main/res/drawable-mdpi/car_4_white.png and b/app/src/main/res/drawable-mdpi/car_4_white.png differ diff --git a/app/src/main/res/drawable-mdpi/car_4_white_vertical.png b/app/src/main/res/drawable-mdpi/car_4_white_vertical.png new file mode 100755 index 0000000..c67446c Binary files /dev/null and b/app/src/main/res/drawable-mdpi/car_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-mdpi/truck_1_white.png b/app/src/main/res/drawable-mdpi/truck_1_white.png index 44ea608..eda19c0 100755 Binary files a/app/src/main/res/drawable-mdpi/truck_1_white.png and b/app/src/main/res/drawable-mdpi/truck_1_white.png differ diff --git a/app/src/main/res/drawable-mdpi/truck_1_white_vertical.png b/app/src/main/res/drawable-mdpi/truck_1_white_vertical.png new file mode 100755 index 0000000..a7aba0c Binary files /dev/null and b/app/src/main/res/drawable-mdpi/truck_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-mdpi/truck_2_white.png b/app/src/main/res/drawable-mdpi/truck_2_white.png index 50e5a62..09e4d41 100755 Binary files a/app/src/main/res/drawable-mdpi/truck_2_white.png and b/app/src/main/res/drawable-mdpi/truck_2_white.png differ diff --git a/app/src/main/res/drawable-mdpi/truck_2_white_vertical.png b/app/src/main/res/drawable-mdpi/truck_2_white_vertical.png new file mode 100755 index 0000000..e078d11 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/truck_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-mdpi/truck_3_white.png b/app/src/main/res/drawable-mdpi/truck_3_white.png index 062abaf..4565d1f 100755 Binary files a/app/src/main/res/drawable-mdpi/truck_3_white.png and b/app/src/main/res/drawable-mdpi/truck_3_white.png differ diff --git a/app/src/main/res/drawable-mdpi/truck_3_white_vertical.png b/app/src/main/res/drawable-mdpi/truck_3_white_vertical.png new file mode 100755 index 0000000..a9fec19 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/truck_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-mdpi/truck_4_white.png b/app/src/main/res/drawable-mdpi/truck_4_white.png index 471bdb0..db415bd 100755 Binary files a/app/src/main/res/drawable-mdpi/truck_4_white.png and b/app/src/main/res/drawable-mdpi/truck_4_white.png differ diff --git a/app/src/main/res/drawable-mdpi/truck_4_white_vertical.png b/app/src/main/res/drawable-mdpi/truck_4_white_vertical.png new file mode 100755 index 0000000..54e755c Binary files /dev/null and b/app/src/main/res/drawable-mdpi/truck_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-tvdpi/car_1_white.png b/app/src/main/res/drawable-tvdpi/car_1_white.png index 80fe682..b757a79 100755 Binary files a/app/src/main/res/drawable-tvdpi/car_1_white.png and b/app/src/main/res/drawable-tvdpi/car_1_white.png differ diff --git a/app/src/main/res/drawable-tvdpi/car_1_white_vertical.png b/app/src/main/res/drawable-tvdpi/car_1_white_vertical.png new file mode 100755 index 0000000..abbb6e4 Binary files /dev/null and b/app/src/main/res/drawable-tvdpi/car_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-tvdpi/car_2_white.png b/app/src/main/res/drawable-tvdpi/car_2_white.png index 0955671..33039fb 100755 Binary files a/app/src/main/res/drawable-tvdpi/car_2_white.png and b/app/src/main/res/drawable-tvdpi/car_2_white.png differ diff --git a/app/src/main/res/drawable-tvdpi/car_2_white_vertical.png b/app/src/main/res/drawable-tvdpi/car_2_white_vertical.png new file mode 100755 index 0000000..de7032e Binary files /dev/null and b/app/src/main/res/drawable-tvdpi/car_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-tvdpi/car_3_white.png b/app/src/main/res/drawable-tvdpi/car_3_white.png index a25713e..5b37799 100755 Binary files a/app/src/main/res/drawable-tvdpi/car_3_white.png and b/app/src/main/res/drawable-tvdpi/car_3_white.png differ diff --git a/app/src/main/res/drawable-tvdpi/car_3_white_vertical.png b/app/src/main/res/drawable-tvdpi/car_3_white_vertical.png new file mode 100755 index 0000000..60d2e29 Binary files /dev/null and b/app/src/main/res/drawable-tvdpi/car_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-tvdpi/car_4_white.png b/app/src/main/res/drawable-tvdpi/car_4_white.png index f82c2d5..b4e212e 100755 Binary files a/app/src/main/res/drawable-tvdpi/car_4_white.png and b/app/src/main/res/drawable-tvdpi/car_4_white.png differ diff --git a/app/src/main/res/drawable-tvdpi/car_4_white_vertical.png b/app/src/main/res/drawable-tvdpi/car_4_white_vertical.png new file mode 100755 index 0000000..9bc65ae Binary files /dev/null and b/app/src/main/res/drawable-tvdpi/car_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-tvdpi/truck_1_white.png b/app/src/main/res/drawable-tvdpi/truck_1_white.png index 3da11df..007a0a0 100755 Binary files a/app/src/main/res/drawable-tvdpi/truck_1_white.png and b/app/src/main/res/drawable-tvdpi/truck_1_white.png differ diff --git a/app/src/main/res/drawable-tvdpi/truck_1_white_vertical.png b/app/src/main/res/drawable-tvdpi/truck_1_white_vertical.png new file mode 100755 index 0000000..f31141b Binary files /dev/null and b/app/src/main/res/drawable-tvdpi/truck_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-tvdpi/truck_2_white.png b/app/src/main/res/drawable-tvdpi/truck_2_white.png index 68046ec..ff91eff 100755 Binary files a/app/src/main/res/drawable-tvdpi/truck_2_white.png and b/app/src/main/res/drawable-tvdpi/truck_2_white.png differ diff --git a/app/src/main/res/drawable-tvdpi/truck_2_white_vertical.png b/app/src/main/res/drawable-tvdpi/truck_2_white_vertical.png new file mode 100755 index 0000000..506653d Binary files /dev/null and b/app/src/main/res/drawable-tvdpi/truck_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-tvdpi/truck_3_white.png b/app/src/main/res/drawable-tvdpi/truck_3_white.png index c2ca378..ad8d00d 100755 Binary files a/app/src/main/res/drawable-tvdpi/truck_3_white.png and b/app/src/main/res/drawable-tvdpi/truck_3_white.png differ diff --git a/app/src/main/res/drawable-tvdpi/truck_3_white_vertical.png b/app/src/main/res/drawable-tvdpi/truck_3_white_vertical.png new file mode 100755 index 0000000..842d859 Binary files /dev/null and b/app/src/main/res/drawable-tvdpi/truck_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-tvdpi/truck_4_white.png b/app/src/main/res/drawable-tvdpi/truck_4_white.png index 1c4d409..4323c4d 100755 Binary files a/app/src/main/res/drawable-tvdpi/truck_4_white.png and b/app/src/main/res/drawable-tvdpi/truck_4_white.png differ diff --git a/app/src/main/res/drawable-tvdpi/truck_4_white_vertical.png b/app/src/main/res/drawable-tvdpi/truck_4_white_vertical.png new file mode 100755 index 0000000..0459d1c Binary files /dev/null and b/app/src/main/res/drawable-tvdpi/truck_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-xhdpi/car_1_white.png b/app/src/main/res/drawable-xhdpi/car_1_white.png index 5ce9218..88c5810 100755 Binary files a/app/src/main/res/drawable-xhdpi/car_1_white.png and b/app/src/main/res/drawable-xhdpi/car_1_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/car_1_white_vertical.png b/app/src/main/res/drawable-xhdpi/car_1_white_vertical.png new file mode 100755 index 0000000..72003d0 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/car_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-xhdpi/car_2_white.png b/app/src/main/res/drawable-xhdpi/car_2_white.png index b92b54c..91eab30 100755 Binary files a/app/src/main/res/drawable-xhdpi/car_2_white.png and b/app/src/main/res/drawable-xhdpi/car_2_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/car_2_white_vertical.png b/app/src/main/res/drawable-xhdpi/car_2_white_vertical.png new file mode 100755 index 0000000..f79e57f Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/car_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-xhdpi/car_3_white.png b/app/src/main/res/drawable-xhdpi/car_3_white.png index 4843efe..ac99c4b 100755 Binary files a/app/src/main/res/drawable-xhdpi/car_3_white.png and b/app/src/main/res/drawable-xhdpi/car_3_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/car_3_white_vertical.png b/app/src/main/res/drawable-xhdpi/car_3_white_vertical.png new file mode 100755 index 0000000..ac2152d Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/car_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-xhdpi/car_4_white.png b/app/src/main/res/drawable-xhdpi/car_4_white.png index 8bfbab9..febac34 100755 Binary files a/app/src/main/res/drawable-xhdpi/car_4_white.png and b/app/src/main/res/drawable-xhdpi/car_4_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/car_4_white_vertical.png b/app/src/main/res/drawable-xhdpi/car_4_white_vertical.png new file mode 100755 index 0000000..421c235 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/car_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-xhdpi/truck_1_white.png b/app/src/main/res/drawable-xhdpi/truck_1_white.png index 91594c1..b6150a5 100755 Binary files a/app/src/main/res/drawable-xhdpi/truck_1_white.png and b/app/src/main/res/drawable-xhdpi/truck_1_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/truck_1_white_vertical.png b/app/src/main/res/drawable-xhdpi/truck_1_white_vertical.png new file mode 100755 index 0000000..69a64ae Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/truck_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-xhdpi/truck_2_white.png b/app/src/main/res/drawable-xhdpi/truck_2_white.png index 616f90b..21ee6a8 100755 Binary files a/app/src/main/res/drawable-xhdpi/truck_2_white.png and b/app/src/main/res/drawable-xhdpi/truck_2_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/truck_2_white_vertical.png b/app/src/main/res/drawable-xhdpi/truck_2_white_vertical.png new file mode 100755 index 0000000..ff0262b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/truck_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-xhdpi/truck_3_white.png b/app/src/main/res/drawable-xhdpi/truck_3_white.png index eb1caff..1fc58b7 100755 Binary files a/app/src/main/res/drawable-xhdpi/truck_3_white.png and b/app/src/main/res/drawable-xhdpi/truck_3_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/truck_3_white_vertical.png b/app/src/main/res/drawable-xhdpi/truck_3_white_vertical.png new file mode 100755 index 0000000..d55bc9e Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/truck_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-xhdpi/truck_4_white.png b/app/src/main/res/drawable-xhdpi/truck_4_white.png index b700276..fc17341 100755 Binary files a/app/src/main/res/drawable-xhdpi/truck_4_white.png and b/app/src/main/res/drawable-xhdpi/truck_4_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/truck_4_white_vertical.png b/app/src/main/res/drawable-xhdpi/truck_4_white_vertical.png new file mode 100755 index 0000000..a16319e Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/truck_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxhdpi/car_1_white.png b/app/src/main/res/drawable-xxhdpi/car_1_white.png index 3b71fd4..4e97ea9 100755 Binary files a/app/src/main/res/drawable-xxhdpi/car_1_white.png and b/app/src/main/res/drawable-xxhdpi/car_1_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/car_1_white_vertical.png b/app/src/main/res/drawable-xxhdpi/car_1_white_vertical.png new file mode 100755 index 0000000..a3c7280 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/car_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxhdpi/car_2_white.png b/app/src/main/res/drawable-xxhdpi/car_2_white.png index e85c464..44deb2e 100755 Binary files a/app/src/main/res/drawable-xxhdpi/car_2_white.png and b/app/src/main/res/drawable-xxhdpi/car_2_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/car_2_white_vertical.png b/app/src/main/res/drawable-xxhdpi/car_2_white_vertical.png new file mode 100755 index 0000000..e35bfa4 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/car_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxhdpi/car_3_white.png b/app/src/main/res/drawable-xxhdpi/car_3_white.png index 21eb4d4..c1bd11f 100755 Binary files a/app/src/main/res/drawable-xxhdpi/car_3_white.png and b/app/src/main/res/drawable-xxhdpi/car_3_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/car_3_white_vertical.png b/app/src/main/res/drawable-xxhdpi/car_3_white_vertical.png new file mode 100755 index 0000000..bd92db9 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/car_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxhdpi/car_4_white.png b/app/src/main/res/drawable-xxhdpi/car_4_white.png index daf5f73..489eec2 100755 Binary files a/app/src/main/res/drawable-xxhdpi/car_4_white.png and b/app/src/main/res/drawable-xxhdpi/car_4_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/car_4_white_vertical.png b/app/src/main/res/drawable-xxhdpi/car_4_white_vertical.png new file mode 100755 index 0000000..62ea361 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/car_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxhdpi/truck_1_white.png b/app/src/main/res/drawable-xxhdpi/truck_1_white.png index a72d6df..e33162f 100755 Binary files a/app/src/main/res/drawable-xxhdpi/truck_1_white.png and b/app/src/main/res/drawable-xxhdpi/truck_1_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/truck_1_white_vertical.png b/app/src/main/res/drawable-xxhdpi/truck_1_white_vertical.png new file mode 100755 index 0000000..187e3e2 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/truck_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxhdpi/truck_2_white.png b/app/src/main/res/drawable-xxhdpi/truck_2_white.png index a27f02a..19310b7 100755 Binary files a/app/src/main/res/drawable-xxhdpi/truck_2_white.png and b/app/src/main/res/drawable-xxhdpi/truck_2_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/truck_2_white_vertical.png b/app/src/main/res/drawable-xxhdpi/truck_2_white_vertical.png new file mode 100755 index 0000000..3ff992d Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/truck_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxhdpi/truck_3_white.png b/app/src/main/res/drawable-xxhdpi/truck_3_white.png index e24e9b1..f14e92a 100755 Binary files a/app/src/main/res/drawable-xxhdpi/truck_3_white.png and b/app/src/main/res/drawable-xxhdpi/truck_3_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/truck_3_white_vertical.png b/app/src/main/res/drawable-xxhdpi/truck_3_white_vertical.png new file mode 100755 index 0000000..4dd994f Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/truck_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxhdpi/truck_4_white.png b/app/src/main/res/drawable-xxhdpi/truck_4_white.png index a382310..3f699c8 100755 Binary files a/app/src/main/res/drawable-xxhdpi/truck_4_white.png and b/app/src/main/res/drawable-xxhdpi/truck_4_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/truck_4_white_vertical.png b/app/src/main/res/drawable-xxhdpi/truck_4_white_vertical.png new file mode 100755 index 0000000..0399dc6 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/truck_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/car_1_white.png b/app/src/main/res/drawable-xxxhdpi/car_1_white.png index 4e97ea9..8762c67 100755 Binary files a/app/src/main/res/drawable-xxxhdpi/car_1_white.png and b/app/src/main/res/drawable-xxxhdpi/car_1_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/car_1_white_vertical.png b/app/src/main/res/drawable-xxxhdpi/car_1_white_vertical.png new file mode 100755 index 0000000..dde976f Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/car_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/car_2_white.png b/app/src/main/res/drawable-xxxhdpi/car_2_white.png index 44deb2e..e727428 100755 Binary files a/app/src/main/res/drawable-xxxhdpi/car_2_white.png and b/app/src/main/res/drawable-xxxhdpi/car_2_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/car_2_white_vertical.png b/app/src/main/res/drawable-xxxhdpi/car_2_white_vertical.png new file mode 100755 index 0000000..780e41c Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/car_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/car_3_white.png b/app/src/main/res/drawable-xxxhdpi/car_3_white.png index c1bd11f..1775a8a 100755 Binary files a/app/src/main/res/drawable-xxxhdpi/car_3_white.png and b/app/src/main/res/drawable-xxxhdpi/car_3_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/car_3_white_vertical.png b/app/src/main/res/drawable-xxxhdpi/car_3_white_vertical.png new file mode 100755 index 0000000..adfa820 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/car_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/car_4_white.png b/app/src/main/res/drawable-xxxhdpi/car_4_white.png index 489eec2..fd597f0 100755 Binary files a/app/src/main/res/drawable-xxxhdpi/car_4_white.png and b/app/src/main/res/drawable-xxxhdpi/car_4_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/car_4_white_vertical.png b/app/src/main/res/drawable-xxxhdpi/car_4_white_vertical.png new file mode 100755 index 0000000..8d30cce Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/car_4_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/truck_1_white.png b/app/src/main/res/drawable-xxxhdpi/truck_1_white.png index e33162f..1b8dc46 100755 Binary files a/app/src/main/res/drawable-xxxhdpi/truck_1_white.png and b/app/src/main/res/drawable-xxxhdpi/truck_1_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/truck_1_white_vertical.png b/app/src/main/res/drawable-xxxhdpi/truck_1_white_vertical.png new file mode 100755 index 0000000..1a698c8 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/truck_1_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/truck_2_white.png b/app/src/main/res/drawable-xxxhdpi/truck_2_white.png index 19310b7..c4e22c0 100755 Binary files a/app/src/main/res/drawable-xxxhdpi/truck_2_white.png and b/app/src/main/res/drawable-xxxhdpi/truck_2_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/truck_2_white_vertical.png b/app/src/main/res/drawable-xxxhdpi/truck_2_white_vertical.png new file mode 100755 index 0000000..dd587e2 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/truck_2_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/truck_3_white.png b/app/src/main/res/drawable-xxxhdpi/truck_3_white.png index f14e92a..64ae82b 100755 Binary files a/app/src/main/res/drawable-xxxhdpi/truck_3_white.png and b/app/src/main/res/drawable-xxxhdpi/truck_3_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/truck_3_white_vertical.png b/app/src/main/res/drawable-xxxhdpi/truck_3_white_vertical.png new file mode 100755 index 0000000..c37d317 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/truck_3_white_vertical.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/truck_4_white.png b/app/src/main/res/drawable-xxxhdpi/truck_4_white.png index 3f699c8..80e2449 100755 Binary files a/app/src/main/res/drawable-xxxhdpi/truck_4_white.png and b/app/src/main/res/drawable-xxxhdpi/truck_4_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/truck_4_white_vertical.png b/app/src/main/res/drawable-xxxhdpi/truck_4_white_vertical.png new file mode 100755 index 0000000..0bc3adf Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/truck_4_white_vertical.png differ -- cgit v1.2.3 From f8014ab81e021826d63b3745becb9604f127f572 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Thu, 23 Apr 2015 17:31:19 +0200 Subject: OnBlock --- app/src/main/java/com/camilstaps/rushhour/Board.java | 12 +++++++++--- app/src/main/java/com/camilstaps/rushhour/DriveListener.java | 1 + .../main/java/com/camilstaps/rushhour/GamePlayActivity.java | 11 ++++++++--- app/src/main/java/com/camilstaps/rushhour/HighScoreList.java | 2 +- 4 files changed, 19 insertions(+), 7 deletions(-) (limited to 'app/src/main/java/com/camilstaps/rushhour') diff --git a/app/src/main/java/com/camilstaps/rushhour/Board.java b/app/src/main/java/com/camilstaps/rushhour/Board.java index eeb2580..cfd3774 100644 --- a/app/src/main/java/com/camilstaps/rushhour/Board.java +++ b/app/src/main/java/com/camilstaps/rushhour/Board.java @@ -23,10 +23,16 @@ public class Board { @Override public void onMove(Car car, int offset) { Coordinate newC = car.wouldMoveTo(offset); - if (newC.getY() > DIMENSION - 1 || newC.getX() > DIMENSION - 1 || newC.getX() < 0 || newC.getY() < 0) return; - for (Car iter : cars) - if (iter.occupies(newC)) + if (newC.getY() > DIMENSION - 1 || newC.getX() > DIMENSION - 1 || newC.getX() < 0 || newC.getY() < 0) { + driveListener.onBlocked(); + return; + } + for (Car iter : cars) { + if (iter.occupies(newC)) { + driveListener.onBlocked(); return; + } + } car.move(offset); driveListener.onDrive(); } diff --git a/app/src/main/java/com/camilstaps/rushhour/DriveListener.java b/app/src/main/java/com/camilstaps/rushhour/DriveListener.java index f3a83e7..bfb1eb3 100644 --- a/app/src/main/java/com/camilstaps/rushhour/DriveListener.java +++ b/app/src/main/java/com/camilstaps/rushhour/DriveListener.java @@ -5,4 +5,5 @@ package com.camilstaps.rushhour; */ public abstract class DriveListener { public abstract void onDrive(); + public abstract void onBlocked(); } diff --git a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java index f0dd4af..22532f2 100755 --- a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java +++ b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java @@ -1,7 +1,6 @@ package com.camilstaps.rushhour; import android.app.Activity; -import android.graphics.Color; import android.media.AudioManager; import android.media.SoundPool; import android.os.Bundle; @@ -13,7 +12,7 @@ import java.io.InputStream; public class GamePlayActivity extends Activity { private SoundPool soundPool; - private int soundBackgroundId, soundCarDriveId; + private int soundBackgroundId, soundCarDriveId, soundCantMoveId; @Override protected void onCreate(Bundle savedInstanceState) { @@ -48,8 +47,9 @@ public class GamePlayActivity extends Activity { } } }); - soundCarDriveId = soundPool.load(this, R.raw.car_drive, 1); soundBackgroundId = soundPool.load(this, R.raw.tune, 2); + soundCarDriveId = soundPool.load(this, R.raw.car_drive, 1); + soundCantMoveId = soundPool.load(this, R.raw.cantmove, 1); final RelativeLayout boardLayout = (RelativeLayout) findViewById(R.id.board); ViewTreeObserver vto = boardLayout.getViewTreeObserver(); @@ -66,6 +66,11 @@ public class GamePlayActivity extends Activity { public void onDrive() { soundPool.play(soundCarDriveId, 1, 1, 1, 0, 1); } + + @Override + public void onBlocked() { + soundPool.play(soundCantMoveId, 1, 1, 1, 0, 1); + } }); } } diff --git a/app/src/main/java/com/camilstaps/rushhour/HighScoreList.java b/app/src/main/java/com/camilstaps/rushhour/HighScoreList.java index c0a7e67..6afeb23 100644 --- a/app/src/main/java/com/camilstaps/rushhour/HighScoreList.java +++ b/app/src/main/java/com/camilstaps/rushhour/HighScoreList.java @@ -3,7 +3,7 @@ * To change this template file, choose Tools | Templates * and open the template in the editor. */ -package rushhour; +package com.camilstaps.rushhour; import java.util.Collections; import java.util.List; -- cgit v1.2.3 From 4ccb3506c19639b410fcd5a50364c834ea153c83 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Thu, 23 Apr 2015 18:42:02 +0200 Subject: Cleanup --- .../main/java/com/camilstaps/rushhour/Board.java | 41 +++++++++++++++--- .../com/camilstaps/rushhour/DriveListener.java | 7 ++++ .../com/camilstaps/rushhour/GamePlayActivity.java | 49 ++++++++++------------ .../java/com/camilstaps/rushhour/HighScore.java | 40 +++++++++++++++++- .../com/camilstaps/rushhour/HighScoreList.java | 34 +++++++++++++++ 5 files changed, 138 insertions(+), 33 deletions(-) (limited to 'app/src/main/java/com/camilstaps/rushhour') diff --git a/app/src/main/java/com/camilstaps/rushhour/Board.java b/app/src/main/java/com/camilstaps/rushhour/Board.java index cfd3774..bdfb6d4 100644 --- a/app/src/main/java/com/camilstaps/rushhour/Board.java +++ b/app/src/main/java/com/camilstaps/rushhour/Board.java @@ -19,6 +19,9 @@ public class Board { private DriveListener driveListener; + /** + * Move a car if possible, and call the appropriate listeners + */ private MoveListener moveListener = new MoveListener() { @Override public void onMove(Car car, int offset) { @@ -38,25 +41,53 @@ public class Board { } }; - public Board() { - this(new HashSet()); - } - public Board(Set cars) { for (Car car : cars) { add(car); } } + public Board() { + this(new HashSet()); + } + public void add(Car car) { car.setMoveListener(moveListener); cars.add(car); } + /** + * Add all cars to an existing layout + * RelativeLayout is assumed, although this may work with other Layouts + * @param context + * @param layout + */ public void addToLayout(Context context, ViewGroup layout) { for (Car car : cars) { - layout.addView(car.getImageView(context, (layout.getWidth() - layout.getPaddingLeft() - layout.getPaddingRight()) / DIMENSION)); + layout.addView(car.getImageView( + context, + (layout.getWidth() - layout.getPaddingLeft() - layout.getPaddingRight()) / DIMENSION + )); + } + } + + /** + * True iff the red car can move out without problems + * @return + */ + public boolean isSolved() { + for (int x = DIMENSION - 1; x >= 0; x++) { + for (Car car : cars) { + if (car.occupies(new Coordinate(x, 3))) { + if (car.canMoveHorizontally()) { + return true; + } else { + return false; + } + } + } } + return false; } public void setDriveListener(DriveListener dl) { diff --git a/app/src/main/java/com/camilstaps/rushhour/DriveListener.java b/app/src/main/java/com/camilstaps/rushhour/DriveListener.java index bfb1eb3..553c29f 100644 --- a/app/src/main/java/com/camilstaps/rushhour/DriveListener.java +++ b/app/src/main/java/com/camilstaps/rushhour/DriveListener.java @@ -4,6 +4,13 @@ package com.camilstaps.rushhour; * Created by camilstaps on 22-4-15. */ public abstract class DriveListener { + /** + * Called when a car moves + */ public abstract void onDrive(); + + /** + * Called when a car attempted to move, but couldn't + */ public abstract void onBlocked(); } diff --git a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java index 22532f2..d7958c3 100755 --- a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java +++ b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java @@ -20,36 +20,12 @@ public class GamePlayActivity extends Activity { setContentView(R.layout.activity_fullscreen); + setupSoundPool(); + InputStream input = getResources().openRawResource(R.raw.level); BoardLoader loader = new BoardLoader(); final Board board = loader.loadBoard(input); - //final Board board = new Board(); -// board.add(new Car(new Coordinate(0,0), new Coordinate(2,0), Color.YELLOW)); -// board.add(new Car(new Coordinate(3,0), new Coordinate(3,1), Color.rgb(128,223,182))); -// board.add(new Car(new Coordinate(4,0), new Coordinate(4,2), Color.rgb(198, 134,221))); -// board.add(new Car(new Coordinate(0,2), new Coordinate(1,2), Color.RED)); -// board.add(new Car(new Coordinate(5,2), new Coordinate(5,3), Color.rgb(255,165,0))); -// board.add(new Car(new Coordinate(0,3), new Coordinate(0,4), Color.rgb(158,231,246))); -// board.add(new Car(new Coordinate(1,3), new Coordinate(2,3), Color.rgb(245,158,246))); -// board.add(new Car(new Coordinate(3,3), new Coordinate(4,3), Color.rgb(150,126,196))); -// board.add(new Car(new Coordinate(1,4), new Coordinate(2,4), Color.GREEN)); -// board.add(new Car(new Coordinate(3,4), new Coordinate(3,5), Color.BLACK)); -// board.add(new Car(new Coordinate(5,4), new Coordinate(5,5), Color.rgb(219,202,161))); -// board.add(new Car(new Coordinate(0,5), new Coordinate(2,5), Color.rgb(25,195,167))); - - soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0); - soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { - @Override - public void onLoadComplete(SoundPool soundPool, int sampleId, int status) { - if (sampleId == soundBackgroundId) { - soundPool.play(soundBackgroundId, 1, 1, 2, -1, 1); - } - } - }); - soundBackgroundId = soundPool.load(this, R.raw.tune, 2); - soundCarDriveId = soundPool.load(this, R.raw.car_drive, 1); - soundCantMoveId = soundPool.load(this, R.raw.cantmove, 1); final RelativeLayout boardLayout = (RelativeLayout) findViewById(R.id.board); ViewTreeObserver vto = boardLayout.getViewTreeObserver(); @@ -61,6 +37,9 @@ public class GamePlayActivity extends Activity { } }); + /* + * Sounds on move and attempt to move + */ board.setDriveListener(new DriveListener() { @Override public void onDrive() { @@ -73,4 +52,22 @@ public class GamePlayActivity extends Activity { } }); } + + /** + * Load sounds; start background music + */ + protected void setupSoundPool() { + soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0); + soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { + @Override + public void onLoadComplete(SoundPool soundPool, int sampleId, int status) { + if (sampleId == soundBackgroundId) { + soundPool.play(soundBackgroundId, 1, 1, 2, -1, 1); + } + } + }); + soundBackgroundId = soundPool.load(this, R.raw.tune, 2); + soundCarDriveId = soundPool.load(this, R.raw.car_drive, 1); + soundCantMoveId = soundPool.load(this, R.raw.cantmove, 1); + } } diff --git a/app/src/main/java/com/camilstaps/rushhour/HighScore.java b/app/src/main/java/com/camilstaps/rushhour/HighScore.java index ce5e001..9168f02 100644 --- a/app/src/main/java/com/camilstaps/rushhour/HighScore.java +++ b/app/src/main/java/com/camilstaps/rushhour/HighScore.java @@ -1,5 +1,8 @@ package com.camilstaps.rushhour; +import org.json.JSONException; +import org.json.JSONObject; + /** * Created by camilstaps on 23-4-15. * Edited by Halzyn on 23-4-15. @@ -14,6 +17,24 @@ public class HighScore implements Comparable { this.name = name; } + /** + * HighScore from json + * @see #toString() + * @param jsonString + */ + public HighScore(String jsonString) { + int temp_score = -1; + String temp_name = null; + try { + JSONObject json = new JSONObject(jsonString); + temp_score = json.getInt("score"); + temp_name = json.getString("name"); + } catch (JSONException e) { + } + score = temp_score; + name = temp_name; + } + public int getScore() { return score; } @@ -24,11 +45,11 @@ public class HighScore implements Comparable { @Override public int compareTo(HighScore other_score) { - if (other_score.getScore() < score) + if (other_score.score < score) { return -1; } - else if (other_score.getScore() == score) + else if (other_score.score == score) { return 0; } @@ -38,4 +59,19 @@ public class HighScore implements Comparable { } } + /** + * JSON representation + * @see #HighScore(String) + * @return + */ + public String toString() { + JSONObject json = new JSONObject(); + try { + json.put("score", score); + json.put("name", name); + } catch (JSONException ex) { + } + return json.toString(); + } + } diff --git a/app/src/main/java/com/camilstaps/rushhour/HighScoreList.java b/app/src/main/java/com/camilstaps/rushhour/HighScoreList.java index 6afeb23..4d8f829 100644 --- a/app/src/main/java/com/camilstaps/rushhour/HighScoreList.java +++ b/app/src/main/java/com/camilstaps/rushhour/HighScoreList.java @@ -5,25 +5,59 @@ */ package com.camilstaps.rushhour; +import android.content.Context; +import android.preference.PreferenceManager; + import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * * @author Created by halzyn on 23-4-15. */ public class HighScoreList { + + private final String PREFERENCES_KEY = "highscores"; private List list; public HighScoreList (List some_list) { this.list = some_list; } + + /** + * Get highscores from sharedpreferences + * @param context + */ + public HighScoreList(Context context) { + Set jsonList = PreferenceManager.getDefaultSharedPreferences(context).getStringSet(PREFERENCES_KEY, new HashSet()); + for (String json : jsonList) { + list.add(new HighScore(json)); + } + } + + public List getList() { + return list; + } public void addToList(HighScore score) { list.add(score); Collections.sort(list); } + + /** + * Save highscores to sharedpreferences + * @param context + */ + public void save(Context context) { + Set jsonList = new HashSet<>(); + for (HighScore hs : list) { + jsonList.add(hs.toString()); + } + PreferenceManager.getDefaultSharedPreferences(context).edit().putStringSet(PREFERENCES_KEY, jsonList).apply(); + } } -- cgit v1.2.3