Introduction: Make a Matrix Screen With Pseudo-Random Number Generator

If you like the matrix, and have some spare time, you could make an endless program, that shows random numbers, as fast as the computer can run it, looking very similar to the matrix! It only takes about 5 minutes to prepare!

I was having a look around the Instructables site, and saw some Matrix screen makers.
 
I like writing computer programs, and one time decided to make one of these, and I am going to show you how!

You must have the Microsoft .NET Framework 3.5 installed to do this.

Please rate, it is my first instructable, and I want to know how I go.

**UPDATE**
If you do not have the Microsoft.NET Framework 3.5, you can easily download it from the Microsoft Download site (download.microsoft.com), and search for .NET 3.5.

I have made a new version that spits out random characters, instead of just numbers.

It DOES NOT show a screenshot of the matrix, or show a 3D screen. Just random letters. In green.

Step 1: Coding

You need to download the code file attached, and save it in to your my documents folder. If you are interested in computer programming, this program might be interesting to look at. You need to copy all of the italic text, and save it to a file called Program.txt.

using System; namespace Matrix_V2 { class Program { static void Main(string[] args) {
//Sets the text color to green
Console.ForegroundColor = ConsoleColor.Green;
//Create a string with some random characters
string random_characters = "£¤¥¦§¨©ª«¬®¯±²³´µ¶·¸¹ºΣΤΦΩαβδεμπστφABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<,>.?/:;\"\'{[}]\\|`~0123456790-_=+!@#$%^&*() ";
//Get all of those characters and turn them into an "array"
char[] random_characters_array = random_characters.ToCharArray();
//Clear the screen Console.Clear();
//Writes details about the application to the console screen
Console.Title = "Matrix V2 - Press Ctrl+C to exit";
Console.WriteLine("Matrix V2");
Console.WriteLine("Written by Chris Ward");
Console.WriteLine("https://www.instructables.com/member/7654321chris");
Console.Write("Press any key to continue");
Console.ReadKey();
//Creates a pseudo-random generator
Random r = new Random();
//Creates a statement that runs forever
while (true) {
//Gets the ASCII character from the array, based on what the number is
Console.Write(random_characters_array[r.Next(random_characters.Length)]);
//then runs the statement again... and again... etc.
} } } }


Step 2: Creating Batch File.

Open notepad again, and type this, only changing text if you know exactly what you are doing, and make sure it is all on one line, as I moved it on to separate lines so it would fit


 @C:\WINDOWS\Microsoft.NET\Framework\v3.5 \csc.exe /noconfig /nowarn:1701,1702
/errorreport:prompt /warn:4 /define:TRACE /reference:"C:\WINDOWS\Microsoft.NET\Framework
\v2.0.50727\System.dll" /filealign:512 /optimize- /target:exe /out:Matrix.EXE Program.txt


Then you must save it as a .BAT file, in the same location as the program.txt file.

Step 3: Running

Simply double click the batch file, and the command prompt window should close quickly. Once it has closed, the file should have been written (Matrix.EXE). Now all you have to do is run the program (Matrix.EXE), and the program will run.

Troubleshooting
If the file isn't created, add on a new line @pause to the batch file, then try running it again, then if there is detail on an error, post a comment and I will try to fix the problem. Any other problems? Just post a comment.

Step 4: Troubleshooting

 Error text: 'C:\WINDOWS\Microsoft.NET\Framework\v3.5'  is not recognized as an internal or external command, operable program or batch file'

* This is actually my fault, I made a mistake on the batch file. I will update the code on it, but to change it, there is a little space, just after the ...work\v3.5 and before the \csc.exe. Just remove that space and run again. Alternatively you could download the code again
.


Any other problems? Post a message and I will get back to u asap.

Comments

author
NightCrawler626 (author)2010-06-06

I copied the code and removed the space before \csc.exe and it ran very nicely. thanx for the matrix code, much more realistic than simply using the random number code.

author
kahlehl (author)2010-02-12

so i have to have the frame work in order for this to work, and i really dont want just random as letters and numbers, does it look exactly like it in the picture?

author
chrisgward (author)kahlehl2010-02-12

It doesnt look exactly like in the picture, what you are describing seems to be correct. I am currently working on a version that is more similar to the picture, but i cant make it in 3d, no idea how, lol. I will upload a new picture soon.

author
chennurus (author)2015-07-31

author
f53791. (author)2014-07-27

My batch file won't change into a exe file. Is this because I have microsoft.net framework 4.5?

author
mikroskeem (author)2012-04-29

All this software users! Modifications of my version:
#no data and keypress, fast running
#maker error fixes(like spaces)
# link: http://db.tt/dHe2ynu9
Than you!

author
chrisgward (author)mikroskeem2012-05-01

Not sure what you mean by it's fast running, it's all about the speed of the computer. If anything you'd want to slow it down so it doesn't chew up too much CPU. And what do you mean error fixes? I didn't realise there were any errors. I pulled your source and can't find any error handling

author
mikroskeem (author)chrisgward2012-05-09

i meaned errors in maker(look up!):P Like spaces!
I removed author data and "press enter" to start

author
chrisgward (author)mikroskeem2012-05-09

Well it is actually against the licence that the code is released under to remove that line and not attribute in any other form, just add a comment or something around the top saying it's derived from my source

author
skypeaful (author)2011-07-16

Can you tell me where is the place of the code "Press Ctrl+C to exit"? I want to change the combination key "Ctrl+C" to another key. Thank

author
chrisgward (author)skypeaful2012-04-18

(Sorry for the late response) Ctrl+C is a standard key in Windows and other operating systems which simply kills the program where it is. In my code, I haven't actually got it listening for Ctrl+C, but I'm letting Windows kill the process when it is pressed. In short, Ctrl+C can't be changed without adding a lot more code.

author
swolff (author)2011-09-25

Please help
it runs, closes just like its supposed to. but no file is created. HELPPPP

author
chrisgward (author)swolff2011-09-25

Please read the troubleshooting section at the bottom of the Running page.

author
swolff (author)chrisgward2011-09-29

Oh and @pause

author
swolff (author)chrisgward2011-09-29

@Tecnodancer, I put "@echo off" at the end, but still no .Exe file... Please help, I really want this to work. I've also tried deleting spaces, but i don't know witch ones to delete. What am I doing wrong?

author
swolff (author)2011-09-25

when i run it it just says
The directory name is invalid.
Press any key to continue . . .
HELPP

author
fabsy333 (author)2011-06-04

wat does the Matrix.EXE file even look like??

author
fabsy333 (author)2011-04-21

No .EXE

author
fabsy333 (author)2011-04-15

even know i removed the space, it did not make the Matrix.EXE file.

author
chrisgward (author)fabsy3332011-04-16

Open the .bat file in notepad and add the line "@pause" to the end of the file on a new line. Run the bat again and post here what it says. Thanks

author
lifeiserty (author)2011-02-26

When i run the batch file it quickly opens and closes


Help

author
SLAYERab (author)2010-09-22

I have the same problem as T8tersaild.

author
SLAYERab (author)SLAYERab2010-09-22

Could you possibly upload the file

author
chrisgward (author)SLAYERab2010-09-23

With the bat file should open and close really quickly. After running the batch file, a .exe file should now appear in the folder where you ran the .bat file. If there is none, please reply.

author
T8tersalid (author)2010-05-14

When I click on the program folder, it just opens notebook. How should I get it to open in command prompt?

author
chrisgward (author)T8tersalid2010-08-07

Open command prompt Start > Run > cmd
Type cd Location of files
Press enter
copy the line for the compiler, the really long one. 

author
T8tersalid (author)chrisgward2010-08-07

Hmm still doesn't work, when i click on the .bat file, another command prompt window just opens really quickly and closes really quickly.

author
bigZ_ (author)2010-08-07

does it work in my Win7?

author
chrisgward (author)bigZ_2010-08-07

it should, however I have not tested it.

author
G.J. Dyason (author)2010-05-29

when I run the program a window opens (windows\sistem32.cmd.exe) and is says press any ket to continue . . . and if I press any thing it just closes. What is posibly the problem?
 

author
technoguy94 (author)2010-04-27

It keeps saying it can't find the file, but its in the same folder as the batch file and it's called 'Program.txt' just like the instructions say. Can you help?

author
chrisgward (author)technoguy942010-04-30

I am not sure of the problem you are having. Do you have the framework installed (to check just go to the 'C:\WINDOWS\Microsoft.NET\Framework' folder and see if the v3.5 folder exists

author
freddieboy4883 (author)2010-02-26

please help

error

warning CS1691: '1702/errorreporting:prompt' is not a valid warning numer

Thank you Michael Fitzgerald

Note: Currently Running Windows Vista Home Premuim

Untitled.jpg
author

Hi, it seems that there was a problem in the bat file, which is caused by the copying, simply just add a space where the (*) is

    /nowarn:1701,1702(*)/errorreport:prompt

author
michaelhaseth (author)2010-01-05

When I run the batch it gives me this:

Program.txt(23,8):error CS0116: A namespace does not directly contain members such as feilds or methods

Program.txt(23,42):error  CS1022: Type of namespace definition, or end-of-the-file expected

Can you help at all?

author
chrisgward (author)michaelhaseth2010-01-05

 I ran the code myself, and it worked just fine. If you copied the code, maybe you should try downloading the code, I don't have any idea why it shouldn't work... wierd...

author
andrewthach (author)2010-01-02

 awesome, dude, it worked!!!!!!!!!!

author
andrewthach (author)2010-01-01

 it doesnt work, when i click on the batch file, it says, that its unrecognizagble or somehtin

author
chrisgward (author)andrewthach2010-01-01

 can you please tell me exactly what it says?

author
andrewthach (author)chrisgward2010-01-02

 It says that "not recognized as an internal or external command, operable program or batch file.

author
chrisgward (author)andrewthach2010-01-02

 OK. I will post it up on the troubleshooting page (last one) if that still doesn't help, please reply here again.



author
yout (author)2009-12-21

could you upload the MATRIX.bat file becuase when troubleshooted it just made a huge green screen on CMD

author
chrisgward (author)yout2009-12-22

If it is when you start the "matrix.exe" program, it should show a screen with detail on the application. Then you need to press any key. It should then start  writing random characters to the screen. This program doesnt eventually show an image of the matrix, it merely writes random stuff to the screen. If you get the green screen while running the batch file, let me know.

author
HandyBob (author)2009-12-16

The intro is a nice eye-catcher, but spewing out some random numbers doesn't make a matrix theme. If you know how to use the right characters, please share, I'd love to know.

author
chrisgward (author)HandyBob2009-12-16

I could change the code a bit to spit out an ascii character based on which number it is, but that would make the code confusing, and very large, is that what you meant?

author
HandyBob (author)chrisgward2009-12-16

Of course ascii, that could be a good alternative. I was too focused on those Japanese looking glyphs.
Thanks

author
chrisgward (author)HandyBob2009-12-16

with it being command line, I would use other things, but you would need to install lots of other language packs and mumbo jumbo. I will work on the new code, and put it up here asap.

author
chrisgward (author)chrisgward2009-12-16

Do you think i should explain the code in comments in the code file itself?

author
HandyBob (author)chrisgward2009-12-16

Whatever you find easiest. Personally I'd go with comments, unless you'd want to write it in an instructable.

About This Instructable

36,959views

14favorites

License:

Bio: I love writing computer programs and pulling stuff apart to "see how it works", then putting it back together again.
More by chrisgward:Interfacing your arduino with a C# programMake a Matrix Screen with Pseudo-Random number generator
Add instructable to: