{
thread gameThread(game_loop, ref(star_pleced), ref(staircase_placed), ref(c), ref(t_placed), ref(r_placed), ref(p_placed), rows, cols, ref(map));
thread monsterThread(monster_move, ref(map));
gameThread.join();
monsterThread.join();
refresh();
} while ((c = getch()) != '0');
#define SPACE ' '
- смысла не несет такая замена. Или какое-то более осмысленное имя, вроде EMPTY_FIELD, или просто в коде используйте ' '. Хотя лучше хорошее имя.const int dx[4] = {0, 1, 1, 1};
const int dy[4] = {1, 0, 1, -1};
for (dir = 0; dir < 4; ++dir) {
for (int start = 0; start < 9; ++start) {
int step;
int x = start % 3;
int y = start / 3;
for (step = 0; step < 3; ++step) {
if (x < 0 || x > 2 || y < 0 || y > 3 || field[x+3*y] != player) break;
x += dx[dir];
y += dy[dir];
}
if (step == 3) {
return 1;
}
}
}
return 0;
ssize_t numBytes = sendto
Это связано с тем, что сокеты работают на низком уровне и не гарантируют сохранение порядка отправленных данных. Когда два приложения отправляют данные одновременно, они могут перемешиваться в процессе передачи по сети и приходить в произвольном порядке.
1 <= j < k+j <= n
. Это множество допустимых значений можно представить как какую-то фигуру на плоскости. freopen("input.txt", "rb", stdin);
while (collision && try_counter <= 100);
вставьте:if (try_counter > 100) break;
while (map[py][px] != ' ')
).do
{
center_y = ry + (r_size_y / 2);
center_x = rx + (r_size_x / 2);
} while (map[center_y][center_x] != ' ');
for (int nx = max(0, x-1); nx < min(x+2, n); ++nx) {
for (int ny = max(0, y-1); ny < min(y+2, n); ++ny) {
if (nx == x && ny == y) continue;
// {nx, ny} - сосед в поле, обрабатываем его.
}
}
for (int nx = x-1; nx <= x+1; ++nx) {
for (int ny = y-1; ny <= y+1; ++ny) {
if ((nx == x && ny == y) || nx < 0 || ny < 0 || nx >= n || ny >= n) continue;
// {nx, ny} - соседняя клетка.
}
}
while (collision == true);
).Не понятно, говорится если ход не дает победы, то компьютер ставит фигуру в следующую клетку,
board[move] = computer;
board[move] = EMPTY;
found = winner(board) == computer;
- этот код присваивает булевой переменной found значение выражения winner(board) == computer
.