![]() |
|
#1
|
|||
|
|||
![]() Здравствуйте. Пишу программу для игры в крестики нолики. Выигрыш проверяется по двумерному массиву. Требуется после игры его очистить, для очистки предусмотрена отдельная кнопка. Возможно ли очистить массив с помощью этой кнопки? Массив заполняется нажатиями на игровое поле, так же состоящее из кнопок.
Конкретно вопрос: как изменить массив в одной процедуре из другой, гуглил ничего найти не могу( |
#2
|
|||
|
|||
![]() Я сделал рестарт программы через ShellExecute, но хотелось бы, что бы работала очистка, а не перезапуск.
|
#3
|
||||
|
||||
![]() Используй FillChar.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#4
|
|||
|
|||
![]() можно поподробнее, никогда не сталкивался с этим)
|
#5
|
||||
|
||||
![]() Код:
FillChar(MyBuffer, SizeOf(MyBuffer), 0); 0 - чем очищаем. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Nik953 (03.12.2012)
|
#6
|
|||
|
|||
![]() В принципе сделал - в кнопке очистки присовил кнопкам игрового поля исходные тэги. Просто и сердито)
|
#7
|
|||
|
|||
![]() Попробую через FillChar
|
#8
|
|||
|
|||
![]() Пишет - не хватает актуальных параметров
|
#9
|
||||
|
||||
![]() Так смотри как я написал, или обратись к справке.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#10
|
|||
|
|||
![]() скомпилировалось, но с массивом ничего не происходит
|
#11
|
||||
|
||||
![]() В отладке смотри его содержимое.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#12
|
|||
|
|||
![]() Ну получается массив с нулями, но он такой только в процедуре кнопки сброса. А если нажать на кнопку игрового поля, то будет снова старый массив.
|
#13
|
|||
|
|||
![]() В принципе я нашел выход с присовением каждой кнопке своего начального тега, но это не очень рационально.
|
#14
|
||||
|
||||
![]() Как организован массив?
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#15
|
|||
|
|||
![]() Цитата:
Мне кажется, что там в принципе все неправльно. Массив надо описать в классе (тогда он доступен всем методам класса), а вот поле для игры делать кнопками - это "круто". Я бы делал на TPaintBox. Соотв, по координатам просто вычисляется клетка/ячейка массива. Отрисовка поля в OnPaint прямо по массиву (лучше сначала на Bitmap в памяти, а потом просто скопировать этот битмап на PaintBox - не будет дурацкого мерцания). |