В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
Dzhemre69
Dzhemre69
04.05.2023 08:01 •  Информатика

С++ Створити гру п'ятнашки, налаштувати інтерфейс( вигляд гри, початок гри, кінець, поле гри). В кінці гри вивести на екран час гри і кількість перестановок.

Ответ:
KIRILLX228
KIRILLX228
31.05.2023 09:23
#include
#include
using namespace std;

const int SIZE = 4;

// Функція для виведення поля гри
void displayPuzzle(int puzzle[][SIZE]) {
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
cout << puzzle[i][j] << "\t";
}
cout << endl;
}
cout << endl;
}

// Функція для перевірки, чи вирішена гра
bool isSolved(int puzzle[][SIZE]) {
int count = 1;
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
if (puzzle[i][j] != count && count != SIZE * SIZE) {
return false;
}
count++;
}
}
return true;
}

// Функція для обміну значеннями двох клітинок
void swapCells(int puzzle[][SIZE], int row1, int col1, int row2, int col2) {
int temp = puzzle[row1][col1];
puzzle[row1][col1] = puzzle[row2][col2];
puzzle[row2][col2] = temp;
}

// Функція для перемішування п'ятнашок
void shufflePuzzle(int puzzle[][SIZE]) {
srand(time(NULL));
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
int randRow = rand() % SIZE;
int randCol = rand() % SIZE;
swapCells(puzzle, i, j, randRow, randCol);
}
}
}

// Функція для отримання введення користувача
void getUserMove(int& row, int& col) {
cout << "Введіть рядок та стовпчик клітинки, яку бажаєте перемістити (розділені пробілом): ";
cin >> row >> col;
}

// Головна функція гри
int main() {
int puzzle[SIZE][SIZE] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 0}
};

int moves = 0;
time_t startTime, endTime;

// Початок гри
cout << "Гра \"П'ятнашки\"!" << endl;
displayPuzzle(puzzle);
startTime = time(NULL);

// Перемішування п'ятнашок
shufflePuzzle(puzzle);

// Головний цикл гри
while (!isSolved(puzzle)) {
int row, col;
displayPuzzle(puzzle);
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?