Red de conocimiento informático - Consumibles informáticos - El salvapantallas Matrix Digital Rain

El salvapantallas Matrix Digital Rain

Preparación: una ventana (_start window), un tablero de dibujo (tablero de dibujo 1), un reloj (reloj 1)

_La visibilidad de la ventana de inicio y del tablero de dibujo 1 es falsa , El período de tiempo del reloj 1 es 0 y la ventana _start siempre primero es verdadera.

Vaya al ensamblado de ventana correspondiente a _Start Window y copie el siguiente código.

.Versión?2

.¿Biblioteca de soporte?OPenGL

.Biblioteca de soporte?EThread

.Biblioteca de soporte?spec

.Biblioteca de soporte ?iext

.Biblioteca de soporte?eAPI.Assembly?Ensamblaje de ventana 1,?,?,?Matriz de alta imitación

.Variable de ensamblaje?t,?Tipo entero

. ¿Variable de ensamblaje? x,? Tipo de entero

. ¿Variable de ensamblaje? alto,?Tipo de entero,?,?,?Alto de pantalla

. ¿Variable de ensamblaje?Ancho de pantalla,?Tipo de entero,?,?,? ¿Ancho de pantalla?__Ventana de inicio_Alto de pantalla creada?=?Obtener pantalla. height?()

¿Ancho de pantalla?=?¿Obtener ancho de pantalla?()

Mesa de trabajo 1. ¿Color de fondo de la mesa de trabajo?=?#negro

_Iniciar ventana. ¿Mover?(0,?0,?Ancho de pantalla,?Alto de pantalla)

Mesa de trabajo 1. ¿Mover?( 0,?0,?Ancho de pantalla,?Alto de pantalla)

t ?=?0

z?=?Alto de pantalla?÷?20

Mostrar cursor?(falso)

_Ventana de inicio.Visible?=?True

Mesa de trabajo 1. ¿Visible?=?True

_Ventana de inicio. ¿Ajustar nivel?(1)

¿Definición?()

Mesa de trabajo 1. ¿Obtener foco?()

Reloj 1. ¿Período de reloj?=?400'?Por intervalo de generación de columna (ms)

¿Iniciar hilo (y salida de lluvia digital?, ?)

¿Retraso? (400)

¿Iniciar hilo?( amp; salida de lluvia digital,?,?)

¿Retraso (300)

¿Iniciar hilo? (y salida de lluvia digital,?,?)

¿Retraso?(200)

¿Iniciar hilo?(y salida de lluvia digital,?,? )

¿Retraso?(200)

¿Iniciar hilo?(amp;Salida de lluvia digital,?,?)

Retraso?(200)

¿Iniciar hilo?(amp;Salida de lluvia digital,?,?)

Retraso?(200)

Reloj 2. ¿Periodo del reloj?=?1000

_Reloj 2_Evento de período?()

.Subrutina?_Sketchpad 1 _Se mueve la posición del mouse,?Tipo lógico

.Parámetro?Posición horizontal,?Tipo entero

.¿Parámetro?Posición vertical,?Tipo de entero

.Parámetro ?Estado de la tecla de función,?tipo de entero. ¿Si es verdadero?(¿tomar valor absoluto?(¿posición horizontal?-?x)?>?50? o?tomar valor absoluto?(posición vertical?-?y)?>?50)

Definición?()

t?=?t?+?1

.¿Si es cierto?(t?>?3)'?Solo puede suceder de tres maneras

¿Fin?()

.Fin si es verdadero.Fin si es verdadero

.¿Subrutina?_Tablero de dibujo 1_Presionar una determinada tecla,?Tipo lógico

p>

.¿Parámetro?Código de clave,?Tipo entero

.¿Parámetro? Estado de la tecla de función,?Tipo entero fin?()

.¿Subrutina?Definición x?= ?Obtener la posición horizontal del mouse?()

y?=?Obtener la vertical posición del mouse?()

Subrutina?Salida digital de lluvia,?,?,?Salida digital de lluvia

.Variable local?E,?Tipo entero,?,?,. ?Posición vertical

.Variable local?F,?Tipo entero,?,?,?Posición horizontal, punto inicial

.Variable local?G,?Tipo entero,?,? ,?Longitud de visualización, unidad=bit

.Variable local?H,?Tipo entero,?,?,?Disminución de velocidad

.Variable local?I,?tipo entero,? ,?,?número de movimientos

.Variable local?J,

?Tipo entero, ?, ?, ?Verde y blanco

Variable local ?CHR, ?Tipo de texto, ?,?"1000" establece la semilla del número aleatorio?()

. J ?=?Obtener un número aleatorio?(1,?5)

.¿Si?(J?=?1?o?J?=?3?o?J?=?5)

¿Establecer una semilla de número aleatorio?()

E?=?¿Obtener un número aleatorio?(0,?Ancho de pantalla)

¿Establecer una semilla de número aleatorio?( )

F?=?¿Obtener un número aleatorio?(0,?a un número entero?(altura de la pantalla?×?0.75))

¿Establecer una semilla de número aleatorio?()

G? =?¿Obtener un número aleatorio?(z?×?0.2,?z?×?0.65)

¿Establecer una semilla de número aleatorio?()

H?=?Obtener un número aleatorio?( 10,?600)

.¿Juzgar el comienzo del bucle?(verdadero)

'?Artboard 1.Font.Font name ?=?"Helvetica"

' ?Artboard 1.Font.Font size?=?16

CHR?[I?+?1]?=?Obtener carácter?()

Mesa de trabajo 1. ¿Color del texto?= ?#Verde

Tablero de dibujo 1. Coloque y escriba ?(E,?F?+?I?×?20,?CHR?[ I?+?1])

Si es verdadero?(I?≠?0)

Mesa de trabajo 1. ¿Color del texto?=?#Verde oscuro

. Mesa de trabajo 1. ¿Posicionar y escribir?(E,?F?+?( I?-?1)?×?20,?CHR?[I])

.Si es cierto, finalice

.¿Si es verdadero?(I?>?G?+?1 )

Mesa de trabajo 1. ¿Color del texto?=?¿Obtener valor de color?(0,?40,?0)

Mesa de trabajo 1. ¿Posicionar y escribir?(E,?F?+ ?(I?-?G?-?1)?×?20,?CHR?[I?-?G])

Mesa de trabajo 1. ¿Color del texto?=?#negro

Tablero de dibujo 1. Posicione y escriba ?(E,?F?+?(I?-?G?-?2)?×?20 ,?CHR?[I?-?G?-?1])

.Si es cierto, finaliza

I?=?I?+?1

.Si es cierto?(F?+?I?×?20?>?Altura de la pantalla)

¿Salir del bucle? ()

. p>

¿Retraso? (H)'? Evite el uso excesivo de la CPU

. ¿Si es cierto?(I?>?1000)

¿Fin?()

.Si es verdadero, final. ¿Juzgar el final del ciclo?()

.¿Juzgar el ciclo primero?(Verdadero)

.Si es verdadero?(I?>?G ?+?1)

Mesa de trabajo 1. ¿Color del texto?=?¿Obtener el valor del color?(0,? 40,?0)

Tablero de dibujo 1. ¿Colocar y escribir?( E,?F?+?(I?-?G?-?1)?×?20,?CHR?[I?- ?G])

Mesa de trabajo 1. ¿Color del texto?=?# negro

Mesa de trabajo 1. Posicione y escriba ?(E,?F?+?(I?-?G? -?2)?×?20,?CHR?[I?-?G?- ?1])

.Si realmente se acabó

¿I?=?I?+? 1

.¿Si es cierto?(F?+?I ?×?20?-?(G?+?2)?×?20?>?altura de la pantalla)

¿Saltar bucle?()

.Finalizar si es verdadero

¿Retraso?(H)'?Evitar sobrecarga de CPU

.¿Si es cierto?(I?>?1000 )

¿Fin? ()

. Si es verdadero, ¿determina el final del ciclo? ()

De lo contrario, ¿establece una semilla de número aleatorio? ()

E?=?¿Obtener un número aleatorio? (0,?ancho de pantalla)

¿Establecer una semilla de número aleatorio?()

F?=?¿Obtener un número aleatorio?(0, ?¿A un número entero?(alto de pantalla? ×?0,75))

<

p>¿Establecer una semilla de número aleatorio?()

G?=?¿Obtener un número aleatorio?(z?×?0.2,?z?×?0.65)

Establecer una semilla aleatoria ¿Semilla de número ()

H?=?¿Obtener un número aleatorio?(10,?600)

.¿Juzgar el comienzo del ciclo?(verdadero)

'?Panel 1. Fuente.Nombre de fuente?=?"Heilong"

'?Mesa de trabajo 1.Fuente.Tamaño de fuente?=?16

CHR?[I?+ ?1]?=?Obtener carácter?()

Mesa de trabajo 1. Color del texto?=?#blanco

Mesa de trabajo 1. Posicionar y escribir ?(E, ?F?+? I?×?20,? CHR?[I?+?1])

.Si es cierto?(I?≠?0)

Mesa de trabajo 1. ¿Color del texto?=? #Gris claro

Tablero de dibujo 1. Coloque y escriba ?(E, ?F?+?(I?-?1)?×?20, ?CHR?[I])

. Si termina

p>

.¿Si es cierto?(I?>?G?+?1)

Mesa de trabajo 1. ¿Color del texto?=?#gris

Mesa de trabajo 1. Posicione y escriba ?(E,?F?+?(I?-?G?-?1)?×?20,?CHR?[I?-?G])

Mesa de trabajo 1. ¿Color del texto?= ?#黑

Tablero de dibujo 1. Posicione y escriba ?(E, ?F?+?(I?-?G?-?2)?×? 20, ?CHR?[I?-?G ?-?1])

.Si es cierto, finalice

I?=?I?+?1

.¿Si es cierto?(F?+?I ?×?20?>?Altura de la pantalla)

¿Saltar del bucle?()

.Si realmente termina

¿Retraso?(H)'?Evitar sobrecarga de CPU Alto

.¿Si es verdadero?(I?>?1000)

Fin?()

.Si es verdadero, final.¿Juzgar el final del bucle?()

.¿Juzgar el comienzo del bucle?(Verdadero)

.¿Si es verdadero?(¿Yo? >?G?+?1)

Mesa de trabajo 1. Color del texto?=? #Gris

Tablero de dibujo 1. Posicione y escriba ?(E,?F?+?(I) ?-?G?-?1)?×?20,?CHR?[I?-?G] )

Mesa de trabajo 1. ¿Color del texto?=?#negro

Mesa de trabajo 1. Posicionar y escribir?(E,?F?+?(I?-?G?-?2 )?×?20,?CHR?[I?-?G?-?1])

.Si realmente termina

I?=?I?+?1

p>

.¿Si es cierto?(F?+?I?×?20?-?( G?+?2)?×?20?>?Altura de la pantalla)

¿Saltar del bucle?( )

.Si es verdadero, termina

¿Retraso?(H)'?Evitar exceso de CPU

.Si es verdadero?(I?>?1000)

p>

Fin?()

Si. termina, ¿determina el final del bucle? (). ¿Si termina?

¿Subrutina? Tipo de texto

.Variable local?A,?Tipo de texto aleatorio. ¿Semilla de número?()

A?=?Carácter?(tomar número aleatorio?(27,?127))

Determine el comienzo del ciclo (A?=?". "?o?A?=?"?"??o?A?=?"")

¿Establecer la semilla de número aleatorio?()

A?=?Carácter?( ¿Tomar un número aleatorio?(27,?127))

. ¿Juzgar el final del ciclo?()

A?=?¿A ancho completo?(A)

¿Regresar?(A)

¿Subrutina?_Clock1_Period ¿Hilo de inicio del evento?(amp;Salida digital de lluvia,?,?).