summaryrefslogtreecommitdiff
path: root/graphs/java/drawing/src
diff options
context:
space:
mode:
Diffstat (limited to 'graphs/java/drawing/src')
-rw-r--r--graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Circle.java27
-rw-r--r--graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Entity.java20
-rw-r--r--graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/IDrawable.java5
-rw-r--r--graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Rectangle.java31
-rw-r--r--graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Sharp.java9
-rw-r--r--graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Square.java7
-rw-r--r--graphs/java/drawing/src/main/java/fr/epita/assistants/drawing/Triangle.java33
7 files changed, 132 insertions, 0 deletions
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");
+ }
+}