C#のコンソールでカーソル位置を指定するプロパティがあるようですので、試してみました。
サンプルプログラム
using System;
using System.Threading;
class Sample
{
public static void Main()
{
ConsoleKeyInfo cki;
Console.Clear();
int x = 1;
int y = 1;
Console.CursorLeft = x;
Console.CursorTop = y;
int xx = 1;
int yy = 1;
do {
while (Console.KeyAvailable == false)
{
//Console.CursorLeft = x;
//Console.CursorTop = y;
//Console.Write(" ");
x = x + xx;
y = y + yy;
if (x > 79)
{
xx = -1;
x = 79;
}
if (x < 1)
{
xx = 1;
x = 1;
}
if (y > 35)
{
yy = -1;
y = 35;
}
if (y < 1)
{
yy = 1;
y = 1;
}
Console.CursorLeft = x;
Console.CursorTop = y;
Console.Write("A");
Thread.Sleep(1); // Loop until input is entered.
}
cki = Console.ReadKey(true);
} while(cki.Key != ConsoleKey.X);
Console.CursorLeft = 1;
Console.CursorTop = 36;
}
}
実行結果
実行するとコンソール上に”A”の文字が座標を指定して表示され、格子状の模様を作ります。
終了する場合”X”キーを押してください。
ちなみに、Console.CursoLeftはConsole.Writeで表示した文字数分だけ値が増えます。
コメント