public CoinReturnButton(MachineControl control) { this.control = control; }
public CoinInserter(MachineControl control, int index) { this.control = control; this.index = index; }
public PurchaseButton(MachineControl control, int index) { this.control = control; this.index = index; }
/// <summary> /// Initializes objects and sets up connections among all of them. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_Load(object sender, EventArgs e) { amountDisplay = new AmountDisplay(txtAmount); displayNum10Yen = new DebugDisplay(txtNum10Yen); displayNum50Yen = new DebugDisplay(txtNum50Yen); displayNum100Yen = new DebugDisplay(txtNum100Yen); displayNum500Yen = new DebugDisplay(txtNum500Yen); displayPrice0 = new DebugDisplay(txtPrice0); displayPrice1 = new DebugDisplay(txtPrice1); displayPrice2 = new DebugDisplay(txtPrice2); displayPrice3 = new DebugDisplay(txtPrice3); displayName0 = new DebugDisplay(txtName0); displayName1 = new DebugDisplay(txtName1); displayName2 = new DebugDisplay(txtName2); displayName3 = new DebugDisplay(txtName3); displayNumCans0 = new DebugDisplay(txtNumCan0); displayNumCans1 = new DebugDisplay(txtNumCan1); displayNumCans2 = new DebugDisplay(txtNumCan2); displayNumCans3 = new DebugDisplay(txtNumCan3); soldOutLight0 = new Light(pbxSOLight0, Color.Orange); soldOutLight1 = new Light(pbxSOLight1, Color.Orange); soldOutLight2 = new Light(pbxSOLight2, Color.Orange); soldOutLight3 = new Light(pbxSOLight3, Color.Orange); noChangeLight = new TimerLight(pbxNoChange, Color.Red, timer1); purchasableLight0 = new Light(pbxPurLight0, Color.Aqua); purchasableLight1 = new Light(pbxPurLight1, Color.Aqua); purchasableLight2 = new Light(pbxPurLight2, Color.Aqua); purchasableLight3 = new Light(pbxPurLight3, Color.Aqua); coinDispenser10Yen = new CoinDispenser(txtChange10Yen); coinDispenser50Yen = new CoinDispenser(txtChange50Yen); coinDispenser100Yen = new CoinDispenser(txtChange100Yen); coinDispenser500Yen = new CoinDispenser(txtChange500Yen); // All candispensers share the same output textbox for simulation canDispenser0 = new CanDispenser(txtCanDispenser, CANNAMES[0]); canDispenser1 = new CanDispenser(txtCanDispenser, CANNAMES[1]); canDispenser2 = new CanDispenser(txtCanDispenser, CANNAMES[2]); canDispenser3 = new CanDispenser(txtCanDispenser, CANNAMES[3]); // Instantiate your entity and control objects // Connect these objects drinks = new List <Drink>(); drinks.Add(new Drink(NUMCANS[0], CANPRICES[0], soldOutLight0, purchasableLight0, canDispenser0)); drinks.Add(new Drink(NUMCANS[1], CANPRICES[1], soldOutLight1, purchasableLight1, canDispenser1)); drinks.Add(new Drink(NUMCANS[2], CANPRICES[2], soldOutLight2, purchasableLight2, canDispenser2)); drinks.Add(new Drink(NUMCANS[3], CANPRICES[3], soldOutLight3, purchasableLight3, canDispenser3)); coins = new Coin[NUMCOINTYPES]; coins[0] = new Coin(COINVALUES[0], NUMCOINS[0], coinDispenser10Yen); coins[1] = new Coin(COINVALUES[1], NUMCOINS[1], coinDispenser50Yen); coins[2] = new Coin(COINVALUES[2], NUMCOINS[2], coinDispenser100Yen); coins[3] = new Coin(COINVALUES[3], NUMCOINS[3], coinDispenser500Yen); control = new MachineControl(drinks, coins, amountDisplay, noChangeLight); // You must replace the following default constructors with // constructors with arguments (non-default constructors) // to pass (set) the first object that ButtonPressed() will // visit purchaseButton0 = new PurchaseButton(control, 0); purchaseButton1 = new PurchaseButton(control, 1); purchaseButton2 = new PurchaseButton(control, 2); purchaseButton3 = new PurchaseButton(control, 3); // You must replace the following default constructors with // constructors that take armuments to pass the first object that // the CoinInserted() will call coinInserter10Yen = new CoinInserter(control, 0); coinInserter50Yen = new CoinInserter(control, 1); coinInserter100Yen = new CoinInserter(control, 2); coinInserter500Yen = new CoinInserter(control, 3); coinReturnButton = new CoinReturnButton(control); // Display debug information displayCanPricesAndNames(); updateDebugDisplays(); }