Hallöchen,
Da ich schon länger hier bin aber noch nie was im Coder-Bereich beigetragen habe,
hab ich nun vor dies zu ändern...
Ich hab mal anfangs meiner Ausbildung ein ConsolenProgramm gefunden ,
dass die "Matrix" verbildlicht....
dies habe ich nun nachprogrammiert und erweitert...
Verbesserungsvorschläge sind gewünscht!
Ich hab auch eine Umfrage angehängt was ich als nächstes veröffentlichen soll...
Da ich schon länger hier bin aber noch nie was im Coder-Bereich beigetragen habe,
hab ich nun vor dies zu ändern...
Ich hab mal anfangs meiner Ausbildung ein ConsolenProgramm gefunden ,
dass die "Matrix" verbildlicht....
dies habe ich nun nachprogrammiert und erweitert...
Verbesserungsvorschläge sind gewünscht!
Code:
using System;
using System.Threading;
namespace Matrix
{
class Program
{
static object thisLock = new object();
static void Main(string[] args)
{
Random r = new Random();
Thread[] threads = new Thread[15];
for (int i = 0; i < threads.Length; i++)
{
threads[i] = new Thread(StartMatrix);
threads[i].Start(r);
}
Console.Read();
}
static int iZufStartKoordinateX(Random r)
{
return r.Next(0, Console.WindowWidth - 1);
}
static int iZufStartKoordinateY(Random r)
{
return r.Next(0, Console.WindowHeight - 1);
}
static void StartMatrix(object obj)
{
bool bZahlen = false;
bool bBuchstaben = false;
bool bZeichen = false;
bool bCyrill = false;
Console.Clear();
Console.Write("Welche Zeichen möchten sie über die Konsole laufen lassen?\nZahlen: 1000\nBuchstaben: 0100\nZeichen: 0010\nCyrill: 0001\nMögliche Kombinationen: 1000,0100,0010,0001,0110,1010,1100,1110\n");
string strAuswahl = System.Console.ReadLine();
switch (strAuswahl)
{
case "1000":
bZahlen = true;
break;
case "0100":
bBuchstaben = true;
break;
case "0010":
bZeichen = true;
break;
case "0001":
bCyrill = true;
break;
case "0110":
bBuchstaben = true;
bZeichen = true;
break;
case "1010":
bZahlen = true;
break;
case "1100":
bZahlen = true;
bBuchstaben = true;
break;
case "1110":
bZahlen = true;
bBuchstaben = true;
bZeichen = true;
break;
default:
Console.WriteLine("Wert ungueltig! es Wurde der Standartwert 1000 ausgewählt!");
bZahlen = true;
Thread.Sleep(3000);
break;
}
Console.Clear();
Random random = obj as Random;
int x = iZufStartKoordinateX(random);
int y = iZufStartKoordinateY(random);
ConsoleColor hell = ConsoleColor.Green;
ConsoleColor dunkel = ConsoleColor.DarkGreen;
int geschw = random.Next(60, 100);
while (true)
{
string sAusgabeZeichen = "0";
if (bZahlen && !bBuchstaben && !bZeichen)
{
sAusgabeZeichen = random.Next(0, 9).ToString();
}
if (bZahlen && bBuchstaben && !bZeichen)
{
int iBuschstabeOderZahl = random.Next(0, 2);
if (iBuschstabeOderZahl == 1)
{
sAusgabeZeichen = random.Next(0, 9).ToString();
}
else
{
sAusgabeZeichen = ((char)('a' + random.Next(0, 26))).ToString();
}
}
if (bZahlen && !bBuchstaben && bZeichen)
{
int iCharOrNumber = random.Next(0, 2);
if (iCharOrNumber == 1)
{
sAusgabeZeichen = random.Next(0, 9).ToString();
}
else
{
sAusgabeZeichen = ((char)('a' + random.Next(27, 100))).ToString();
}
}
if (bZahlen && bBuchstaben && bZeichen)
{
int iCharOrNumber = random.Next(0, 2);
if (iCharOrNumber == 1)
{
sAusgabeZeichen = random.Next(0, 9).ToString();
}
else
{
sAusgabeZeichen = ((char)('a' + random.Next(0, 100))).ToString();
}
}
if (!bZahlen && bBuchstaben && !bZeichen)
{
sAusgabeZeichen = ((char)('a' + random.Next(0, 26))).ToString();
}
if (!bZahlen && !bBuchstaben && bZeichen)
{
sAusgabeZeichen = ((char)('a' + random.Next(27, 100))).ToString();
}
if (!bZahlen && bBuchstaben && bZeichen)
{
sAusgabeZeichen = ((char)('a' + random.Next(0, 100))).ToString();
}
if (!bZahlen && !bBuchstaben && !bZeichen && bCyrill)
{
//AusgabeZeichen = "Кирил";
sAusgabeZeichen = ((char)('a' + random.Next(0410, 0419))).ToString();
}
lock (thisLock)
{
Console.SetCursorPosition(x, y);
Console.ForegroundColor = hell;
Console.Write(sAusgabeZeichen);
}
Thread.Sleep(geschw);
lock (thisLock)
{
Console.SetCursorPosition(x, y);
Console.ForegroundColor = dunkel;
Console.Write(sAusgabeZeichen);
}
if (y >= Console.WindowHeight - 1)
{
x = iZufStartKoordinateX(random);
y = iZufStartKoordinateY(random);
}
y++;
}
}
}
}
Ich hab auch eine Umfrage angehängt was ich als nächstes veröffentlichen soll...