• je

    Code Source du C#:

     

    #define readkey

    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;
    }
    }
    }

    Code Source du C++:

    /*
    *** COMPILING WITH DEV C++ 4.9.9.2 ***
    */

    #include <windows.h>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>

    using namespace std;

    int main(int argc, char *argv[])
    {
    int a;
    string array [42] = {"A","B","C","D","E","F","G","H","I","J","K","L "," M","N","O","P","Q","R","S","T","U","V","W","X", "Y" ,"Z","0","1","2","3","4","5","6","7","8","9", " ", " ","?","!","#","*"};
    system("TITLE The Matrix");
    system("color 0A");
    while(1)
    {
    Sleep(45);
    for(int i=0; i<27; i++)
    {
    a = rand()%42;
    cout << " " << array[a];
    cout << " ";
    }
    cout << endl;
    }
    getch();
    return 0;
    }