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

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

Ответ:
mak57
mak57
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?