diff --git a/src/main/java/shape/Polygon.java b/src/main/java/shape/Polygon.java
new file mode 100644
index 0000000000000000000000000000000000000000..3db306aff4072e6734484fe3847d661bdff62da3
--- /dev/null
+++ b/src/main/java/shape/Polygon.java
@@ -0,0 +1,25 @@
+package shape;
+
+import javafx.geometry.Point2D;
+import javafx.scene.canvas.GraphicsContext;
+import javafx.scene.paint.Color;
+
+public class Polygon extends AbstractShape {
+    private Color color;
+
+    public Polygon(Color color, Point2D... points) {
+        this.color = color;
+        addPoints(points);
+    }
+
+    @Override
+    public void draw(GraphicsContext graphicsContext) {
+        graphicsContext.setStroke(color);
+        for (int i = 0; i < points.size(); i++) {
+            Point2D p1 = points.get(i);
+            Point2D p2 = points.get((i + 1) % points.size());
+            graphicsContext.strokeLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());
+        }
+    }
+}
+