exorcist-game/prompt.md
2026-05-09 11:55:14 -05:00

60 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**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.