Я кодирую игру, и я изо всех сил пытаюсь удалить своего Stickman, прежде чем я начну рисовать другой.
Я мог бы просто использовать Console.Clear()
, но он очищает всю консоль, и мне нужно только удалить предыдущуюstickman.
Я пытаюсь использовать:
private static string path = @"c:..\..\characters\";
private string file;
private int xpast = 0;
private int ypast = 0;
private int LinhasSeparacao;
public Graphics()
{
}
public Graphics(string file)
{
this.file = file;
StreamReader sr = new StreamReader(path + file);
LinhasSeparacao = 0;
do
{
LinhasSeparacao++;
}
while (sr.ReadLine() != "separar");
sr.Close();
}
public void Draw(int x, int y,bool forma = true)
{
string[] persona = File.ReadAllLines(path + file);
LimparAnterior(forma,persona,x,y);
//Console.Clear();
if (forma)
{
for (int i = 0; i < LinhasSeparacao - 1; i++)
{
Console.SetCursorPosition(x, y + i);
Console.Write(persona[i]);
}
}
else
{
int j= 0;
for (int i = LinhasSeparacao; i <persona.Length-1; i++)
{
Console.SetCursorPosition(x, y + j);
Console.Write(persona[i]);
j++;
}
}
xpast = x;
ypast = y;
}
private void LimparAnterior(bool forma,string[] persona, int xlive, int ylive)
{
int i = 0;
for (i = 0 ; i < LinhasSeparacao; i++)
{
Console.SetCursorPosition(xpast > 0? xpast -1:xpast,ypast + i);
Console.Write(" ",persona[i].Length);
}
}
Это мой класс для рисования нового персонажа, ему нужны координаты x и y.Я использую файл для рисования и помещаю все строки в массив с именем persona.Я рисую после того, как кто-то нажимает стрелки, чтобы заставить маленького парня двигаться.
Если вам нужна дополнительная информация, скажите что-нибудь.Вот ссылка на github: https://github.com/digaso/Wizardoft