{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Project 1B \u2014 The Adventure Loops\n",
    "\n",
    "**Checkpoint 2 of 3.** Open your Project 1A notebook \u2014 this project starts from that code, not from scratch. Right now your character makes exactly one decision and the story ends. Today you turn that one-shot decision into a multi-room adventure using a loop, and wrap your repeated actions (describing a room, handling a choice) into functions."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Requirements\n",
    "\n",
    "**Tier 1 \u2014 Minimum viable:**\n",
    "1. Copy your Project 1A code in as a starting point\n",
    "2. A loop (`while` or `for`) that lets the player move through **at least 3 rooms**, one at a time\n",
    "3. A function `describe_room(...)` that takes at least one parameter and returns or prints a room's description\n",
    "4. A function that handles the player's choice in a room (can be the same function as your branching logic from 1A, now wrapped in a `def`)\n",
    "5. The adventure should be able to end (the loop should stop) \u2014 either after a fixed number of rooms, or when a condition is met (health reaches 0, reaching a final room, etc.)\n",
    "\n",
    "**Tier 2 \u2014 Aim for this:**\n",
    "- Your room-handling function takes the room's name/description *and* the danger level or contents as separate parameters\n",
    "- At least one function `return`s a value that the rest of your program actually uses (not just `print()`s)\n",
    "- Each room feels different \u2014 a different description, a different choice, not the same text repeated with a new number\n",
    "\n",
    "**Tier 3 \u2014 Stretch:**\n",
    "- Use `break` to let the adventure end early under some condition (e.g. health drops too low partway through)\n",
    "- Track something across rooms (e.g. total gold collected using a running total variable updated each loop) and report it at the end"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Paste or rebuild your Project 1A code below as your starting point, then extend it.\n",
    "# TODO: wrap your room description in a function, e.g. def describe_room(name, danger_level):\n",
    "\n",
    "# TODO: wrap your choice-handling logic in a function\n",
    "\n",
    "# TODO: write a loop that calls these functions for at least 3 rooms in a row\n",
    "\n",
    "# TODO: make sure the loop actually ends somehow\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Before You Commit\n",
    "\n",
    "Run your notebook top to bottom and play through the whole adventure at least twice, making different choices each time. Confirm the loop actually stops when it's supposed to \u2014 an adventure that never ends is a bug, not a feature (unless you've deliberately used `break` and tested that path too)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## AI Collaboration Log\n",
    "\n",
    "If you used AI for any part of this project, log it here before you commit \u2014 same habit as your portfolio README:\n",
    "\n",
    "- What did you ask for?\n",
    "- What did you keep, and what did you change?\n",
    "\n",
    "*(If you didn't use AI this time, just write \"Didn't use AI for this one.\")*\n",
    "\n",
    "**Your log:** *(double-click to edit this cell)*"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
