Merge remote-tracking branch 'origin/main'
# Conflicts: # src/main/java/ch/zhaw/pm2/racetrack/InvalidFileFormatException.java
This commit is contained in:
		
						commit
						6560de8708
					
				| 
						 | 
					@ -33,6 +33,7 @@ public final class PositionVector {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Adds two PositionVectors (e.g. car position and velocity vector or two velocity vectors).
 | 
					     * Adds two PositionVectors (e.g. car position and velocity vector or two velocity vectors).
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @param vectorA A position or velocity vector
 | 
					     * @param vectorA A position or velocity vector
 | 
				
			||||||
     * @param vectorB A position or velocity vector
 | 
					     * @param vectorB A position or velocity vector
 | 
				
			||||||
     * @return A new PositionVector holding the result of the addition. If both
 | 
					     * @return A new PositionVector holding the result of the addition. If both
 | 
				
			||||||
| 
						 | 
					@ -45,6 +46,7 @@ public final class PositionVector {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Subtracts two PositionVectors (e.g. car position and velocity vector or two velocity vectors).
 | 
					     * Subtracts two PositionVectors (e.g. car position and velocity vector or two velocity vectors).
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @param vectorA A position or velocity vector
 | 
					     * @param vectorA A position or velocity vector
 | 
				
			||||||
     * @param vectorB A position or velocity vector
 | 
					     * @param vectorB A position or velocity vector
 | 
				
			||||||
     * @return A new PositionVector holding the result of the addition. If both
 | 
					     * @return A new PositionVector holding the result of the addition. If both
 | 
				
			||||||
| 
						 | 
					@ -58,6 +60,7 @@ public final class PositionVector {
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Calculates the scalar product (Skalarprodukt) of two 2D vectors. The scalar product
 | 
					     * Calculates the scalar product (Skalarprodukt) of two 2D vectors. The scalar product
 | 
				
			||||||
     * multiplies the lengths of the parallel components of the vectors.
 | 
					     * multiplies the lengths of the parallel components of the vectors.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @param vectorA A position or velocity vector
 | 
					     * @param vectorA A position or velocity vector
 | 
				
			||||||
     * @param vectorB A position or velocity vector
 | 
					     * @param vectorB A position or velocity vector
 | 
				
			||||||
     * @return The scalar product (vectorA * vectorB). Since vectorA and
 | 
					     * @return The scalar product (vectorA * vectorB). Since vectorA and
 | 
				
			||||||
| 
						 | 
					@ -75,6 +78,7 @@ public final class PositionVector {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Copy constructor
 | 
					     * Copy constructor
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @param other
 | 
					     * @param other
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public PositionVector(final PositionVector other) {
 | 
					    public PositionVector(final PositionVector other) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@ public class DoNotMoveStrategy implements MoveStrategy {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * This method will be used to return the next Direction for the car.
 | 
					     * This method will be used to return the next Direction for the car.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return a NONE Direction
 | 
					     * @return a NONE Direction
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,6 +23,7 @@ public class PathFinderMoveStrategy implements MoveStrategy{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Constructor which initialises the needed variables and creates the MoveList
 | 
					     * Constructor which initialises the needed variables and creates the MoveList
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @param track track instance of the game
 | 
					     * @param track track instance of the game
 | 
				
			||||||
     * @param carIndex index of the car which owns this moveStrategy
 | 
					     * @param carIndex index of the car which owns this moveStrategy
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
| 
						 | 
					@ -82,6 +83,7 @@ public class PathFinderMoveStrategy implements MoveStrategy{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Method to check if a State is already in List calculatedStates
 | 
					     * Method to check if a State is already in List calculatedStates
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @param state the State which should be checked
 | 
					     * @param state the State which should be checked
 | 
				
			||||||
     * @return true if it is in List, false if it isn't in List
 | 
					     * @return true if it is in List, false if it isn't in List
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
| 
						 | 
					@ -103,6 +105,7 @@ public class PathFinderMoveStrategy implements MoveStrategy{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * Constructor of State
 | 
					         * Constructor of State
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
         * @param position the PositionVector object with coordinates of the Position
 | 
					         * @param position the PositionVector object with coordinates of the Position
 | 
				
			||||||
         * @param velocity the PositionVector object with coordinates of the Velocity
 | 
					         * @param velocity the PositionVector object with coordinates of the Velocity
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
| 
						 | 
					@ -113,6 +116,7 @@ public class PathFinderMoveStrategy implements MoveStrategy{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * Checks if a state has the same Position and the same Velocity
 | 
					         * Checks if a state has the same Position and the same Velocity
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
         * @param compareState the State object to compare
 | 
					         * @param compareState the State object to compare
 | 
				
			||||||
         * @return true if it is equal, false if it is not equal
 | 
					         * @return true if it is equal, false if it is not equal
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
| 
						 | 
					@ -136,6 +140,7 @@ public class PathFinderMoveStrategy implements MoveStrategy{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * Constructor of PossibleMove
 | 
					         * Constructor of PossibleMove
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
         * @param previousMove  The move which must be executed bevor this move can be executed
 | 
					         * @param previousMove  The move which must be executed bevor this move can be executed
 | 
				
			||||||
         * @param nextDirection The direction of the move
 | 
					         * @param nextDirection The direction of the move
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
| 
						 | 
					@ -149,8 +154,7 @@ public class PathFinderMoveStrategy implements MoveStrategy{
 | 
				
			||||||
                directions.addAll(previousMove.directions); //copy the LIst of Directions from the previousMove
 | 
					                directions.addAll(previousMove.directions); //copy the LIst of Directions from the previousMove
 | 
				
			||||||
                startPosition = previousMove.endPosition; //use the endPosition from previousMove as startPosition
 | 
					                startPosition = previousMove.endPosition; //use the endPosition from previousMove as startPosition
 | 
				
			||||||
                startVelocity = previousMove.endVelocity; //use the endVelocity from previousMove as startVelocity
 | 
					                startVelocity = previousMove.endVelocity; //use the endVelocity from previousMove as startVelocity
 | 
				
			||||||
            }
 | 
					            } else { //if there was no previousMove
 | 
				
			||||||
            else { //if there was no previousMove
 | 
					 | 
				
			||||||
                startPosition = track.getCarPos(carIndex); //use the current Position of the car from track as startPosition
 | 
					                startPosition = track.getCarPos(carIndex); //use the current Position of the car from track as startPosition
 | 
				
			||||||
                startVelocity = track.getCar(carIndex).getVelocity(); //use the current Velocity of the car from track as startVelocity
 | 
					                startVelocity = track.getCar(carIndex).getVelocity(); //use the current Velocity of the car from track as startVelocity
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
| 
						 | 
					@ -161,6 +165,7 @@ public class PathFinderMoveStrategy implements MoveStrategy{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * check if the finishline is crossed (in correct direction) if this move is executed
 | 
					         * check if the finishline is crossed (in correct direction) if this move is executed
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
         * @return true if finishline will be crossed
 | 
					         * @return true if finishline will be crossed
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        public boolean finished() {
 | 
					        public boolean finished() {
 | 
				
			||||||
| 
						 | 
					@ -169,6 +174,7 @@ public class PathFinderMoveStrategy implements MoveStrategy{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * checks if the car will crash or finishline will be crossed in wrong direction if this move is executed
 | 
					         * checks if the car will crash or finishline will be crossed in wrong direction if this move is executed
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
         * @return true if car will crash
 | 
					         * @return true if car will crash
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        public boolean crashed() {
 | 
					        public boolean crashed() {
 | 
				
			||||||
| 
						 | 
					@ -187,6 +193,7 @@ public class PathFinderMoveStrategy implements MoveStrategy{
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Checks if the next Move in moveList will crash. If no crash next move in moveList will be executed.
 | 
					     * Checks if the next Move in moveList will crash. If no crash next move in moveList will be executed.
 | 
				
			||||||
     * If crash the moveList will be recreated.
 | 
					     * If crash the moveList will be recreated.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return the direction of acceleration which should be executed.
 | 
					     * @return the direction of acceleration which should be executed.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue