class2
{
public void ExecuteAll(int rowStart,int columnStart,int rowEnd,int columnEnd)
{
ChessBoard chess = new ChessBoard();
chess.YourTurn();
counter++;
}
}
public static int counter;
У меня есть этот код, я хочу напечатать, какие игроки поворачивают его на шахматной доске.Счетчик является статическим int, каждый раз, когда он выполняется, счетчик увеличивается на 1.
YourTurn - это метод в частичном классе, называемый ChessBoard.это выглядит так:
public void YourTurn()
{
if (Class2.counter % 2 == 0)// if counter is an equal number
{
PlayerA.Text = "Black turn";// PlayerA label
PlayerA.Text = "White inactive";
}
else
{
PlayerB.Text = "White turn";// PlayerB label
PlayerB.Text = "Black inactive";
}
}
, чего не происходит, это обновление меток, каждый раз, когда я делаю ход.почему это так?
даже такой дизайн не будет работать, а это значит, что это не из-за нового экземпляра, создаваемого каждый раз.
public static string whitesTurn = "White turn";
public static string blacksTurn = "Black turn";
public void YourTurn()
{
if (Class2.counter % 2 == 0)
{
PlayerA.Text = blacksTurn;
PlayerA.Text = "White inactive";
PlayerA.Invalidate();
}
else
{
PlayerB.Text = whitesTurn;
PlayerB.Text = "Black inactive";
PlayerA.Invalidate();
}
}