ну так работай над собой, а не морские бои пиши
А чё морской бой? Не так уж и просто написать. Но сейчас я пишу другую штуковину: поиск наиболее короткого пути. В общем всё работает, но есть одна непонятка в таблице. На первом рисунке всё правильно. Но если в таблице появляется курсор (синий квадратик рис. 2) - то эта ячейка перестаёт перекрашиваться в другие цвета, цифра 17 на рис. 3 должна быть красная, а не чёрная. Код, заполняющий таблицу:
C++ (Qt)
void Widget::fnPrintTable(void)
{
QString str;
int x;
for(int i = 0; i < ROUMAX; i++)
{
for(int j = 0; j < COLMAX; j++)
{
if (buf[i][j] == suf[i][j]) continue;
suf[i][j] = buf[i][j];
QFont font;
QColor color;
QTableWidgetItem *item = new QTableWidgetItem();
x = 0;
if(buf[i][j] > 499) x = 500;
str = QString::number(buf[i][j] - x);
if(buf[i][j] == 0) str = "";
if(buf[i][j] == 1000) {str = "X";}
if(buf[i][j] == 2000) {str = "B";}
if(buf[i][j] == 3000) {str = "E";}
if(buf[i][j] > 999)
{
font.setPointSize(12);
font.setBold(true);
color.setAlpha(255);
}
if((buf[i][j] > 499) && (buf[i][j] < 999))
{
font.setPointSize(7);
font.setBold(false);
color.setRed(255);
}
if(buf[i][j] < 499)
{
font.setPointSize(7);
font.setBold(false);
color.setBlue(255);
}
//QTableWidgetItem *item = new QTableWidgetItem();
item->setFont(font);
item->setForeground(color);
item->setText(str);
ui->tableWidget->setItem(i, j, item);
}
}
}