мор. бой
Люди добрые - помогите пжалста!!! Собираюсь писать мор.бой; не подскажете как поле сделать - может рисунками??? тогда как сделать такое поле???
TImage тебя спасет... А вообще сначао изучи, ак рисовать... А помто бои устравай)
Или другой Canvas по надобности
Я б юзал Form1->Canvas
Или другой Canvas по надобности
Если ты не вкурсе
Но TImage рисует канвасом, но в отличии от других канвасов как напирмер в Form
Все что нарисовано остается в памяти, а не стирается при новой прорисовки.
Если ты не вкурсе
Но TImage рисует канвасом, но в отличии от других канвасов как напирмер в Form
Все что нарисовано остается в памяти, а не стирается при новой прорисовки.
Согласен, на TImage рисовать проще
В противном случае надо перерисовывать вручную
Люди добрые - помогите пжалста!!! Собираюсь писать мор.бой; не подскажете как поле сделать - может рисунками??? тогда как сделать такое поле???
В "приемы программирования в ВСВ" Тагина и Архангельского для этих целей используется обычный
TStringGrid. Советую посмотреть как реализовано там, а затем уже попытаться реализовать более навороченное.
и по хитрому c TBitBtn.
Вы имеете ввиду создать 200(!) BitBtn'ов ???!!!
Ну не 200, а 100:D . И как альтернатива вполне работает (у меня был пример). Конечно не вручную же их тыкать:D
Ну не 200, а 100 . И как альтернатива вполне работает (у меня был пример). Конечно не вручную же их тыкать
Я имею ввиду по 100 на каждого игрока.
Не рационально как-то получается...
Я имею ввиду по 100 на каждого игрока.
Не рационально как-то получается...
Используй TDrawGrid.
Установи
все поля Options в false, кроме goVertLine и goHorzLine
Scrollbar в ssNone,
Enabled в False,
DefaultDrawing в false
FixedCols, FixedRows 0
Cols 10, Rows 10
DefaultColWidth 20,DefaultColHeight 20
И нужно переопределить событие OnDrawCell. Напр.
int ARow, TRect &Rect, TGridDrawState State)
{
switch(pole[ARow][ACol])
{
case 0:
DrawGrid1->Canvas->Brush->Color = RGB(0, 0, 196);
break;
case 1:
DrawGrid1->Canvas->Brush->Color = RGB(200, 0, 0);
break;
default:
DrawGrid1->Canvas->Brush->Color = RGB(200,200,200);
}
DrawGrid1->Canvas->FillRect(Rect);
}
В массив pole записывается состояние игры. И получишь что-то типа: