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 +++++++++++++++++++++- 2 files changed, 68 insertions(+), 1 deletion(-) mode change 100644 => 100755 app/src/main/java/com/camilstaps/rushhour/Car.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 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(); } -- cgit v1.2.3