1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-07 17:44:22 +03:00
inform7/resources/Documentation/Examples/WidgetEnterprises.txt
2023-07-24 11:56:58 +01:00

60 lines
2.6 KiB
Plaintext

Example: * Widget Enterprises
Location: Equations
RecipeLocation: Money
Index: Equation used for price curves
Description: Allowing the player to set a price for a widget on sale, then determining the resulting sales based on consumer demand, and the resulting profit and loss.
For: Z-Machine
Suppose the player is responsible for pricing at Widget Enterprises. Widget production entails a certain fixed cost as well as a cost per unit; and somewhere out in the world there are a number of customers interested in purchasing widgets, but the player starts without knowing what this distribution looks like.
We can express the profits as an equation: the total made by selling widgets, minus the cost thereof.
The Table of Customers holds the data about customer preferences, and whenever the player selects a widget price, we consult it to determine how many customers in total would be willing to buy at that price.
{*}"Widget Enterprises"
Widget Stand is a room.
A monetary value is a kind of value. $1.99 specifies a monetary value with parts dollars and cents.
Equation - Profit Equation
P = nV - (F + nC)
where P is a monetary value, F is the fixed cost, C is the unit cost, V is a monetary value, and n is a number.
The fixed cost is a monetary value that varies. The fixed cost is $5.00.
The unit cost is a monetary value that varies. The unit cost is $10.66.
Table of Customers
base maximum value
2 $26.00
5 $20.00
8 $15.00
2 $13.50
1 $9.00
To decide what number is the units sold at (V - a monetary value):
let total units be 0;
repeat through the Table of Customers:
if V is less than the maximum value entry:
increase total units by the base entry;
decide on total units.
Understand "set price to [monetary value]" as setting price to. Setting price to is an action applying to one monetary value.
Carry out setting price to:
let V be the monetary value understood;
let n be the units sold at the monetary value understood;
let P be given by the Profit Equation;
say "You set the price of your widgets to [V], resulting in sales of [n] unit[s] and ";
if P is less than $0.00:
let L be $0.00 - P;
say "a loss of [L].";
otherwise if P is $0.00:
say "break even.";
otherwise:
say "a profit of [P].".
Test me with "set price to $0.00 / set price to $100.00 / set price to $15.00 / set price to $8.00 / set price to $25.00 / set price to $14.99".
As written this will be a rather dull guessing game for the player; more interesting would be to enhance it into a fuller economic simulator with more control over fixed costs and customer price points.