From c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:08:27 +0200 Subject: add: graphs et rushs --- graphs/java/drawing/.gitignore | 38 ++++++ graphs/java/drawing/pom.xml | 139 +++++++++++++++++++++ .../java/fr/epita/assistants/drawing/Circle.java | 27 ++++ .../java/fr/epita/assistants/drawing/Entity.java | 20 +++ .../fr/epita/assistants/drawing/IDrawable.java | 5 + .../fr/epita/assistants/drawing/Rectangle.java | 31 +++++ .../java/fr/epita/assistants/drawing/Sharp.java | 9 ++ .../java/fr/epita/assistants/drawing/Square.java | 7 ++ .../java/fr/epita/assistants/drawing/Triangle.java | 33 +++++ 9 files changed, 309 insertions(+) create mode 100644 graphs/java/drawing/.gitignore create mode 100644 graphs/java/drawing/pom.xml create mode 100644 graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Circle.java create mode 100644 graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Entity.java create mode 100644 graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/IDrawable.java create mode 100644 graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Rectangle.java create mode 100644 graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Sharp.java create mode 100644 graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Square.java create mode 100644 graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Triangle.java (limited to 'graphs/java/drawing') diff --git a/graphs/java/drawing/.gitignore b/graphs/java/drawing/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/graphs/java/drawing/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/graphs/java/drawing/pom.xml b/graphs/java/drawing/pom.xml new file mode 100644 index 0000000..24df903 --- /dev/null +++ b/graphs/java/drawing/pom.xml @@ -0,0 +1,139 @@ + + + 4.0.0 + fr.epita.assistants + drawing + 1.0 + + + 21 + 5.9.1 + 3.13.0 + 2.22.2 + 3.1.1 + 3.1.0 + + UTF-8 + + ${project.build.directory}/surefire-reports + + + + + org.projectlombok + lombok + 1.18.30 + provided + + + org.junit.jupiter + junit-jupiter + ${versions.junit} + + + org.apache.maven.surefire + surefire-junit-platform + ${versions.maven-surefire-plugin} + + + org.apache.maven + maven-compat + 3.9.8 + + + org.apache.maven + maven-plugin-api + 3.9.8 + + + org.apache.maven + maven-project + 2.2.1 + + + org.apache.maven + maven-core + 3.8.1 + + + org.apache.maven + maven-monitor + 2.2.1 + + + org.codehaus.plexus + plexus-utils + 3.0.24 + + + org.apache.maven.shared + maven-filtering + 3.3.2 + + + org.codehaus.plexus + plexus-interpolation + 1.13 + + + org.apache.maven + maven-profile + 2.2.1 + + + org.apache.maven + maven-artifact-manager + 2.2.1 + + + org.apache.maven + maven-plugin-registry + 2.2.1 + + + org.apache.maven + maven-repository-metadata + 2.2.1 + + + classworlds + classworlds + 1.1 + + + org.junit.platform + junit-platform-commons + 1.9.3 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${versions.maven-compiler-plugin} + + ${versions.java} + ${versions.java} + + + + org.apache.maven.plugins + maven-install-plugin + ${versions.maven-install-plugin} + + + + org.apache.maven.plugins + maven-surefire-plugin + ${versions.maven-surefire-plugin} + + ${surefire.reportsDirectory} + + + + + diff --git a/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Circle.java b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Circle.java new file mode 100644 index 0000000..306d870 --- /dev/null +++ b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Circle.java @@ -0,0 +1,27 @@ +package fr.epita.assistants.drawing; + +public class Circle extends Entity { + private int radius; + + public Circle(int radius) { + super(); + this.radius = radius; + } + + @Override + public void draw() { + for (int y = -radius; y < radius + 1; y++) { + for (int x = -radius; x < radius + 1; x++) { + if (Math.abs((radius * radius) - ((x * x) + (y * y))) < radius) { + System.out.print('#'); + } + else + System.out.print(' '); + if (x < radius) + System.out.print(' '); + } + if (y < radius) + System.out.print("\n"); + } + } +} diff --git a/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Entity.java b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Entity.java new file mode 100644 index 0000000..a91aa0f --- /dev/null +++ b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Entity.java @@ -0,0 +1,20 @@ +package fr.epita.assistants.drawing; + +import lombok.Getter; + +public abstract class Entity implements IDrawable { + @Getter + private long id; + private static long SEQUENCE = 0; + + public Entity() { + this.id = SEQUENCE; + SEQUENCE++; + } + + @Override + public void draw() { + System.out.println("This shouldn't happen"); + } + +} diff --git a/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/IDrawable.java b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/IDrawable.java new file mode 100644 index 0000000..2af2df1 --- /dev/null +++ b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/IDrawable.java @@ -0,0 +1,5 @@ +package fr.epita.assistants.drawing; + +public interface IDrawable { + public void draw(); +} diff --git a/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Rectangle.java b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Rectangle.java new file mode 100644 index 0000000..944a75b --- /dev/null +++ b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Rectangle.java @@ -0,0 +1,31 @@ +package fr.epita.assistants.drawing; + +public class Rectangle extends Sharp { + private int width; + + public Rectangle(int width, int length) { + super(length); + this.width = width; + } + + @Override + public void draw() { + for (int i = 0; i < width; i++) { + System.out.print("# "); + } + System.out.print("\n"); + for (int i = 0; i < length - 2; i++) { + System.out.print("# "); + for (int j = 0; j < width - 2; j++) { + System.out.print(" "); + } + System.out.println("# "); + } + if (length < 2) + return; + for (int i = 0; i < width; i++) { + System.out.print("# "); + } + System.out.print("\n"); + } +} diff --git a/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Sharp.java b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Sharp.java new file mode 100644 index 0000000..604f255 --- /dev/null +++ b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Sharp.java @@ -0,0 +1,9 @@ +package fr.epita.assistants.drawing; + +public abstract class Sharp extends Entity { + protected int length; + public Sharp(int length) { + super(); + this.length = length; + } +} diff --git a/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Square.java b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Square.java new file mode 100644 index 0000000..d807bcc --- /dev/null +++ b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Square.java @@ -0,0 +1,7 @@ +package fr.epita.assistants.drawing; + +public class Square extends Rectangle { + public Square(int length) { + super(length, length); + } +} diff --git a/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Triangle.java b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Triangle.java new file mode 100644 index 0000000..a43248c --- /dev/null +++ b/graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Triangle.java @@ -0,0 +1,33 @@ +package fr.epita.assistants.drawing; + +public class Triangle extends Sharp { + public Triangle(int length) { + super(length); + } + + @Override + public void draw() { + if (length == 0) + return; + if (length == 2) + { + System.out.println("#\n# #"); + return; + } + System.out.println('#'); + for (int y = 2; y < length; y++) { + System.out.print("# "); + for (int x = 0; x < y - 2; x++) { + System.out.print(" "); + } + System.out.println("#"); + } + if (length > 2) + { + for (int i = 0; i < length; i++) { + System.out.print("# "); + } + } + System.out.print("\n"); + } +} -- cgit v1.2.3