diff --git a/README.md b/README.md
index 45638ab..2f733d3 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,47 @@
-Simulación de una estación de servicio
+
Simulación de una estación de servicio
+ Proyecto Integrado. Servicios y procesos.
+
+*----------------------------EXPLICACIÓN PROGRAMA----------------------------*
+
+En este proyecto se pretende simular una estación de servicio. El funcionamiento de este programa consiste en que hay dos surtidores de gasolina, con una cantidad limitada de gasolina, y en donde los coches pueden ir entrando y repostando siempre y cuando haya suficiente gasolina en los surtidores, cuando no, el programa se detendrá.
+
+En este caso, se crean seis coches con una cantidad de depósito que se asigna de manera aleatoria, los depósitos tendrán cantidades entre 10 y 60 litros. Se enviarán a los hilos de los surtidores de manera aleatoria. Y la cantidad inicial de los coches es de 0 litros.
+
+Antes de comenzar el programa, debemos importar las clases threading, random, time y por último turtle, que es la que nos permitirá pintar los coches en un lienzo.
+
+Comenzamos el programa creando la clase EstacióndeServicio, que tiene dos variables de tipo surtidor, cuyas cantidades se asignan en este momento y además instancia un objeto de la clase lock, que utilizaremos en al repostar gasolina para bloquear ese proceso y evitar que otro vehículo entre a repostar.
+
+Esta clase tiene además la función de repostar_gasolina, que recibe el surtidor, el coche y la cantidad que repostará el coche. El funcionamiento es el siguiente:
+1. Se activa el Lock.
+2. Se comprueba si la gasolina actual del coche es superior a la gasolina que puede albergar el depósito del coche en cuestión y además si es mayor a 0.
+3. Se calcula la cantidad real a repostar. Se calcula el mínimo entre la cantidad deseada y la cantidad necesaria para llenar el depósito del coche sin exceder su capacidad máxima.
+4. Si la cantidad a repostar es mayor a la cantidad que le queda al surtidor, se puede hacer la acción, se le resta al surtidor la cantidad extraída, devuelve True. Si no se cumple esta contición, devuelve un False.
+
+Después se crea la clase Coche, en ella sólo declaramos las variables que tendrá cada coche al ser creado.
+
+Seguidamente tenemos los métodos de dibujar_coche y dibujar_surtidor. Ambas clases reciben y la variable self, que albergará el objeto que se pinta en ese momento y además las variables x e y, que nos ayudará a pintar los objetos del coche y los propios coches en un lugar determinado del lienzo.
+
+Ahora nos encontramos con la función conductor, que simula la acción de un conductor llevando un coche a repostar a una gasolinera. Este método utiliza los argumentos estación y coche. Además, utiliza un bucle "while" mientras que el método al que se llama "repostar_gasolina" siga devolviendo True, como hemos explicado antes. Al llama a este método, se asigna la cantidad que se quiere repostar, que será un número random entre el 1 y el 20. Después hacemos uso de la clase sleep, que espera un segundo antes de acabar, simulando el repostaje de un vehículo en una gasolinera.
+
+En esta parte restante del código, se crea la instancia de la estación y también se crean los coches con sus características propias, como son la cantidad de sus depósito y el color de su carrocería. Después se almacenan en una array de coches.
+
+Se crean los hilos utilizando la biblioteca threading. Cada hilo ejecuta la función conductor, con los argumentos de estación y de vehículo específico, simulando la acción de un conductor al ir a repostar con su coche a una gasolinera.
+
+Tenemos un print que nos muestra el estado de los depósitos de los coches de manera inicial.
+
+Se inician los hilos utilizando la función start() de threading.
+
+Se inicializan las variables x e y, para posicionar los coches en el lienzo cuando vayamos a pintarlos, y se recorre la lista de los coches llamando el método corresponiente para pintar cada uno de los vehículos en una posición concreta en el lienzo.
+
+Se espera a que los hilos acaben utilizando la funcion join() de threading.
+
+Hacemos lo mismo que hemos hecho con los coches, pero para poder pintar los surtidores. El dibujo habrá finalizado en este momento.
+
+Finalmente, se imprime por pantalla los datos que aún no se habían mostrado, que son la cantidad de los depósitos de cada uno de los vehículos después de repostar y al final del programa, y además el estado de los surtidores, para comprobar que efectivamente están vacíos, que es lo que hace el programa se detenga.
+
+Para acabar el código, se esconde la pluma (tortuga) que pinta y se finaliza.
+
+*-----------------------------CODIGO------------------------------------*
@@ -163,6 +206,7 @@ turtle.done()
+*-------------------------------CAPTURAS DE EJECUCIÓN-----------------------------------*
![](image/captura1_enproceso.png)