You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
4.7 KiB
127 lines
4.7 KiB
# Landscaper
|
|
|
|

|
|
|
|
You'll be creating a simple, terminal-based PHP game.
|
|
|
|
#### Learning Objectives
|
|
|
|
- Putting everything you've learned so far together (arrays, loops, conditionals, functions)
|
|
|
|
#### Prerequisites
|
|
|
|
- PHP (arrays, loops, conditionals, functions)
|
|
|
|
---
|
|
|
|
## Getting Started
|
|
|
|
1. Create a `landscaper.php` inside this folder.
|
|
|
|
## Landscaper
|
|
|
|
1. You are starting a landscaping business, but all you have are your teeth.
|
|
1. Using just your teeth, you can spend the day cutting lawns and make $1. You can do this as much as you want.
|
|
|
|
<hr>
|
|
🔴 <b>Commit your work!</b> <br>
|
|
Your commit message should read something like: <br>
|
|
"landscaper: user can use teeth to cut grass"
|
|
<hr>
|
|
|
|
1. At any point, if you are currently using your teeth, you can buy a pair of rusty scissors for $5. You can do this once, assuming you have enough money.
|
|
|
|
<hr>
|
|
🔴 <b>Commit your work!</b> <br>
|
|
Your commit message should read something like: <br>
|
|
"landscaper: user can buy scissors"
|
|
<hr>
|
|
|
|
1. Using the rusty scissors, you can spend the day cutting lawns and make $5. You can do this as much as you want.
|
|
|
|
<hr>
|
|
🔴 Commit: <br>
|
|
"Landscaper App: user can use scissors to cut grass"
|
|
<hr>
|
|
|
|
1. At any point, if you are currently using rusty scissors, you can buy an old-timey push lawnmower for $25. You can do this once, assuming you have enough money.
|
|
|
|
<hr>
|
|
🔴 <b>Commit your work!</b> <br>
|
|
Your commit message should read something like: <br>
|
|
"landscaper: user can buy push lawnmower"
|
|
<hr>
|
|
|
|
1. Using the old-timey push lawnmower, you can spend the day cutting lawns and make $50. You can do this as much as you want.
|
|
|
|
<hr>
|
|
🔴 <b>Commit your work!</b> <br>
|
|
Your commit message should read something like: <br>
|
|
"landscaper: user can use push lawnmower to cut grass"
|
|
<hr>
|
|
|
|
1. At any point, if you are currently using the old-timey push lawnmower, you can buy a fancy battery-powered lawnmower for $250. You can do this once, assuming you have enough money.
|
|
|
|
<hr>
|
|
🔴 <b>Commit your work!</b><br>
|
|
Your commit message should read something like: <br>
|
|
"landscaper: user can buy battery-powered lawnmower"
|
|
<hr>
|
|
|
|
1. Using the the fancy battery-powered lawnmower, you can spend the day cutting lawns and make $100. You can do this as much as you want.
|
|
|
|
<hr>
|
|
🔴 <b>Commit your work!</b> <br>
|
|
Your commit message should read something like: <br>
|
|
"landscaper: user can use battery-powered lawnmower to cut grass"
|
|
<hr>
|
|
|
|
1. At any point, if you are currently using the fancy battery-powered lawnmower, you can hire a team of starving students for $500. You can do this once, assuming you have enough money.
|
|
|
|
<hr>
|
|
🔴 <b>Commit your work!</b> <br>
|
|
Your commit message should read something like: <br>
|
|
"landscaper: user can hire a team"
|
|
<hr>
|
|
|
|
1. Using the the team of starving students, you can spend the day cutting lawns and make $250. You can do this as much as you want.
|
|
|
|
<hr>
|
|
🔴 <b>Commit your work!</b> <br>
|
|
Your commit message should read something like: <br>
|
|
"landscaper: user can use a team to cut grass"
|
|
<hr>
|
|
|
|
1. You win the game when you have a team of starving students and $1000. In this situation, send a message to the user telling them, they've won.
|
|
|
|
<hr>
|
|
🔴 <b>Commit your work!</b> <br>
|
|
Your commit message should read something like: <br>
|
|
"landscaper: win scenario"
|
|
<hr>
|
|
|
|
|
|
## Deliverables
|
|
|
|
For this section of the homework, inside the `landscaper` folder you should have an and `app.php` that simulates the landscaper game outlined above. Your app must have:
|
|
|
|
- The ability to take user input
|
|
- The ability for the user to earn money
|
|
- The ability to buy tools and use the new tool
|
|
- The ability to win the game and end it
|
|
- _Hint:_ Try setting the win amount to $10 frst, then $50, and etc. until you get to the end to allow for easier testing!
|
|
|
|
## Technical Requirements
|
|
1. Your landscaper game *must* run on first load with no syntax errors
|
|
1. If there are errors you can't solve, comment them out and leave a comment above it explaining what is wrong
|
|
|
|
## Submission Guidelines
|
|
|
|
- Submit your homework via github issues and please don't forget to fill out the form!
|
|
|
|
## Hungry for More?
|
|
|
|
1. Add the ability to reset the game at any point so that you can play again
|
|
1. Make it so that a user can have multiple tools, and money earned each day is increased appropriately (e.g. 2 scissors, and an old-timey push lawnmower means you earn $60/day )
|
|
1. Once you've implemented multiple tools, make it so you can sell tools for half price
|