Показать сообщение отдельно
  #3  
Старый 09.10.2019, 15:30
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Адрес: Город на Бире
Сообщения: 326
Версия Delphi: XE7, 10.3
Репутация: 429
Сообщение

На скорую руку.
Заводим глобальную переменную
Код:
var
  Flag: Boolean = True;
Заворачиваем вызов процедуры рисующей фигуры в case
Код:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  Mess: String;
begin
  ...
  case Flag of
    True: PaintKN(knKrestik, (X div C_CellWH), (Y div C_CellWH));
    False: PaintKN(knNolik, (X div C_CellWH), (Y div C_CellWH));
  end;
  ...
End;
А в самой процедуре рисования фигур меняем состояние глобальной переменной.
Код:
  Case S of
    knKrestik:
      begin
        ...
        Flag := False;
      end;
    knNolik:
      begin
        ...
        Flag := True;
      end;
  End;
При таком раскладе первый игрок всегда ходит крестиками.
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием