diff --git a/src/SolarSystemAnimation.java b/src/SolarSystemAnimation.java
new file mode 100644
index 0000000..290be9b
--- /dev/null
+++ b/src/SolarSystemAnimation.java
@@ -0,0 +1,168 @@
+//package Graphics.SolarSystem;
+
+import java.awt.*;
+import java.util.ArrayList;
+import javax.swing.*;
+
+public class SolarSystemAnimation extends JFrame {
+    private SolarPanel panel;
+
+    public SolarSystemAnimation() {
+        super("Sistema Solar ASCII");
+        setSize(800, 800);
+        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+        panel = new SolarPanel();
+        add(panel);
+        setVisible(true);
+
+        // Hacer que la ventana se ajuste al tamaño de la pantalla
+        setResizable(true); // Esto permite que la ventana se redimensione
+
+        while (true) {
+            panel.updatePositions();
+            panel.repaint();
+            try {
+                Thread.sleep(50);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    public static void main(String[] args) {
+        new SolarSystemAnimation();
+    }
+}
+
+class SolarPanel extends JPanel {
+    private ArrayList<Planet> planets;
+    private int centerX;
+    private int centerY;
+    private final String sunASCII = "*";
+
+    public SolarPanel() {
+        planets = new ArrayList<>();
+        planets.add(new Planet("Mercurio", 50, 2, "(o)", Color.GRAY));
+        planets.add(new Planet("Venus", 80, 1.5, "(O)", Color.ORANGE));
+        planets.add(new Planet("Tierra", 120, 1, "[O]", Color.green));
+        planets.add(new Planet("Marte", 160, 0.8, "(M)", Color.RED));
+
+        String Jupiter = 
+            "     .-'-.\n" +
+            "    /%$$%%$%%\\\n" +
+            "   |##$$%%%$#$|\n" +
+            "   \\$%$$%$%%/\n" +
+            "    '-.-'";
+
+        planets.add(new Planet("Jupiter", 220, 0.5, Jupiter, Color.ORANGE));
+        String saturnoASCII = 
+        "                           .::.\n" +
+        "                        .:'  .:\n" +
+        "             ,MMM8&&&.:'   .:'\n" +
+        "            MMMMM88&&&&  .:'\n" +
+        "           MMMMM88&&&&&&:'\n" +
+        "           MMMMM88&&&&&&\n" +
+        "         .:MMMMM88&&&&&&\n" +
+        "       .:'  MMMMM88&&&&\n" +
+        "      .:'   .:'MMM8&&&'\n" +
+        ":'. .:' \n" + //
+        "'::'";
+        planets.add(new Planet("Saturno", 280, 0.3, saturnoASCII, Color.YELLOW));
+
+        String uranoASCII = 
+            "     .-'-.\n" +
+            "    /        \\\n" +
+            "   |    ◉    |\n" +
+            "    \\       /\n" +
+            "     '-.-'";
+
+        planets.add(new Planet("Urano", 340, 0.2, uranoASCII, Color.CYAN));
+
+        String neptunoASCII =
+        "   OOOOO   \n" +
+        "  OOOOOOO  \n" +
+        "  OOOOOOO  \n" +
+        "   OOOOO   ";
+
+        planets.add(new Planet("Neptuno", 400, 0.1,neptunoASCII, Color.magenta));
+    }
+
+    public void updatePositions() {
+        for (Planet planet : planets) {
+            planet.updatePosition();
+        }
+    }
+
+    @Override
+    public void paintComponent(Graphics g) {
+        super.paintComponent(g);
+        int width = getWidth();
+        int height = getHeight();
+
+        // mantener el Sol y los planetas centrados
+        centerX = width / 2;
+        centerY = height / 2;
+
+        g.setColor(Color.BLACK);
+        g.fillRect(0, 0, width, height);
+
+        g.setColor(Color.YELLOW);
+
+        String[] sunLines = sunASCII.split("\n");
+        g.setFont(new Font("Courier New", Font.PLAIN, 11));
+
+        for (int i = 0; i < sunLines.length; i++) {
+            g.drawString(sunLines[i], centerX - sunLines[i].length() * 3, centerY + i * 20);
+        }
+
+        g.setColor(Color.WHITE);
+        for (Planet planet : planets) {
+            int x = centerX + (int) (planet.getOrbitRadius() * Math.cos(planet.getAngle()));
+            int y = centerY + (int) (planet.getOrbitRadius() * Math.sin(planet.getAngle()));
+
+            g.setColor(planet.getColor()); 
+            String[] planetLines = planet.getAscii().split("\n");
+            for (int i = 0; i < planetLines.length; i++) {
+                g.drawString(planetLines[i], x - planetLines[i].length() * 3, y + i * 20);
+            }
+        }
+    }
+}
+
+class Planet {
+    private String name;
+    private int orbitRadius;
+    private double angularVelocity;
+    private double angle;
+    private String ascii;
+    private Color color;
+
+    public Planet(String name, int orbitRadius, double angularVelocity, String ascii, Color color) {
+        this.name = name;
+        this.orbitRadius = orbitRadius;
+        this.angularVelocity = angularVelocity;
+        this.angle = 0;
+        this.ascii = ascii;
+        this.color = color;
+    }
+
+    public void updatePosition() {
+        angle += angularVelocity * Math.PI / 180;
+    }
+
+    public int getOrbitRadius() {
+        return orbitRadius;
+    }
+
+    public double getAngle() {
+        return angle;
+    }
+
+    public String getAscii() {
+        return ascii;
+    }
+
+    public Color getColor() {
+        return color; 
+    }
+}
\ No newline at end of file