Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Розробка консольного додатка, що представляє собою гру "Хрестики нулики" з комп'ютером з підтримкою контейнерних класів STL

Реферат Розробка консольного додатка, що представляє собою гру "Хрестики нулики" з комп'ютером з підтримкою контейнерних класів STL





) [0] << « | »<< (* Board) [1] << « | »<< (* Board) [2]; << « N t» << «---------»; << « N t» << (* Board) [3] << « | »<< (* Board) [4] << « | »<< (* Board) [5]; << « N t» << «---------»; << « N t» << (* Board) [6] << « | »<< (* Board) [7] << « | »<< (* Board) [8]; << « N n»;

} winner (const vector * const board)

{

/ / всі можливі варіанти победint WINNING_ROWS [8] [3]={{0, 1, 2},

{3, 4, 5},

{6, 7, 8},

{0, 3, 6},

{1, 4, 7},

{2, 5, 8},

{0, 4, 8},

{2, 4, 6}

}; int TOTAL_ROWS=8;

/ / якщо в ряду є три однакових знченія (не порожні),

/ / тоді є переможець (int row=0; row

{(((* board) [WINNING_ROWS [row] [0]]!=EMPTY) &&

((* board) [WINNING_ROWS [row] [0]] == (* board) [WINNING_ROWS [row] [1]]) &&

((* board) [WINNING_ROWS [row] [1]] == (* board) [WINNING_ROWS [row] [2]]))

{(* board) [WINNING_ROWS [row] [0]];

}

}

/ / так як ніхто не переміг, перевіряється нічия (порожні квадрати)

if (count (board-> begin (), board-> end (), EMPTY) == 0)

return TIE;

/ / так як ніхто не переміг, і не нічия, гра триває

return NONE;

} bool isLegal (int move, const vector * const board)

{((* board) [move] == EMPTY);

} humanMove (const vector * const board, char human)

{move=askNumber («Ваш хід?», (board-> size ())); (! isLegal (move - 2, board))

{<< « NЕта клітина зайнята. N»;=askNumber («Ваш хід?», (Board-> size ()));

} << «Прекрасно ... n"; move - 2;

} computerMove (vector board, char computer)

{<< «Я поставлю число в квадрат»;

/ / якщо комп'ютер може перемогти на наступному ході, робиться хід.

for (unsigned int move=0; move

{(isLegal (move, & board))

{[move]=computer; (winner (& board) == computer)

{<< move +1 << endl;

return move;

}

/ / Справи перевірка руху, його скасування. [move]=EMPTY;

}

}

/ / якщо гравець може перемогти на наступному ході, блокувати цей рух.

char human; (computer == x)

{= o;

} {human=x; } (Unsigned int move=0; move

{(isLegal (move, & board))

{[move]=human; (winner (& board) == human)

{<< move +1 << endl;

return move;

}

/ / зроблена перевірк...


Назад | сторінка 8 з 9 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка гри "хрестики-нулики"
  • Реферат на тему: Мережева гра "Хрестики-Нулики" між довільними користувачами локал ...
  • Реферат на тему: Розробка програми, що представляє собою
  • Реферат на тему: Розробка програми для Windows, що представляє собою MP3 плеєр
  • Реферат на тему: Розробка бази даних "Обладнання комп'ютерних класів навчального за ...