Post: [C#] Matrix Effect. (Source Code)
02-07-2012, 03:57 AM #1
China Cat
Do a barrel roll!
(adsbygoogle = window.adsbygoogle || []).push({});
Matrix Effect


Description:

I have provided you with some code to create a close replica of the matrix code, which you can use in your programs or wherever you want to use it for. I'm not the actual creator of this code and the credit goes to who ever made it.

You must login or register to view this content.

    #define readkey

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Matrix
{
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(' 'Winky Winky;
}
}

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


DOWNLOASad Awesome You must login or register to view this content.

Thought I would share. Found somewhere else.
(adsbygoogle = window.adsbygoogle || []).push({});
02-07-2012, 07:39 AM #2
China Cat
Do a barrel roll!
Thank you. ^^^^
02-10-2012, 09:59 PM #3
|C++|
< ^ > < ^ >
Originally posted by Docko412 View Post
nice, this is pretty good coding for c#... doesn't look messy like some peoples coding does.

i wish i had windows oh well :fa:
nice post stare


dont think this is his, its possible but there are so many of these you can just copy and paste

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo