Giter Club home page Giter Club logo

lemonade-stand's Introduction

Lemonade Stand

See more on FOSS@RIT project profile

Educational game where player manages a lemonade stand to make as much money as possible; teaches money and fractional math skills to teach basic operations

Screenshot from gameplay

RUN INSTRUCTIONS

To run the game, you must have pygame installed. The game also requires the fortune engine installed. You may find it in the fortune hunter wiki: https://fedorahosted.org/fortune_hunter/wiki/FortuneEngine

To start the game by running LemonadeStand.py as a standalone program. To start it on an XO, after installing just click the Lemonade Icon which will run the activity.py file.

GAME PLAY INSTRUCTIONS

To begin, click on the Lemonade stand icon on your XO. The game will start immediately.

The game has two cycles per day. The first cycle allows the user to purchase their supplies for the day. Once the user has selected their supplies, the game will run the simulation. The second phase of the day is the counting mini game. The user must select the amount of money they made by selling your lemonade. If they fail to correct the amount, they will not get the money for the day.

Sales depend on the weather, so be sure to notice the forecast for the next day! Also, be aware that lemons do go bad, so don't hold onto them too long.

Occasionally, random events will occur giving you extra resources or removing more resources than normal. Try it out and see how much you can make!

lemonade-stand's People

Contributors

davesilver avatar dawacker avatar jenneh avatar jlew avatar jtmengel avatar jwflory avatar qalthos avatar tatica avatar thengrad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

kevinmel2000

lemonade-stand's Issues

Language and Item Set Screen

Implement a new language and item set selection screen before the main menu is displayed. Allow users to exit the game and return back to the beginning to select a new item set and or language.

Research Outline

Basis for the Research Paper
-> Start with a timeline of all the work that has been proposed, planned, or done
-> Scan through blog posts for completion of tickets
-> Describe any and all playtests thoroughly
-> Look into theories/books about gamification, and the effect of Badges on one's education.

Journal Archive Manipulation

Journal now works. Now we need to make sure we save the correct data, and are able to access that data.

--> Lemonade Stand Data Saved Correctly
-->Access Saved Data

Updating Logs after each event

The Logs can be cleaned up and reformatted in a more child-friendly output.
-> Have the logs be separate from entering the money in the register
-> Make the logs more readable
-->> Readjust font
-->> Not have a blob of text
-->> Removing unnecessary information

XO - XS Connectivity

XO's need to communicate with the school server. Once we have a school server up and running
->establish a connection between an XO laptop and the school server
->send some type of data to the server from the XO

  • send some type of data from the XO to the server

Dependency Deprecated

Hey, I just tried installing the dependencies for lemonade-stand. I got pygames, however, I couldn't find Fortune Engine. The link provided is a dead page now:
https://fedorahosted.org/fortune_hunter/wiki/FortuneEngine

Not sure who would be the best person to ask about this issue. @jwflory would you happen to know where I can find this dependency? I can update the readme after I get it running. I tried googling for this engine but, it doesn't appear to be very popular -- or at least anymore.

Lemonade stand showing up in journal

As an activity, Lemonade Stand should show up in the Journal on the XO laptops.
-> Discover a way to have Lemonade Stand showing up in the Journal
-> After discovering why it won't show up in the journal, see if there is a way to save game data to the datastore file.

Dynamic Set Loading

Be able to load in different types or sets of stands.

For example:
->Hamburger Stand -American or whatever
->Teriyaki Stand -Japanese
->Bratwurst Stand -German

Create a real dynamic way of loading in different sets of stands for localization purposes.

MENU: Tutorial and Modes

A menu is needed for Lemonade Stand to become better organized and explained.

menu--> Tutorial -->menu
menu--> Play --> Difficulty--> Game

A TUTORIAL is needed to show the users how to interact with the game and the rules.
A PLAY should be just the normal game that never ends and allows the user to accumulate as much money as they want.
A CHALLENGE mode should be implemented to add an end state to the game. This function should be where we issue most of our badges.

Supply numbers and Shop changes

The supplies can only be bought in fixed bulk amounts not easily grasped by the kids playing the game.
-> Implement buying single items (perhaps only on easy difficulty)
-> Clearly describe recipes and how much of each supply is necessary
-> Explain that certain supplies are bought in bulk
-->> Boxes/Bags of sugar
-->> Bundles of cups
-->> perhaps allow for a bulk version of Lemons on a harder difficulty

Badge Viewing Activity

Our project revolves around making Mozilla Open Badges applicable to the Lemonade Stand game and XO Laptops. XO laptops however, have no way to view Badges without going online.
-> Implement an activity to allow users to view acquired badges
-> Activity can also show what badges are possible to receive and under which conditions
-> Maybe cool graphic with Sash covered in badges acquired (optional)

Negative Effects

Negative Effects currently do not affect large numbers of goods.
-> Implement proportional negative effects to counterbalance profits
-->> More sugar attracts more ants
-->> Additional other negative events (optional)
-> Enable the unused code for lemon decay (optional)
-> Have Negative Effects adjust by difficulty

Open Badges Research - School Servers

The Open Badges system is already in place, it's our job to connect functionality to the XO Laptops and Lemonade Stand
-> Implementing the system onto XS School Servers
-->> Creating Badge Repository
-->> Writing Scripts to connect XS School Servers as an intermediary between XOs and Open Badges Backpacks
--->>> Allowing XO users to acquire badges
--->>> Allotting Badges when queried by/connected to XO Laptops

Reputation

Create reputation to enhance how many cups of lemonade are sold. This can tie into what area you are currently in and how many cups you can sell depending on if people like you are not. This can also lead to new badges.

End condition / Challenge mode

The game currently goes on indefinitely, with no end and no way to save a game to continue later.
-> A Day limit or challenge mode could be optional from the play menu
-> When the day limit is reached, the game ends, and the player's score is calculated
-->> Score could be dependent on money alone or money and supplies
-->> Higher difficulties could have a score multiplier
-> Challenges could be season specific (optional)

Implementing Seasons

The Game's weather switches between only three possibilities, each with a limited amount of effect on sales.
-> Seasons would make certain types of weather more likely
-> Temperature implied with season change
-> Seasons would last 90 days

Locations

The game currently only allows for one location of your lemonade stand, a nondescript park.
-> Additional locations can be rented out for greater sales potential
-->> Rent differs by location
-->> Some locations have better potential depending on weather
-> Can work in conjunction with seasons as well (optional)

UI Cleanup

Visual Feedback:
-Change shop colors to provide users with better information on what they are doing
-black and white

---Money Mini-Game
-add functionality to draw a new screen for the money mini-game

photo
-reference picture added

-add functionality that highlights the currency words similarly to the shop window
-position log information to the correct places on the new screen
-repair incorrect/correct message to display only once to the user

Upgrades for your stand

The Lemonade stand graphic never changes, and when high levels of supply are achieved, makes less and less practical sense.
-> Decide what additional features a larger stand can have
-->> Larger Stands have greater appeal, allow for more sales.
-->> Larger Stand can allow space for tools to be purchased (optional)
--->>> Juicer (less lemons required per sale)
--->>> Cooler (Lemons, Ice, and Strawberries last longer before decaying)

Open Badges Research - Database

We'll need to understand how badges work and/or are created
Open Badges uses an MVC architecture
-> Understand their database structure
-->> Organization of Badges
-->> Data of Badges - what badge files are

Open Badges Research - issuing badges

Mozilla has a system for creating and issuing badges, along with a list of groups that do.
-> Join their lists of creators and Issuers
-> Develop badges for XO laptops/Lemonade Stand
-> Add the Badges to their database
-> Understand the configuration of Badge Files (optional)

Open Badges Research - Interface

We'll need to understand how badges work and/or are created
Open Badges uses an MVC architecture
-> Understand their interface structure
-->> Addition and Removal of Badges
-->> Manipulation of data in the database
-->> Any other functions it is capable of

Additional ingredients

Once the normal game is understood, additional ingredients can add additional challenges to the game
-> Ice Cubes
-->> Ice can melt if not used, just as lemons would decay
-->> Ice would be more or less effective depending on the weather
-> Strawberries
-->> Somewhat already implemented
-->> Optional, Strawberry lemonade could sell more but isn't necessary

Custom Recipes

There is only one recipe in the game, 3 sugars, 2 lemons, and 1 cup per sale of lemonade.
-> Allow users to change the amounts of supplies per cup
-> Different weather would allow for greater sale of certain recipes.
-> This feature could be capitalized upon with optional ingredients (Ice cubes, Strawberries)

Setting Difficulty

This began to be enabled in the code, but wasn't implemented in the version we have. What Setting difficulty entails:
-> Deciding where/when difficulty can be changed from the menu
-> Deciding what changes to the game each difficulty represents
-> Implementing changes into the game

Open Badges Research - Allottment

We'll need to understand how badges work and/or are created
Open Badges uses an MVC architecture
-> Understand how the allotment of badges is implemented
-->> What the system does when conditions are met
-->> How Badges get transmitted to those qualified
-->> Lead into School Server repository?

Information Intro

Tell the user to use the arrow keys to select different items, not the mouse. (unclear during playtesting)

Spanish Release of Lemonade Stand

To ensure that Get-text works with our project we want to make a runnable version in a language we can translate and somewhat already know.
-> Edit all in-game text to spanish using get-text
-> Follow up with editing
-> Make sure grammar is still sensible after translation

Farm / Factory / Plantation Networking

The game can be taken to a point where the player will have ridiculous amounts of money and no expensive items to use it on.
-> The player can start networking with suppliers of the given supplies
-> With enough money the player could purchase supply production location
-->> Lemon Farm: Lemons would never need to be bought again
-->> Sugar Plantation: Sugar would never needs to be bought again
-->> Polyurethane Factory: Cups would never need to be bought again

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.