Начал кодить функцию
Function CompStepXO9(cell As Range) As Range
' ход компьютера,
' принимает ячейку хода врага, и
' возвращает ячейку хода своего
' Если таблица куда послали занята,
' ищу свободную таблицу,
' играю в простые крестики нолики
:-( Понял, что погряз в спагетти:
Dim number As Long
number = TableNextNumber(CellStepLast)
If number < 1 Then MsgBox4Debug "Ошибка"
If TablesXO9States(number) <> "open" Then
number = OpenFind(TablesXO9States)
If number < 1 Then MsgBox4Debug "Ошибка"
End If
Dim tableNext As Range
Set tableNext = TablesXO9Ranges(number)
If tableNext Is Nothing Then
MsgBox4Debug "Ошибка"
End If
' и тому подобное ...
Сбросил чары, заменил на:
Set CompStepXO9 = _
PlayXO( _
TableFree( _
TableDest( _
TableNumberCheck( _
TableNextNumber(cell)))))
Превращение императивного кода декораторами в декларативный
27 июня 202327 июн 2023
3
~1 мин