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