Игра «100 спичек». Из кучки, первоначально содержащей 100 спичек, двое играющих поочерёдно берут по несколько спичек: не менее одной и не более десяти. Выигрывает взявший последнюю спичку. Программа должна хранить имена игроков и выводить соответствующие сообщения с учётом имён.
C++
Ответы на вопрос
Вот пример программы на C++, которая реализует игру «100 спичек» с учетом имен игроков и правил, которые вы описали. Я постарался сделать код понятным и с подробными комментариями.
C++#include
#include
using namespace std;
int main() {
string player1, player2;
int totalMatches = 100; // начальное количество спичек
int move;
// Ввод имен игроков
cout << "Введите имя первого игрока: ";
cin >> player1;
cout << "Введите имя второго игрока: ";
cin >> player2;
string currentPlayer = player1;
while (totalMatches > 0) {
cout << "На столе " << totalMatches << " спичек." << endl;
cout << currentPlayer << ", сколько спичек вы берете (от 1 до 10)? ";
cin >> move;
// Проверка корректности хода
while (move < 1 || move > 10 || move > totalMatches) {
cout << "Некорректный ход. Попробуйте снова: ";
cin >> move;
}
totalMatches -= move;
// Проверка на победу
if (totalMatches == 0) {
cout << currentPlayer << " взял последнюю спичку и победил!" << endl;
break;
}
// Смена игрока
if (currentPlayer == player1) {
currentPlayer = player2;
} else {
currentPlayer = player1;
}
}
return 0;
}
Как работает программа:
-
Сначала пользователи вводят свои имена.
-
Переменная
totalMatchesхранит текущее количество спичек на столе. -
В цикле
whileпрограмма по очереди спрашивает каждого игрока, сколько спичек он хочет взять (от 1 до 10). -
Если игрок вводит некорректное число (например, больше 10 или больше оставшихся спичек), программа просит ввести заново.
-
После каждого хода программа проверяет, остались ли спички. Если спичек не осталось, победителем считается текущий игрок.
-
После хода игрок меняется на другого.
Таким образом программа полностью учитывает имена игроков и выводит сообщения о ходе и победе с их именами.
Если нужно, могу показать вариант с более «умным» ходом компьютера против игрока.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

