60 lines
3.8 KiB
Markdown
60 lines
3.8 KiB
Markdown
**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.
|