Ich erstelle eine Präsentation für mein Praktikumsprojekt und habe mir gedacht, was wäre ein coolerer und geeigneterer Weg als in einem Konsolenanwendung.Erstellen einer Methode, die wie ein Minispiel einen Text simulieren kann und den stillstehenden Text dynamisch verändert
I mit 2 Code Hilfe benötigen Schnipsel
Dieser Code-Schnipsel prozedural Text schreibt und es funktioniert gut, aber läuft suboptimal (schweine Ressourcen)
static void SleeperText(string text, int interval) { char[] SlowPrint = text.ToCharArray(); foreach (char letter in SlowPrint) { Write(letter); Thread.Sleep(interval); }
Dieser Code-Schnipsel zu verstehen ist sei eine grafische Darstellung dessen, wie ein Salz aussehen würde (zu Demonstrationszwecken), flackert aber die gesamte Konsole.
static char RandomAsciLetter() { char charsi = (ascii[r.Next(tempstring.Length)]); return charsi; } static string RandomAsciCombo() { string stringsi = String.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}", RandomAsciLetter(), RandomAsciLetter(), RandomAsciLetter(), RandomAsciLetter(), RandomAsciLetter(), RandomAsciLetter(), RandomAsciLetter(), RandomAsciLetter(), RandomAsciLetter(), RandomAsciLetter()); return stringsi; } void Main() { do { while (!KeyAvailable) { Thread.Sleep(10); Clear(); Write("[ Esc ] to exit."); Write("\r\n\r\n\r\n\r\n"); WriteLine(String.Format("Salt:\t{0}{1}", RandomAsciCombo(), RandomAsciCombo())); } } while (Console.ReadKey(true).Key != ConsoleKey.Escape); ReadLine(); }
Was ist ein besserer Weg, um den ersten Schnipsel zu laufen, und wie kann ich das Flimmern für die zweiten entfernen?
Ich glaube nicht, es ist möglich, das Flimmern (die einzige Verbesserung entfernen ich denken könnte, ist das Drucken zu optimieren So aktualisiert man nur Zeichen, die noch nicht gedruckt sind (dies ist aber wahrscheinlich nicht sehr wichtig), da die Konsole nur für die Darstellung von Text und nicht für die Grafik gedacht ist. – MetaColon
Ich stellte mir so etwas vor, oder überschrieb die 'Salz'-Anzeige mit einer leeren Zeichenfolge und überschrieb sie dann ständig in einer Schleife. Das würde das Flackern nur auf das Salz beschränken, was insgesamt zu einer saubereren Darstellung führen würde. –