CRC Cards

Chef

An entity that is controlled by the player and is used to interact with the game. The player can switch between them at any time. Used to pick up ingredients and cook food at their respective stations, then deliver the food to the customer. Can carry multiple ingredients at a time and bin unnecessary items.
Stereotypes: Information holder, Controller & Service provider
Collaborators: Customer, Ingredient, Cooking station, Serving station, Bin Station, IngredientStack, Cutting station, Cooking station, Baking Station, KitchenCounter, Ingredient Station, Serving Station

Customer

Represents the food requests the chef has to make.
This object appears a set number of times throughout the game.
Will react positively or negatively to presented food.
The game is completed once all customers have received the correct food object.
Stereotypes: Information holder & Coordinator
Collaborators: Chef, Plate, GameState

GameState

Knows if enough customers have been served
Knows how many customers have been served
Can tell how much time has elapsed
Can answer if the round has come to an end
Stereotypes: Information holder
Collaborators: Result Screen, Customer

Ingredient Stack

Represents a stack of ingredients that can be carried around by a Chef
Ingredients can be added or removed from the top onto a station/table
Limited in the number of ingredients it supports
Stereotypes: Information holder/Structurer
Collaborators: Ingredient, Chef, Cooking station, Serving station, Bin Station, Cutting station, Cooking station, Baking Station, KitchenCounter, Ingredient Station

Ingredient

Represents the ingredient that can be processed to be used in a recipe
Keeps track of the current state that it is in (e.g. raw, chopped, cooked, etc)
Based on its current state, it has possible actions that can be carried out on a cooking station
Can be on an ingredient stack, or if it is cooked, it can be on a plate
Stereotypes: Information holder
Collaborators: Recipe, Cooking station, plate, ingredient stack.

Plate

Has a stack of cooked ingredients that can be part of a recipe
When given to a customer, the cooked ingredients are compared to the recipe requested
Stereotypes: Information holder
Collaborators: Ingredient, Customer

Recipe

Contains a list of ingredients that are needed to complete the recipe
Can check to see if a plate contains the required ingredients
Stereotypes: Information holder, Structurer
Collaborators: Ingredient, Plate

Bin Station

Know if the chef wants to bin the plate or the ingredient stack
If ingredient stack, empty the ingredient stack
If plate, empty the plate
Stereotypes: Information Holder, Service provider
Collaborators: Chef, IngredientStack, Plate

Cutting Station

Takes the top ingredient from the ingredient stack
Cut the ingredient in specified time
Know the chef at the station
Allow the chef to pick up the cut ingredient
Know the ingredient at the station
Stereotypes: Information Holder, Service provider
Collaborators: IngredientStack, Ingredient, Chef

Serving Station

Know the customer order
Compares the customer order and the want is on the plate
Know if the plate and the customer order match
If they match, new customer approaches
If they don’t match, time is added to the clock and customer stays until match
Knows the chef at the cooking station
Stereotypes: Information Holder, Service provider
Collaborators: Customer, Plate, GameState, Chef

Ingredient Station

Allow the chef to pick up an ingredient to add to the top of the stack
Know all the ingredients
Knows the chef at the station
Stereotypes: Information Holder, Service provider
Collaborators: Chef, Ingredient, IngredientStack

Kitchen Counter

Empty ingredient stack onto the table
Know the ingredients on the table
Allow the chef to pick up top ingredient of the stack
Allow the chef to pick up the entire stack of ingredients
Know the chef at the station
Stereotypes: Information Holder, Service provider
Collaborators: IngredientStack, Ingredient, Chef

Cooking Station

Take the first ingredient from the stack
Know the ingredient at the station
Cook the ingredient in a specified time
Know the chef that is using the station
Allow the chef to pick in ingredient and add it to the top of the ingredient stack
Stereotypes: Information Holder, Service provider
Collaborators: Chef, IngredientStack, Ingredient

Baking Station

Take the top ingredient from the stack
Know the ingredient at the station
Bake the ingredient for a specified time
Know the chef that is using the station
Allow the chef to pick up the baked ingredient
Stereotypes: Information Holder, Service provider
Collaborators: IngredientStack, Ingredient, Chef

Start Menu Screen

Menu to either:

Stereotype: Interfacer
Collaborators: GameState

Gameplay Screen

Screen where the actual game takes place with:

Stereotypes: Controller
Collaborators: GameState, Chef, Customer, Each station*, ingredient, plate

Tutorial Screen

Screen where a user is given instructions:

Stereotype: Interfacer
Collaborators: GameState

Settings Screen

Screen with:

Stereotype: Interfacer, Controller
Collaborators: Gameplay Screen

Result Screen

Screen to show:

Stereotype: Interfacer
Collaborators: GameState