**Prompt you can paste directly to an LLM (e.g. ChatGPT) to get the full game code** > **Write a complete, ready‑to‑run Python implementation of a text‑based exorcist game that uses Bible verses as the “spell” mechanic.** > > **Requirements** > 1. **Data** – Store the verses in a `verses.json` file (you can hard‑code the JSON inside the prompt). Each verse must have: > * `id` – a unique string (e.g. `"binding_001"`) > * `text` – the full verse (use real Bible passages, at least 3‑4 short verses per category) > * `category` – e.g. `"Binding"`, `"Healing"`, `"Exorcism"` > * `difficulty` – integer 1–5 (1 = easy, 5 = hard). > 2. **Gameplay Loop** – The player is presented with an encounter (a demon name, health, and weakness categories). The player chooses a verse from the list of available verses (show its `id` and `category`). The player then types the verse. > * If the typed verse matches the stored verse (ignoring punctuation, case, and whitespace), the spell succeeds. > * If not, the spell fails and the demon deals damage. > 3. **Memory Test** – After a successful cast, the screen clears and the player must type the same verse *without seeing it again*. If they succeed, the demon is defeated. If they fail, they get a warning and can retry. > 4. **Scoring** – Keep a score that increases for correct casts, gives bonus points for speed (time < 10 s = +5, < 20 s = +3, < 30 s = +1). Deduct points for failures. Display the score after each encounter. > 5. **UI** – Use the standard library (`curses` if available, otherwise plain `input()`/`print()`). The UI should show: > * Player health & mana (if you wish to add mana). > * Current demon health and weakness. > * List of available verses (show only the `id` and `category`; hide the text until selected). > 6. **Progression** – Start with 4 “easy” verses. After defeating a demon, unlock 2 new verses of higher difficulty. After defeating 5 demons, unlock the “Memory” mode for all previously learned verses. > 7. **Code structure** – Provide at least three files: > * `main.py` – entry point, game loop, UI, scoring. > * `data.py` – loads the `verses.json` (you can embed the JSON inside this file). > * `README.md` – quick instructions on how to run, how the game works, and how to extend the verse list. > 8. **Comments & Readability** – Add comments explaining each function, data structure, and major logic. The code should be runnable by simply executing `python main.py`. > 9. **Optional Enhancements** (if time permits): > * Hint system – pressing `H` shows the first letter of each word. > * Partial credit – if >80 % characters correct, allow a retry. > * Voice input – optional, but you can note how to integrate a speech‑to‑text library. > > **Deliverables** > * `main.py` – full game code. > * `data.py` – JSON data embedded or loaded from a file. > * `README.md` – usage instructions. > * Comments inside the code for clarity. > > **Example Output** – After you run it, the user should see something like: > ``` > Welcome to Arcane Purge. > Encounter: Shade of the Abyss (Health: 50, Weakness: Binding, Exorcism) > Choose a verse to cast: > 1) binding_001 (Binding) > 2) healing_003 (Healing) > 3) exorcism_005 (Exorcism) > Enter number: 1 > Type the verse: > For I am the LORD your God, who teaches you to do good... > Correct! Time: 12.3s > Now, repeat the verse from memory: > (User types again) > Correct! Demon defeated! > Score: 15 > ``` > > Please generate the full code and README accordingly. --- Copy the text above into the LLM and it will output the entire `main.py`, `data.py`, and `README.md` files with the game logic, JSON data, and documentation.