Курсовая работа: Программа "Крестики-нолики 5 в ряд на неограниченном игровом поле"
//Проход по всем возможным рядам, отстоящим от клетки не более чем на 5
for (int j=0;j<5;j++)
{
if ((fields[x-4+i+j][y-4+i+j] != id) && (fields[x-4+i+j][y-4+i+j] != 0))
{
//Конец ряда
series_length = 0;
break;
}
if (fields[x-4+i+j][y-4+i+j] != 0) series_length++; //Ряд увеличивается
}
if (series_length == 1) series_length = 0; //Ряд из самой клетки не учитываем
if (series_length == 5) series_length = 100; //Выигрышная ситуация, ставим большое значение
//Плюсуем серию к общей сумме
unsigned long pow_st = valuation_factor;
if (series_length == 100)
{
if (id == 2)
pow_st = 10000;//Большое значение при своем выигрыше
else
pow_st = 1000; //Большое значение при выигрыше соперника, но меньшее, чем при своем
}
else
{
for (int i=0;i<series_length;i++)//Возводим оценочный коэффициент в степень длины серии
{
pow_st*=valuation_factor;
}
}