Práctica de PSEINT
CÓDIGO
Proceso cochecin
Definir i,j,m como entero;
Definir barco Como Caracter;
Dimension coche [4];
coche[0]<-" ..... ";
coche[1]<-"........._______";
coche[2]<-"..___/___|___\___";
coche[3]<-".(_---________ _ ---_)";
coche[4]<-"...(o)...................(o)";
// Parte de cuenta regresiva y vehículo en posición inicial
Para i<-3 Hasta 0 con Paso -1 Hacer
Borrar Pantalla;
Para j<-0 Hasta 3 Con paso 1 Hacer
Escribir barco[j];
FinPara
Escribir "salida en",i," segundos";
esperar 1 Segundos;
FinPara
// Movimiento del vehículo con desplazamiento de izquierda a derecha
Para i<-0 Hasta 40 Con Paso 1 Hacer
Borrar Pantalla;
Para j<-0 Hasta 3 Con Paso 1 Hacer
Para m<-0 hasta i con paso 1 Hacer
Escribir Sin Saltar " ";
FinPara
escribir barco[j];
FinPara
esperar 50 Milisegundos;
FinPara
Para i<-40 Hasta 0 Con Paso -1 Hacer
Borrar Pantalla;
Para j<-0 Hasta 3 Con Paso 1 Hacer
Para m<-0 hasta i con paso 1 Hacer
Escribir Sin Saltar " ";
FinPara
escribir barco[j];
FinPara
esperar 50 Milisegundos;
FinPara
FinProceso
EXPLICACIÓN DEL CÓDIGO:
En este programa estoy creando una animación en PSeInt donde un vehículo dibujado por mi mismo aparece primero quieto mientras se hace una cuenta regresiva, y luego se mueve de izquierda a derecha por la pantalla.
Lo primero que hago es definir varias variables:
-
i, j y m como enteros, que utilizo como contadores en los bucles.
-
barco como carácter, aunque realmente debería ser un arreglo, ya que guardo diferentes líneas del dibujo.
-
Defino el arreglo coche[4], donde almacenaré las líneas que forman mi vehículo.
Cada posición del arreglo representa una línea del dibujo del coche, lo que permite imprimirlo línea por línea en la pantalla para formar el vehículo completo.
Luego comienza la parte de la cuenta regresiva antes de iniciar el movimiento. Uso un bucle Para que va desde 3 hasta 0, restando 1 cada vez. Dentro del bucle:
-
Limpio la pantalla con Borrar Pantalla.
-
Uso otro bucle Para para imprimir cada línea del vehículo escribiendo coche[j].
-
Escribo "salida en i segundos" para mostrar los segundos restantes.
-
Espero 1 segundo antes de seguir con el siguiente número.
Después de la cuenta atrás, empieza la animación del coche moviéndose. Para eso uso otro bucle que va desde 0 hasta 40, aumentando 1 cada vez. Este bucle controla el desplazamiento horizontal del coche.
Dentro de ese bucle:
-
Limpio la pantalla.
-
Recorro todas las líneas del coche con j.
-
Para desplazar el coche, hago otro bucle con m que imprime espacios en blanco desde 0 hasta i. Eso hace que el coche avance hacia la derecha porque cada vez tiene más espacios delante.
-
Después imprimo la línea correspondiente del coche.
-
Espero 50 milisegundos para que el movimiento se vea suave.
Cuando el coche llega al final, uso otro bucle pero ahora desde 40 hasta 0 con paso -1 para que el coche vuelva hacia la izquierda. La lógica es la misma, pero el número de espacios disminuye, haciendo que el coche retroceda.
Al final el programa termina después de mostrar el movimiento de ida y vuelta del vehículo.

Comentarios
Publicar un comentario