Jump to content

Recommended Posts

Posted

Create a console application and add this into the Module1

 

Module Module1

    Sub Main(ByVal args As String())
        Console.Title = "MatriX Console"
        Console.ForegroundColor = ConsoleColor.DarkGreen
        Console.WindowLeft = InlineAssignHelper(Console.WindowTop, 0)
        Console.WindowHeight = InlineAssignHelper(Console.BufferHeight, Console.LargestWindowHeight)
        Console.WindowWidth = InlineAssignHelper(Console.BufferWidth, Console.LargestWindowWidth)
        Console.WriteLine("Hello maxcheaters nabs , press any key to go on")
        Console.ReadKey()

        Dim width As Integer, height As Integer
        Dim y As Integer()
        Dim l As Integer()
        Initialize(width, height, y, l)
        Dim ms As Integer
        While True
            Dim t1 As DateTime = DateTime.Now
            MatrixStep(width, height, y, l)
            ms = 10 - CInt(DirectCast((DateTime.Now - t1), TimeSpan).TotalMilliseconds)
            If ms > 0 Then
                System.Threading.Thread.Sleep(ms)
            End If
            If Console.KeyAvailable Then
                If Console.ReadKey().Key = ConsoleKey.F5 Then
                    Initialize(width, height, y, l)
                End If
            End If
        End While
    End Sub

    Dim thistime As Boolean = False

    Sub MatrixStep(ByVal width As Integer, ByVal height As Integer, ByVal y As Integer(), ByVal l As Integer())
        Dim x As Integer
        thistime = Not thistime
        For x = 0 To width - 1
            If x Mod 11 = 10 Then
                If Not thistime Then
                    Continue For
                End If
                Console.ForegroundColor = ConsoleColor.Red
            Else
                Console.ForegroundColor = ConsoleColor.DarkGreen
                Console.SetCursorPosition(x, inBoxY(CInt(y(x) - 2 - (l(x) / 40 * 2)), height))
                Console.Write(R)
                Console.ForegroundColor = ConsoleColor.Green
            End If
            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(" "c)
        Next
    End Sub

    Private Sub Initialize(ByRef width As Integer, ByRef height As Integer, ByRef y As Integer(), ByRef l As Integer())
        Dim h1 As Integer
        Dim h2 As Integer = CInt((InlineAssignHelper(h1, CInt((InlineAssignHelper(height, Console.WindowHeight)) / 2))) / 2)
        width = Console.WindowWidth - 1
        y = New Integer(width - 1) {}
        l = New Integer(width - 1) {}
        Dim x As Integer
        Console.Clear()
        For x = 0 To width - 1
            y(x) = m_r.[Next](height)
            l(x) = m_r.[Next](h2 * (If((x Mod 11 <> 10), 2, 1)), h1 * (If((x Mod 11 <> 10), 2, 1)))
        Next
    End Sub
    Dim m_r As New Random()
    Private ReadOnly Property R() As Char
        Get
            Dim t As Integer = m_r.[Next](10)
            If t <= 2 Then
                Return CChar(("0"c & m_r.[Next](10)))
            ElseIf t <= 4 Then
                Return CChar(("a"c & m_r.[Next](27)))
            ElseIf t <= 6 Then
                Return CChar(("A"c & m_r.[Next](27)))
            Else
                Return CChar(CChar(CStr((m_r.[Next](32, 255)))))
            End If
        End Get
    End Property

    Public Function inBoxY(ByVal n As Integer, ByVal height As Integer) As Integer
        n = n Mod height
        If n < 0 Then
            Return n + height
        Else
            Return n
        End If
    End Function

    Private Function InlineAssignHelper(Of T)(ByRef target As T, ByVal value As T) As T
        target = value
        Return value
    End Function
End Module

 

Preview : http://i.imgur.com/rPNrb.png

Posted

vasika to problima einai edw Initialize(width, height, y, l)

Warning 1 Variable 'y' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. C:\Users\loghs\AppData\Local\Temporary Projects\ConsoleApplication1\Module1.vb 15 35 ConsoleApplication1

 

 

Warning 2 Variable 'l' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. C:\Users\loghs\AppData\Local\Temporary Projects\ConsoleApplication1\Module1.vb 15 38 ConsoleApplication1

 

Posted

vasika to problima einai edw Initialize(width, height, y, l)

Warning 1 Variable 'y' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. C:\Users\loghs\AppData\Local\Temporary Projects\ConsoleApplication1\Module1.vb 15 35 ConsoleApplication1

 

 

Warning 2 Variable 'l' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. C:\Users\loghs\AppData\Local\Temporary Projects\ConsoleApplication1\Module1.vb 15 38 ConsoleApplication1

 

oute ena copy paste den niw8eis n akaneis , kane me add sto msn , na sto codarw egw mesw teamviewer
  • 1 month later...
Posted

here is the C# version

 

using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
static class Module1
{

public static void Main(string[] args)
{
	Console.Title = "MatriX Console";
	Console.ForegroundColor = ConsoleColor.DarkGreen;
	Console.WindowLeft = InlineAssignHelper(ref Console.WindowTop, 0);
	Console.WindowHeight = InlineAssignHelper(ref Console.BufferHeight, Console.LargestWindowHeight);
	Console.WindowWidth = InlineAssignHelper(ref Console.BufferWidth, Console.LargestWindowWidth);
	Console.WriteLine("Hello maxcheaters nabs , press any key to go on");
	Console.ReadKey();

	int width = 0;
	int height = 0;
	int[] y = null;
	int[] l = null;
	Initialize(ref width, ref height, ref y, ref l);
	int ms = 0;
	while (true) {
		DateTime t1 = DateTime.Now;
		MatrixStep(width, height, y, l);
		ms = 10 - Convert.ToInt32(((TimeSpan)(DateTime.Now - t1)).TotalMilliseconds);
		if (ms > 0) {
			System.Threading.Thread.Sleep(ms);
		}
		if (Console.KeyAvailable) {
			if (Console.ReadKey().Key == ConsoleKey.F5) {
				Initialize(ref width, ref height, ref y, ref l);
			}
		}
	}
}


static bool thistime = false;
public static void MatrixStep(int width, int height, int[] y, int[] l)
{
	int x = 0;
	thistime = !thistime;
	for (x = 0; x <= width - 1; x++) {
		if (x % 11 == 10) {
			if (!thistime) {
				continue;
			}
			Console.ForegroundColor = ConsoleColor.Red;
		} else {
			Console.ForegroundColor = ConsoleColor.DarkGreen;
			Console.SetCursorPosition(x, inBoxY(Convert.ToInt32(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(ref int width, ref int height, ref int[] y, ref int[] l)
{
	int h1 = 0;
	int h2 = Convert.ToInt32((InlineAssignHelper(ref h1, Convert.ToInt32((InlineAssignHelper(ref height, Console.WindowHeight)) / 2))) / 2);
	width = Console.WindowWidth - 1;
	y = new int[width];
	l = new int[width];
	int x = 0;
	Console.Clear();
	for (x = 0; x <= width - 1; x++) {
		y[x] = m_r.Next(height);
		l[x] = m_r.Next(h2 * ((x % 11 != 10) ? 2 : 1), h1 * ((x % 11 != 10) ? 2 : 1));
	}
}
static Random m_r = new Random();
private static char R {
	get {
		int t = m_r.Next(10);
		if (t <= 2) {
			return Convert.ToChar(('0' + m_r.Next(10)));
		} else if (t <= 4) {
			return Convert.ToChar(('a' + m_r.Next(27)));
		} else if (t <= 6) {
			return Convert.ToChar(('A' + m_r.Next(27)));
		} else {
			return Convert.ToChar(Convert.ToChar(Convert.ToString((m_r.Next(32, 255)))));
		}
	}
}

public static int inBoxY(int n, int height)
{
	n = n % height;
	if (n < 0) {
		return n + height;
	} else {
		return n;
	}
}

private static T InlineAssignHelper<T>(ref T target, T value)
{
	target = value;
	return value;
}
}

  • 3 months later...
Posted

Dn katalava xristo :P

kanw ena new file bazw to code k to apothikeuw?

  • 2 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock