#include <iostream>
#include <string>
#include <random>
using namespace std;

const string PLAYER[] = { "勇者", "魔法使い", "神官", "格闘家" };
const int PN = sizeof(PLAYER) / sizeof(PLAYER[0]);

const string ENEMY[] = { "スライム", "ゾンビ", "スケルトン", "ゴーレム", "ドラゴン" };
const int EN = sizeof(ENEMY) / sizeof(ENEMY[0]);

const string MESSAGE_START = "バトルスタート！";
const string MESSAGE_PL_ACT = "を攻撃した！";
const string MESSAGE_EN_ACT = "に襲い掛かった！";
const string MESSAGE_END = "の必殺の一撃！ 全ての魔物を倒した！";
const int LOOP = 5; // 繰り返す回数

random_device rd;
mt19937 mt(rd());

int main() {
    cout << MESSAGE_START << endl; // 開始時のメッセージ
    string dummy; // 入力用の変数
    for (int i = 0; i < LOOP; i++) { // 指定の回数、繰り返す
        cout << PLAYER[mt() % PN] << "は" << ENEMY[mt() % EN] << MESSAGE_PL_ACT << endl;
        getline(cin, dummy); // Enterキーの入力待ち
        cout << ENEMY[mt() % EN] << "は" << PLAYER[mt() % PN] << MESSAGE_EN_ACT << endl;
        getline(cin, dummy); // Enterキーの入力待ち
    }
    cout << PLAYER[0] << MESSAGE_END << endl; // 終了時のメッセージ
}