Este código me pareció interesante de compartir, una modesta recreación del efecto matrix, escrita en C#.
using System;
namespace m7tr1x
{
class Program
{
static void Main(string[] args)
{
Console.Title = "tH3 M7tr1x 3ff3<t";
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.WindowLeft = Console.WindowTop = 0;
Console.WindowHeight = Console.BufferHeight = Console.LargestWindowHeight;
Console.WindowWidth = Console.BufferWidth = Console.LargestWindowWidth;
#if readkey
Console.WriteLine("H1T 7NY K3Y T0 C0NT1NU3 =/");
Console.ReadKey();
#endif
Console.CursorVisible = false;
int width, height;
int[] y;
int[] l;
Initialize(out width, out height, out y, out l);
int ms;
while (true)
{
DateTime t1 = DateTime.Now;
MatrixStep(width, height, y, l);
ms = 10 - (int)((TimeSpan)(DateTime.Now - t1)).TotalMilliseconds;
if (ms> 0)
System.Threading.Thread.Sleep(ms);
if (Console.KeyAvailable)
if (Console.ReadKey().Key == ConsoleKey.F5)
Initialize(out width, out height, out y, out l);
}
}
static bool thistime = false;
private static void MatrixStep(int width, int height, int[] y, int[] l)
{
int x;
thistime = !thistime;
for (x = 0; x <width; ++x)
{
if (x % 11 == 10)
{
if (!thistime)
continue;
Console.ForegroundColor = ConsoleColor.White;
}
else
{
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.SetCursorPosition(x, inBoxY(y[x] - 2 - (l[x] / 40 * 2), height));
Console.Write(R);
Console.ForegroundColor = ConsoleColor.Green;
}
Console.SetCursorPosition(x, y[x]);
Console.Write(R);
y[x] = inBoxY(y[x] + 1, height);
Console.SetCursorPosition(x, inBoxY(y[x] - l[x], height));
Console.Write(' ');
}
}
private static void Initialize(out int width, out int height, out int[] y, out int[] l)
{
int h1;
int h2 = (h1 = (height = Console.WindowHeight) / 2) / 2;
width = Console.WindowWidth - 1;
y = new int[width];
l = new int[width];
int x;
Console.Clear();
for (x = 0; x <width; ++x)
{
y[x] = r.Next(height);
l[x] = r.Next(h2 * ((x % 11 != 10) ? 2 : 1), h1 * ((x % 11 != 10) ? 2 : 1));
}
}
static Random r = new Random();
static char R
{
get
{
int t = r.Next(10);
if (t <= 2)
return (char)('0' + r.Next(10));
else if (t <= 4)
return (char)('a' + r.Next(27));
else if (t <= 6)
return (char)('A' + r.Next(27));
else
return (char)(r.Next(32, 255));
}
}
public static int inBoxY(int n, int height)
{
n = n % height;
if (n <0)
return n + height;
else
return n;
}
}
}
Vía: pastebin

Richo
septiembre 2, 2008
Me gustaria poder tener ese codigo en c/c++ para poder compilarlo, ya que no se c#
Jose
octubre 22, 2008
¡WOW! ¡Excelente!
dado
octubre 28, 2008
muy interesante seria weno k pongas mas aportes
Mr i
enero 31, 2009
idea mia o tu codigo esta incompleto?? = wen aporte
max
noviembre 10, 2009
mira deberiamos hacerlo en c char con los caracteres japoneses eso en verdad si seria muy bueno
mefistofeles
abril 13, 2010
esta buenisimo me podrias dar cursos para aprender a programar en c shrp 2008 porfa desde el inicio
juarezman
noviembre 8, 2010
Excelente, funciona muy bien.
Radamanthys
noviembre 17, 2010
Hey muy bueno, Por cierto si esta completo y lo mejor de todo es que “Si funciona”, thanks nigga, I Guess you’re good at this, dejo mi correo para comentarios, bye…
luis oswaldo
noviembre 30, 2010
hola amigos me gusta mucho esta matrix pero me podriana ayudar amigos quiero cambiarles las letras q se muestran en esta matrix lo siento soy nuevo y me gustaria q me ayudan si un favor gracias amigos
el gaucho
diciembre 16, 2010
Man te falta las librerias pero probare poniendo las declaraciones thanks…..
trukof
febrero 2, 2011
nada mas por eso te pondre en favoritos sin saber el contenido
gracias
arriba C# =D
Emma
agosto 18, 2011
Me encanto locoooo!!
Erik
noviembre 25, 2011
Esta de lujooo jaja pero am soy muy nuevo en esto de la programacion en c y bueno lo k hize fue guardar el codigo en un archivo .c y ejecutarlo con gcc en terminal de fedora, y me lanzo errores como estos:
matrix1.c:2:1: error: nombre de tipo ‘using’ desconocido
matrix1.c:4:1: error: nombre de tipo ‘namespace’ desconocido
matrix1.c:5:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
matrix1.c:15:12: error: #if sin expresión
seria muy feliz si me dicen k hize mal
muchas gracias