- Course: IT 140 - Introduction to Scripting
- Activities: Project One, Module Six Milestone, and Project Two
- Program: Text-Based Adventure Game
- Repository use: Create one personal repository in Module Five and continue using it through Module Seven
Project progress: 0 Start Here → 1 Analyze → 2 Design | M5 Project One → 3 Prototype | M6 Milestone → 4 Construct | M7 Project Two → 5 Test
This repository supports three graded activities that build on the same text-based game:
| Module | Graded activity | Main purpose | Required deliverable(s) |
|---|---|---|---|
| 5 | Project One | Design your game before coding it | game_storyboard.md, game_map.drawio, move.pseudo, get_item.pseudo |
| 6 | Module Six Milestone | Build and test a simplified movement prototype | move_between_rooms.py |
| 7 | Project Two | Develop and test the complete text-based game | text_based_game.py |
Before beginning work for a module, open that activity's Guidelines and Rubric in D2L Brightspace. The current Guidelines and Rubric is the official source for requirements, grading criteria, and submission instructions. This repository provides starter files, requirements references, working files, and step-by-step guidance to help you complete those requirements.
Important
You will use the same personal it140-projects repository for Modules Five, Six, and Seven. Do not create a new project repository in Module Six or Module Seven.
Note
GitHub is used to develop and back up your work. Project submission, grading, and instructor feedback remain in D2L Brightspace.
The project follows a simplified Software Development Life Cycle (SDLC), but the phases are spread across three modules:
Analyze → Design → Prototype → Construct → Test
- Module Five — Project One: analyze the game requirements and create the graded design artifacts.
- Module Six — Milestone: build a simplified movement-only prototype using a provided three-room dictionary. This gives you practice translating movement pseudocode into working Python.
- Module Seven — Project Two: use your Project One design and what you learned from the milestone to construct, debug, and test the complete game.
The Module Six prototype is intentionally smaller than the final game. It does not include the complete items, inventory, villain, or win/loss behavior required in Project Two.
The main student-work folders are:
it140-projects/
├── analysis/
│ ├── README.md
│ └── text_based_game_srs.md
├── design/
│ ├── README.md
│ ├── text_based_game_sdd.md
│ ├── game_storyboard.md
│ ├── game_map.drawio
│ ├── move.pseudo
│ └── get_item.pseudo
├── prototype/
│ ├── README.md
│ └── move_between_rooms.py
├── src/
│ ├── README.md
│ └── text_based_game.py
├── tests/
│ ├── README.md
│ └── game_test_plan.md
├── text_based_game_sdw.md
└── README.md
This repository may also contain course-managed configuration files and folders that are not shown above. Leave those files unchanged unless your instructor or course instructions tell you otherwise.
Your graded work is completed in these files:
Module Five — Project One
Module Six — Milestone
Module Seven — Project Two
You may also edit these recommended working files:
text_based_game_sdw.md— Software Development Worksheet (SDW); not submitted unless your instructor directs otherwisetests/game_test_plan.md— manual test notes; not a required graded deliverable
Leave the READMEs, SRS, SDD, repository configuration, and other provided course-managed files unchanged unless your instructor or course instructions tell you otherwise.
Complete these steps once in Module Five before beginning Project One.
If you already created an it140-projects repository in your GitHub account or already have an it140-projects folder in ~/Repos, do not repeat these steps. Open your existing repository instead.
In VS Code, select:
Terminal > New Terminal
Important
Windows users must use a PowerShell or Git Bash terminal in VS Code for the commands in this file. Do not use Command Prompt (cmd.exe).
Run:
gh auth statusConfirm that the active account is the GitHub account you use for IT 140.
If the correct account is listed but not active, run:
gh auth switch --user your-github-usernameIf the account is not listed, run:
gh auth login --webThen run gh auth status again.
Copy the entire command block and paste it into the VS Code integrated terminal:
cd ~/Repos
gh auth setup-git
gh api --method PUT /user/starred/GC-STEM/it140-projects
gh repo create it140-projects --template GC-STEM/it140-projects --private --clone
cd it140-projects
git remote -vThe commands star the course template, create a private personal repository from the current template, clone it into ~/Repos, and show the remote connected to your local copy.
If a command reports an error, do not repeat the entire block. Read the error message and use the Help and Support resources.
- Select File > Open Folder.
- Open
~/Repos/it140-projects. - Confirm that
it140-projectsis the top-level folder shown in the Explorer.
You will keep using this same folder and personal GitHub repository through Module Seven.
Open the Analyze Phase instructions.
Use the Project One Guidelines and Rubric and the provided Software Requirements Specification (SRS) to identify:
- The required theme and storyline information
- Minimum room and item counts
- Start-room and villain-room constraints
- What must make the game winnable
- The two kinds of player commands required in the full game
- The required input, output, decisions, and loops for movement and getting items
You may record short planning notes in text_based_game_sdw.md.
Open the Design Phase instructions.
Complete all four Project One deliverables:
Project One is a design project. Do not replace the required design artifacts with Python code.
Note
The current Project One directions refer to provided flowcharts for the move-between-rooms and get-item processes. Use those flowcharts as references for the two pseudocode deliverables; they are not listed as separate student-created submission files in the current Guidelines and Rubric.
From the repository root:
git status
git add text_based_game_sdw.md design/game_storyboard.md design/game_map.drawio design/move.pseudo design/get_item.pseudo
git commit -m "Complete Project One design"
git pushReturn to the current Project One Guidelines and Rubric in D2L Brightspace before submitting.
Submit the required Project One files in the formats specified there:
- Storyboard:
.md - Map:
.drawio - Move pseudocode:
.pseudo - Get-item pseudocode:
.pseudo
Do not submit the SRS, SDD, SDW, README files, or your GitHub repository unless the Guidelines and Rubric or your instructor specifically tells you to do so.
Do not create another repository.
Open:
~/Repos/it140-projects
If you are on a different computer and the repository is not there, clone your existing personal repository:
cd ~/Repos
gh repo clone "$(gh api user --jq .login)/it140-projects"
cd it140-projects
git statusOpen the Prototype Phase instructions, then complete:
prototype/move_between_rooms.py
The milestone uses a provided simplified three-room dragon-game dictionary and focuses on:
- Displaying the current room
- Accepting movement or
exitcommands - Using decision branching
- Using a gameplay loop
- Validating commands
- Ending the loop when the player exits
- Debugging and readability
Use your Project One movement pseudocode as a design reference where it applies, but follow the Module Six Milestone Guidelines and Rubric for the milestone's required simplified behavior.
Run the program from the repository root:
python3 prototype/move_between_rooms.pyOn Windows, if the course IDE provides python instead of python3, use:
python prototype/move_between_rooms.pyThen save your work:
git status
git add text_based_game_sdw.md prototype/move_between_rooms.py tests/game_test_plan.md
git commit -m "Complete Module Six movement milestone"
git pushReturn to the current Module Six Milestone Guidelines and Rubric before submitting.
Submit the required Python source file:
move_between_rooms.py
GitHub does not submit the milestone for grading.
Open the same personal it140-projects repository you used for Project One and the milestone.
Before editing Project Two code, review:
- Your Project One storyboard and map
- Your Project One move and get-item pseudocode
- Your Module Six milestone code
- Any instructor feedback from Project One or the milestone
- The current Project Two Guidelines and Rubric
Open the Construct Phase instructions, then complete:
Project Two extends beyond the milestone. The final game must use your Project One design and include the complete required behavior, including rooms, items, inventory, villain, commands, status output, win/loss conditions, functions, input validation, a gameplay loop, and industry-standard readability practices.
Do not keep the milestone's simplified exit-room condition as the final game's end condition. Project Two ends when the player wins or loses according to the current Project Two requirements.
Open the Test Phase instructions.
Use your own map to test several paths, including:
- Valid movement
- Invalid movement
- Valid item collection
- Invalid item commands
- Inventory updates
- A complete winning path
- A losing path that reaches the villain too early
Record useful test notes in tests/game_test_plan.md.
git status
git add text_based_game_sdw.md src/text_based_game.py tests/game_test_plan.md
git commit -m "Complete Project Two text-based game"
git pushReturn to the current Project Two Guidelines and Rubric before submitting.
Submit the required Python source file:
text_based_game.py
Do not submit the milestone prototype as a substitute for the Project Two file.
You create your personal it140-projects repository only once.
When you return later:
- Open VS Code.
- Select File > Open Folder.
- Open
~/Repos/it140-projects. - Continue working where you stopped.
If you work on more than one computer, push your current work from the first computer before cloning or pulling it on another computer.
Use this when your local folder is damaged or confusing but the copy you previously pushed to GitHub is good.
cd ~/Repos
mv it140-projects "it140-projects-local-backup-$(date +%Y%m%d-%H%M%S)"
gh repo clone "$(gh api user --jq .login)/it140-projects"
cd it140-projects
git statuscd ~/Repos
Rename-Item it140-projects "it140-projects-local-backup-$(Get-Date -Format 'yyyyMMdd-HHmmss')"
gh repo clone "$(gh api user --jq .login)/it140-projects"
cd it140-projects
git statusYour previous local folder remains in ~/Repos as a backup.
Use this only when you intentionally want to restart the entire Modules Five–Seven project sequence from the current course template.
Warning
Starting over does not automatically copy your existing Project One designs, milestone code, or Project Two code into the new repository. Preserve your existing work first.
cd ~/Repos
backup="it140-projects-backup-$(date +%Y%m%d-%H%M%S)"
mv it140-projects "$backup"
gh repo rename "$backup" --repo "$(gh api user --jq .login)/it140-projects" --yes
gh repo create it140-projects --template GC-STEM/it140-projects --private --clone
cd it140-projects
git remote -vcd ~/Repos
$backup = "it140-projects-backup-$(Get-Date -Format 'yyyyMMdd-HHmmss')"
Rename-Item it140-projects $backup
gh repo rename $backup --repo "$(gh api user --jq .login)/it140-projects" --yes
gh repo create it140-projects --template GC-STEM/it140-projects --private --clone
cd it140-projects
git remote -vThe README files contain the current step-by-step instructions for each project phase. The IT 140 Projects Wiki provides supplemental information about:
- The three-module project workflow
- Project One design artifacts
- The Module Six prototype
- Project Two construction and testing
- Working with project files in VS Code
- Git and GitHub workflows
- Sources, citations, and AI use
- Common project questions and technical support
Use GitHub Issues to report a technical problem with the provided course repository, starter files, documentation, or course tools.
Use GitHub Discussions for repository-related questions when appropriate. Do not ask for or post completed solutions to graded project or milestone work.
Post questions about course content that are not specific to this repository in your section's General Questions discussion topic.
For questions about submissions, grading, deadlines, accommodations, or instructor feedback, contact your instructor through D2L Brightspace.
Keep your personal project repository private. Do not publish completed project solutions or post them in public Discussions, Issues, forums, or answer-sharing sites.
If you use generative AI or other outside sources while working on a graded activity, follow the current course and assignment guidance. Acknowledge and cite sources when required. The repository Wiki includes additional guidance, but the current D2L activity instructions control if they differ.