Gráficos en un mundo de texto. (12 / 17 paso)

Paso 12: Par de secuencias de comandos de año nuevo.

Reloj de cuenta regresiva:

Se debe ejecutar en una máquina linux con figlet instalado.

actualización de $ sudo apt-get
$ sudo apt-get install figlet

Código:

$ mientras que [[$(fecha + Y %) - ne 2012]]; hacer figlet $(($(date-d 2012-01-01 +%s)-$(date +%s))); sleep 1; claro; hacer; figlet ' feliz año nuevo!'

-----------------------------------------------------------------

Fuegos artificiales:

Fireworks.sh
[código]
#! / bin/bash

filas = $(tput líneas)
cols = $(tput cols)
colores = (rojo verde azul púrpura cian amarillo marrón)
lock_file =
lock_file_base = / tmp/$(basename $0.sh)

múltiples = 0
Si [["$1"]]; entonces
nsingle = $1
cambio
otra cosa
nsingle = 10
fi
Si [["$1"]]; entonces
nmultiple = $1
cambio
Si [[$nmultiple - gt 8]]; entonces nmultiple = 8; fi
otra cosa
nmultiple = 6
fi

función colorstr()
{
local fila = $1
local col = $2
color local = $3
local v
caso "$color" en
v rojo) = 31;
v verde) = 34;
v azul) = 32;
púrpura) v = 35;
Cyan) v = 36;
v amarillo) = 33;
v marrón) = 33;
blanco) v = 37;
*)       v=;;
ESAC
cambio 3

Si [[$multiple - ne 0]]; entonces
toque $lock_file
mientras que [[$(ls $lock_file_base. * 2 >/dev/null | cabeza - n 1)! = $lock_file]]
hacer
sueño 0.05
hecho
fi

tput Copa $row $col
echo - n -e "\e["$v"m"
-c
echo - n $*
Set + f
Si [[$multiple - ne 0]]; entonces
RM -f $lock_file
fi
}

función center_colorstr()
{
local fila = $1
color local = $2
turno 2
s local = "$*"
slen local = ${#s}
$ colorstr $row (((cols / 2)-(slen / 2))) $color "$s"
}

función fireworks()
{
local fila = $((filas - 1))
local col = $(((RANDOM % (cols/2)) + (cols / 4)))
altura del local = $((RANDOM % rows-2))
inclinación local
local h
local color1 = ${colores [$((RANDOM % $#colors[*]})) {]}
color2 local = ${colores [$((RANDOM % $#colors[*]})) {]}
color3 local = ${colores [$((RANDOM % $#colors[*]})) {]}
mientras que [[$color1 == $color2 ||  $color1 == $color3 ||  $color2 == $color3]]
hacer
color2 = ${colores [$((RANDOM % $#colors[*]})) {]}
color3 = ${colores [$((RANDOM % $#colors[*]})) {]}
hecho

caso $((RANDOM % 4)) en
Inclinación 0) =-2;
1) inclinación =-1;
2) inclinación = 1;
3) inclinación = 2;
ESAC

Si [[$height - gt 5]]; entonces
h = $height

mientras [[$h - gt 0]]
hacer
colorstr $row $col $color1 '.'
que fila--
Si [[$((col + inclinación)) -ge $((cols - 3)) ||  $((col + inclinación))-le 2]]; luego de la rotura; fi
dejar col += inclinado
que h--
sueño 0.1
hecho

Si [[$((col + inclinación)) - lt $((cols - 3)) & & $((col + inclinación)) - gt 2]]; entonces

h = $((height / 5))

mientras [[$h - gt 0]]
hacer
colorstr $row $col $color2 '.'
que fila ++
Si [[$((col + inclinación)) -ge $((cols - 3)) ||  $((col + inclinación))-le 2]]; luego de la rotura; fi
dejar col += inclinado
que h--
sueño 0.1
hecho
fi

colorstr $((row)) $((col - 1)) $color3 ' ***'
$ colorstr ((fila - 1)) $((col)) $color3 ' *'
colorstr $((row + 1)) $((col)) $color3 ' *'
fi
}

para que en $(seq 1 $nsingle)
hacer
claro
fuegos artificiales
sueño 1
hecho

claro

PID =
para que en $(seq 1 $nmultiple)
hacer
permiten múltiples ++
lock_file = $lock_file_base. $i
fuegos artificiales &
PID = "$pids $!"
hecho

trampa "kill-9 $pids 2 >/dev/null" salida

esperar $pids
sueño 3

claro
center_colorstr $((rows / 2-1)) roja "Espero que disfrutaron el espectáculo!"
center_colorstr $((rows / 2 + 1)) rojo "Feliz nuevo año!!!!"
center_colorstr $((rows / 2 + 3)) rojo "Computothought"
Eco

sueño 5
claro

vim #: tabstop = 4: especificado tabulación = 4: noexpandtab:
# kate: ficha-ancho 4; guión-ancho 4; falso pestañas reemplazar;

[/ code]

Crear el archivo por lotes de shell:
$ vim fireworks.sh

Hacerlo ejecutable:
$ chmod + x fireworks.sh

Ejecutar:
$./fireworks.sh

Artículos Relacionados

Gráfica de radar en un mundo de texto.

Gráfica de radar en un mundo de texto.

Esto es una continuación del texto en un mundo de gráficos (instructivo). El tiempo es importante. Una cosa buena acerca de este instructable es que usted puede tomar imágenes gráficas y convertirlos en texto. Ahorra mucho espacio en disco (dependien
Mad científico generador de agujero de gusano

Mad científico generador de agujero de gusano

Ahh... Laboratorio del científico loco; lleno de fantásticos gadgets, ratas mutadas y un surtido de strang y armas temibles. Por lo que (suponiendo que eres un científico loco) sentado en su laboratorio preguntando qué hacer cuando te das cuenta de q
Cómo hacer una pregunta en Instructables.

Cómo hacer una pregunta en Instructables.

En cooperación con varias de las respuestas regulares de preguntas he puesto juntos este corto "Cómo obtener la mejor respuesta a mi pregunta" instructable.Paso 1: búsqueda de instructables Usar el buscador en la parte superior derecha de la pág
Deporte Watch Arduino

Deporte Watch Arduino

Pido disculpas si encuentra errores de ortografía o de texto sin sentido, mi idioma es el español y no ha sido fácil de traducir, mejoro mi inglés para continuar componiendo instructables.En tecnología actual, especialmente electrónica ha recorrido u
Fondo de pantalla fácil imprimir arte

Fondo de pantalla fácil imprimir arte

El año pasado compramos nuestra primera casa. Hasta hace poco, nuestra habitación era bastante monótono. He querido especias hasta esa habitación, pero con un presupuesto ajustado. Siempre he tenido esa obsesión con papel pintado y quería ver si podí
Creación de placas de circuito impreso con una impresora de inyección de tinta

Creación de placas de circuito impreso con una impresora de inyección de tinta

cuando empecé mirando cómo grabar mis propias placas de circuito impreso, cada Instructable tutorial encontré utiliza una impresora láser y planchada en el patrón en algún tipo de moda. No tengo una impresora laser pero tengo una impresora barata de
Sampler de mar: Plancton remolque para OpenROV

Sampler de mar: Plancton remolque para OpenROV

Buceo. Muestra. Compartir.Sabemos más sobre el espacio ultraterrestre que hacemos sobre los océanos en nuestro propio planeta poco--y financiación para la investigación del océano está disminuyendo. Nuestro remolque de plancton es una herramienta de
IBLIT - redactor Instructable para uso sin conexión

IBLIT - redactor Instructable para uso sin conexión

Viejo refrán, "Dar a un niño un martillo y todo parece un clavo".Nuevo diciendo: "Dadme Instructables.com y todo parece un Ible".Me gusta escribir Instructables ("Ibles"). Después de que escribí mi octavo uno usando el editor
Cómo instalar y personalizar un sitio web de CMS Drupal / / http://www.collectiveresolve.org

Cómo instalar y personalizar un sitio web de CMS Drupal / / http://www.collectiveresolve.org

Resumen / / un estudio general o ResumenOpensource Drupal Content Management SystemVer algunos sitios web que utiliza Drupal CMS.Probar una demo instalación del CMS Drupal con acceso de administrador.CollectiveResolve utiliza Drupal Content Managemen
TÉCNICAS de aprendizaje más rápidas

TÉCNICAS de aprendizaje más rápidas

La velocidad de aprendizaje dependerá de la manera de que formular el material. El mismo material puede ser aprendido muchas veces más rápido si bien formulada! La diferencia de velocidad puede ser impresionante!...Las reglas aparecen en el orden de
Juego de clavija NachoMahma

Juego de clavija NachoMahma

si han viajado en la carretera interestatal, puede ha ejecutado a través de una cadena de restaurantes que tiene ese tema de tienda de campo.  Una tal franquicia es Cracker Barrel1, trayendo bondad del país nos citadinos que necesitan un descanso.  L
Con retroiluminación caja arte

Con retroiluminación caja arte

Este instsructable detalla el proceso de construcción de una caja con un diseño de corte en la parte delantera que está retroiluminado por LEDs intermitentes. Tenía la idea de genio de comenzar a documentar los pasos después de comenzara el proyecto,
Hacer una camisa de Amani Warbear

Hacer una camisa de Amani Warbear

con alguna serigrafía básica, barata, creado una camiseta con un Amani Warbear de World of Warcraft en la parte inferior derecha de la parte delantera de él.Esto es sobre todo para documentar mis ideas, y le debo toda mi inspiración a Bangers del hil
Aplicación de Polargraph

Aplicación de Polargraph

Me encanta esta máquina realizado y compartido por Sandy Noble, sólo estoy compartiendo algunos consejos de aprendizaje personal para construir una polargraph, espero que te sirva a alguien.Paso 1: HardwareEstoy utilizando Arduino Uno con doble escud