diff options
author | Size43 | 2015-04-23 17:23:41 +0200 |
---|---|---|
committer | Size43 | 2015-04-23 17:23:41 +0200 |
commit | 3c65a9a4ac9c8bf22cc185a5d2fd7eaf13ecc465 (patch) | |
tree | bd9953a10eb7051ad4aea2e7dd05a680c1cb26d7 /app/src/main/java/com/camilstaps/rushhour | |
parent | Merge branch 'master' of https://github.com/camilstaps/RushHourAndroid (diff) |
Added the car images to the game itself
Diffstat (limited to 'app/src/main/java/com/camilstaps/rushhour')
-rwxr-xr-x | app/src/main/java/com/camilstaps/rushhour/BoardLoader.java | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | app/src/main/java/com/camilstaps/rushhour/Car.java | 61 |
2 files changed, 68 insertions, 1 deletions
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 index 2dce203..faa5796 100644..100755 --- 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(); } |