mirror of
https://github.com/ganelson/inform.git
synced 2024-07-08 01:54:21 +03:00
56 lines
2.5 KiB
Plaintext
56 lines
2.5 KiB
Plaintext
* Equations
|
|
(Equation used for price curves; Widget Enterprises)
|
|
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.
|
|
|
|
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. |