Я пишу простую программу, и я хочу очистить все окно консоли с помощью Console.Clear(), но только удаляет строки, которые я написал тем же методом , Он не удаляет предыдущие строки.Console.Clear() не очищает все окно консоли
Любые идеи?
код (строка 123.)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Szigeti_Marton_FW0S9E
{
//Reversi (Othello) - Szigeti Márton, FW0S9E
class Game
{
private int[,] Table { get; set; }
private int gameCounter { get; set; }
private const int dimX = 8;
private const int dimY = 8;
private const char playerSign = 'X';
private const char computerSign = 'O';
private void Map()
{
Console.Write(" ");
for(int k = 0; k < 8; k++)
Console.Write("{0} ", (char)(65 + k));
Console.WriteLine();
for (int i = 0; i < dimX; i++)
{
Console.Write(i+1);
for (int j = 0; j <= dimY; j++)
{
Console.Write("| ");
}
Console.WriteLine();
}
}
private void Map(int x, int y, char sign)
{
//Overloaded
Console.Write(" ");
for (int k = 0; k < 8; k++)
Console.Write("{0} ", (char)(65 + k));
Console.WriteLine();
for (int i = 0; i < dimX; i++)
{
Console.Write(i + 1);
for (int j = 0; j <= dimY; j++)
{
Console.Write("| ");
}
Console.WriteLine();
}
}
private bool isFieldEmpty(int x, int y)
{
if (Table[x, y] == -1)
return true;
else
return false;
}
private bool isInputValid(string input)
{
bool temp = true;
bool tempLetter = false, tempNumber = false;
if ((input.Length == 2) && (char.IsLetter(input[0])) && (char.IsNumber(input[1])))
{
for (int i = 0; i < dimX; i++)
{
if (input[0] == (char)65 + i)
tempLetter = true;
}
if (!tempLetter)
temp = false;
for (int j = 0; j < dimY; j++)
{
if (int.Parse(input[1].ToString()) == j)
tempNumber = true;
}
if (!tempNumber)
temp = false;
}
else if (input.Length != 2)
temp = false;
return temp;
}
private void makeAMove()
{
int tempLetter = 0;
gameCounter++;
string Field;
Random randomMove = new Random();
Console.WriteLine("Adjon meg egy mezőt, pl. \"D3\". Feladáshoz: \"feladom\"");
do { Field = Console.ReadLine(); }
while (!isInputValid(Field));
Console.Clear(); // <-- Line 123
if (gameCounter % 2 == 1)
{
Field[0].ToString().ToUpper();
for(int i = 0; i < 8; i++)
if(Field[0] == (char)(65+i))
tempLetter = i;
Map(Field[1], tempLetter, playerSign);
}
else if (gameCounter % 2 == 0)
{
//Gép random lépés
}
}
static void Main(string[] args)
{
Game Player1 = new Game();
Player1.Map();
Player1.makeAMove();
Console.ReadLine();
}
}
}
Показать код !!! –
Я установил ссылку на код – mszigetihu
Вы действительно должны локализовать проблему и не размещать ссылку на несколько экранов, чтобы код, если вы ожидаете получить ответ – DarkWalker