### Question:
BitmapUtil { public static final BulletTrack caculateBulletTrack(int scaleRatio, int startx, int starty, int power, int angle, double wind, BitSetImage battleMap, int totalHeight, ArrayList<SimplePoint> trackDebugList) { return caculateBulletTrack(scaleRatio, startx, starty, power, angle, wind, battleMap, totalHeight, trackDebugList, null); }  static final BitSetImage readBitmapToBitSet(File imageFile, int scaleRatio, int alphaThreshold); static final double intersectRatio(
			BitSetImage bitSetImage, int centerX, int centerY, 
			int userCenterX, int userCenterY, int userWidth, int userHeight); static final double intersectRatio(
			int bulletWidth, int bulletHeight, int centerX, int centerY, 
			int userCenterX, int userCenterY, int userWidth, int userHeight); static final BulletTrack caculateBulletTrack(int scaleRatio, int startx, int starty, 
			int power, int angle, double wind, BitSetImage battleMap, int totalHeight, 
			ArrayList<SimplePoint> trackDebugList); static final BulletTrack caculateBulletTrack(int scaleRatio, int startx, int starty, 
			int power, int angle, double wind, BitSetImage battleMap, int totalHeight, 
			ArrayList<SimplePoint> trackDebugList, Battle battle); static final BulletTrack caculateBulletTrack(int scaleRatio, BulletTrack bullet, 
			BitSetImage battleMap, int totalHeight, 
			ArrayList<SimplePoint> trackDebugList, Battle battle); static final BulletTrack calculateBulletTrackSpeed(int startx, int starty, 
			int power, int angle, double wind); static final boolean canItDropToBottom(int x, int y, int scaleRatio, BitSetImage battleMap); static final SimplePoint dropOnGround(int x, int y, int scaleRatio, BitSetImage battleMap); static BitSetImage scaleBitSetImage(BitSetImage bitSetImage, double heightRatio); static final void drawBitSetImage(BattleBitSetMap map); static final void drawBitSetImage(BitSetImage bitSetImage, File imageFile); static final void drawBitmap(BufferedImage image, File imageFile); static final void drawMapAndBulletBitmap(BufferedImage map, BufferedImage bullet, 
			int bulletCenterX, int bulletCenterY, File imageFile); static final void drawBulletTrack(BattleBitSetMap map,
			ArrayList<SimplePoint> line, BulletTrack track); static final void drawBulletTrack(String mapDir, BattleBitSetMap map, BitSetImage mapImage,
			ArrayList<SimplePoint> line, BulletTrack track, int scaleRatio); static final int DEFAULT_SCALE; static boolean isDebug; }### Answer:
@Test public void testCaculateBulletTrack() throws Exception { final File mapFile = new File("src/test/data/map_00.png"); final BitSetImage mapImage = BitmapUtil.readBitmapToBitSet(mapFile, 4, 150); int startx = 1354; int starty = 162; int power = 100; int angle = 150; double wind= 1; ArrayList<SimplePoint> line = new ArrayList<SimplePoint>(); BulletTrack track = BitmapUtil.caculateBulletTrack(4, startx, starty, power, angle, wind, mapImage, mapImage.getHeight(), line); assertEquals(null, track.hitPoint); System.out.println("track size: " + line.size()); printBulletTrack(mapFile, line, track); }