Skip to content
Snippets Groups Projects
Select Git revision
  • f84d1aa186f0bfeb08935d48eb2907e44a69dfae
  • main default protected
  • variant
3 results

Controller.java

Blame
  • Forked from COUETOUX Basile / FirefighterStarter
    Source project has a limited visibility.
    • MANSOUR Chadi's avatar
      f84d1aa1
      Merge remote-tracking branch 'origin/main' · f84d1aa1
      MANSOUR Chadi authored
      # Conflicts:
      #	.gradle/8.10.2/executionHistory/executionHistory.bin
      #	.gradle/8.10.2/executionHistory/executionHistory.lock
      #	.gradle/8.10.2/fileHashes/fileHashes.bin
      #	.gradle/8.10.2/fileHashes/fileHashes.lock
      #	.gradle/8.10.2/fileHashes/resourceHashesCache.bin
      #	.gradle/buildOutputCleanup/buildOutputCleanup.lock
      #	build/classes/java/main/model/FirefighterBoard.class
      #	build/classes/java/main/model/FirefighterManager.class
      #	build/tmp/compileJava/previous-compilation-data.bin
      #	src/main/java/model/FirefighterBoard.java
      #	src/main/java/model/FirefighterManager.java
      #	src/main/java/model/SimpleFirefighterMovementStrategy.java
      f84d1aa1
      History
      Merge remote-tracking branch 'origin/main'
      MANSOUR Chadi authored
      # Conflicts:
      #	.gradle/8.10.2/executionHistory/executionHistory.bin
      #	.gradle/8.10.2/executionHistory/executionHistory.lock
      #	.gradle/8.10.2/fileHashes/fileHashes.bin
      #	.gradle/8.10.2/fileHashes/fileHashes.lock
      #	.gradle/8.10.2/fileHashes/resourceHashesCache.bin
      #	.gradle/buildOutputCleanup/buildOutputCleanup.lock
      #	build/classes/java/main/model/FirefighterBoard.class
      #	build/classes/java/main/model/FirefighterManager.class
      #	build/tmp/compileJava/previous-compilation-data.bin
      #	src/main/java/model/FirefighterBoard.java
      #	src/main/java/model/FirefighterManager.java
      #	src/main/java/model/SimpleFirefighterMovementStrategy.java
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Rectangle.java 1.69 KiB
    import tp2.lib.Painter;
    
    
    import java.awt.*;
    import java.util.Random;
    import static tp2.lib.Tools.sleep;
    
    /**
     * Created by Arnaud Labourel on 17/10/2018.
     */
    
    public class Rectangle implements Shape{
    
        Point p1, p2;
    
        public Rectangle(Point p1, Point p2){
            // Add code here
        	this.p1 = p1;
            this.p2 = p2;
    
        }
    
        private double height(){
            return Math.abs(p2.y-p1.y);
        }
    
        private double width(){
            return Math.abs(p2.x-p1.x);
        }
    
    
    
    
        public static void test_rectangle(Painter painter){
            Point p1 = new Point(100,100);
            Point p2 = new Point(200,100);
            Point p3 = new Point(200,300);
    	Random random= new Random();
            
    	Shape r = new Rectangle(p1, p3);
            r.draw(painter, Color.black);
    
            for(int i =30; i<400; i+=30) {
                Shape t2 = r.translate(i, i);
                sleep(100);
                t2.draw(painter, new Color(random.nextFloat(),
                        random.nextFloat(), random.nextFloat()));
            }
        }
    
    
        @Override
        public double getPerimeter() {
            return height()*2 + width()*2;
        }
    
        @Override
        public void draw(Painter painter, Color color) {
            Point upRight = p1.translate(width(),0);
            Point downLeft = p1.translate(0,height());
            p1.drawLine(upRight,painter,color);
            p1.drawLine(downLeft,painter,color);
            p2.drawLine(upRight,painter,color);
            p2.drawLine(downLeft,painter,color);
        }
    
        @Override
        public Shape translate(int dx, int dy) {
            return new Rectangle(
                    p1.translate(dx,dy),
                    p2.translate(dx,dy)
            );
        }
    
        @Override
        public double getArea() {
            return height()*width();
        }
    
    
    
    }