Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define COOKIES_PER_BATCH 24;
- #define ROWS_PER_SHEET 3;
- #define COLUMNS_PER_SHEET 2;
- var bowl1, bowl2, platter;
- var wet_ingredients[] = { sugar, brown_sugar, melted_butter, milk, vanilla };
- var dry_ingredients[] = {flour, baking_soda, salt };
- var choc_chips, eggs[2];
- var oven;
- var baking_sheet[][] = new cookie[ROWS_PER_SHEET][COLUMNS_PER_SHEET];
- Main()
- {
- oven.Initialize(375);
- AddIngredients(wet_ingredients, ref bowl1);
- bowl1 += egg[0];
- egg[1] -= egg_white;
- bowl1 += egg[1];
- Cooking.Util.Mix(bowl1);
- AddIngredients(dry_ingredients, ref bowl2);
- CombineReceptacles(bowl2, ref bowl1);
- bowl1 += chocolate_chips;
- Cooking.Util.Mix(bowl1);
- bowl1 -= raw_dough / rand(100); // Source of "girlfriend likes raw dough" issue?
- while (bowl1.IsEmpty() == false)
- {
- CreateDropCookies(ref baking_sheet, bowl1);
- BakeCookies(baking_sheet);
- RemoveCookiesFromSheet(baking_sheet, ref platter);
- }
- }
- AddIngredients(ingredients, ref receptacle)
- {
- for (int ing_num = 0; ing_num < ingredients.count; ing_num++)
- {
- receptacle += ingredients[ing_num];
- }
- Cooking.Util.Mix(receptacle);
- }
- CombineReceptacles(src, ref dest)
- {
- // Risk buffer overrun if added all at once. Workaround: add in 4ths
- for (part = 0; part < 4; part++)
- {
- dest += memcpy(src + sizeof(src / 4), sizeof(src / 4));
- Cooking.Util.Mix(dest);
- }
- }
- CreateDropCookies(ref baking_sheet, bowl1)
- {
- for (row = 0; row < ROWS_PER_SHEET; row++)
- {
- for (column = 0; column < COLUMNS_PER_SHEET; column++)
- {
- if (bowl1.IsEmpty())
- {
- break;
- }
- var doughsize = sizeof(bowl1 / COOKIES_PER_BATCH);
- var doughball = new Doughball(bowl1, doughsize);
- baking_sheet[row][column] = doughball;
- bowl1 -= doughball;
- }
- }
- }
- BakeCookies(baking_sheet)
- {
- oven += baking_sheet;
- System.Util.Delay(840000); // 14 minutes. Switch to async timer for multitasking.
- oven -= baking_sheet;
- }
- RemoveCookiesFromSheet(baking_sheet, platter)
- {
- for (row = 0; row < ROWS_PER_SHEET; row++)
- {
- for (column = 0; column < COLUMNS_PER_SHEET; column++)
- {
- if (baking_sheet[row][column] != null)
- {
- platter.Add(baking_sheet[row][column]);
- baking_sheet[row][column] = null;
- }
- }
- }
- platter.Remove(1); // one for the cook!
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement