Giter Club home page Giter Club logo

gone-fishing's Introduction

Gone Fishing ๐ŸŸ

In this assignment, you'll create a fishing simulator game that lets the user decide whether to catch or release randomly generated fish.

The goal is to catch the highest value worth of fish to later sell at the fish market. With that said, the fisher is only allowed to catch 10 lbs of fish maximum and can only fish for six hours.

Each fish that the user catches should have a randomly generated name consisting of two desciptors and a type of fish (i.e.: 'Enormous Red Trout'). Additionally, each fish should have a randomly generated weight and value.

Finally, lets assume that it takes one hour to catch each fish.

Requirements ๐Ÿ“‹

  • The user is able to 'catch' fish with randomly generated names, weights, and values
  • The time of day is shown to the user
  • The user can only fish for six hours
  • The user can only catch at maximum 10 lbs of fish
  • Each turn, the sum of the user's caught fishes' weight and value is displayed
  • At the end of the game, all the fish that the user caught are displayed along with a sum of their weight and value

As long as you work within these requirements, take as many creative liberties as you like!

Example ๐Ÿ“–

You've gone fishing! Try to maximize the value of your caught fish. You can fish
for six hours (till 12:00pm) and can catch at most 10 lbs of fish.

==========================================

The time is 6:00am. So far you've caught:
0 fish, 0 lbs, $0.00

You caught a 'Slimy Scaly Bass' weighing 0.24 lbs
and valued at $3.12

Your action: [c]atch or [r]elease?
> c

You chose to keep the fish.

==========================================

The time is 7:00am. So far you've caught:
1 fish, 0.24 lbs, $3.12

You caught a 'Deepsea Finned Salmon' weighing 4.50 lbs
and valued at $9.24

Your action: [c]atch or [r]elease?
> r

You chose to release the fish.

==========================================

Some time later...

==========================================

The time is 11:00am. So far you've caught:
2 fish, 9.8 lbs, $25.30

You caught a 'Purple Bigmouthed Herring' weighing 1.42 lbs
and valued at $0.05

This fish would put you over 10 lbs, so you release it.

Press [enter] to continue.
>

==========================================

The time is 12:00pm. Times up!

You caught 2 fish:
* Slimy Scaly Bass, 0.24 lbs, $3.12
* Grey Bottom-dwelling Angler, 9.56 lbs, $22.18

Total weight: 9.8 lbs
Total value: $25.30

Hints โ“

Once again, check out HINTS.md for hints on how to build this.

Stretch Goals ๐Ÿš€

Tune your randomly generated weights

Tune the minimum and maximum values for your randomly generated fish weights to make the user's catch/release decisions non-trivial.

Add realism to the passing of time

Make the amount of time required to catch a fish vary each time instead of always taking exactly one hour! Try randomly generating a new time between 15min and 1.5hrs.

Give the user a chance to catch a golden doubloon

Give the user a 1/10 (or similar) chance to catch a high-value golden doubloon each turn.

Additionally, give them a 1/10 chance to catch a valueless boot!

Allow the user to chum the water

Add an additional action that allows the user to chum the water with bait. This should take some amount of time (30min?) but in turn increase the speed at which fish are biting.

Allow the user to release fish caught on previous turns

Add a mechanism that allows the user the ability to release fish caught on a previous turn. That way the fisher won't have to worry about filling up their net with low-value fish.

gone-fishing's People

Contributors

alexcrist avatar glf30 avatar meshas32 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.