Я пытаюсь создать игру-симулятор кассового аппарата и столкнулся с проблемой с условным оператором, который я использую, чтобы проверить, предоставляется ли клиенту правильное изменение и нажимается ли кнопка или нет.В этой игре пользователь может видеть сумму продажи, а также сумму, которую платит клиент.Имея эту информацию, они должны щелкнуть по ячейкам кассового ящика, что увеличит переменную с именем changeCount на значение выбранной ими денежной единицы.
Я использую оператор if, чтобы перенести их в следующий кадр ifchangeCount = payment-sale и кнопка подтверждения была нажата.Чтобы проверить кнопку, я использую логическое значение, чтобы увидеть, нажата она или нет.По какой-то причине он не регистрирует обновленное значение changeCount, чтобы оператор if работал.Кто-нибудь знает, почему это будет?Если я отслеживаю значение с помощью trace (changeCount);он вернет значение, которое я хочу.Исходный код вставлен ниже:
package
{
public class CashierMain extends MovieClip
{
private var confirmBtn:ConfirmButton;
private var pennyBtn:PennyButton;
private var dimeBtn:DimeButton;
private var nickelBtn:NickelButton;
private var quarterBtn:QuarterButton;
private var oneBtn:OneButton;
private var fiveBtn:FiveButton;
private var tenBtn:TenButton;
private var twentyBtn:TwentyButton;
private var changeCount:Number;
private var payment:int;
private var sale:Number;
private var clicked:Boolean;
private var total:Number;
public function startCashierMain()
{
//instantiating change count
changeCount = 0;
clicked = false;
sale = Math.random() * 50;
payment = Math.random() * 20 + sale;
total = payment - sale;
showPayment();
showChangeCount();
showSale();
showTotal();
//creating visuals
confirmBtn = new ConfirmButton();
confirmBtn.x = 450;
confirmBtn.y = 85;
addChild(confirmBtn);
pennyBtn = new PennyButton();
pennyBtn.x = 100;
pennyBtn.y = 50;
addChild(pennyBtn);
nickelBtn = new NickelButton();
nickelBtn.x = 175;
nickelBtn.y = 50;
addChild(nickelBtn);
dimeBtn = new DimeButton();
dimeBtn.x = 250;
dimeBtn.y = 50;
addChild(dimeBtn);
quarterBtn = new QuarterButton();
quarterBtn.x = 315;
quarterBtn.y = 50;
addChild(quarterBtn);
oneBtn = new OneButton();
oneBtn.x = 75;
oneBtn.y = 200;
addChild(oneBtn);
fiveBtn = new FiveButton();
fiveBtn.x = 200;
fiveBtn.y = 200;
addChild(fiveBtn);
tenBtn = new TenButton();
tenBtn.x = 325;
tenBtn.y = 200;
addChild(tenBtn);
twentyBtn = new TwentyButton();
twentyBtn.x = 450;
twentyBtn.y = 200;
addChild(twentyBtn);
//Listeners
pennyBtn.addEventListener(MouseEvent.CLICK,clickPenny);
nickelBtn.addEventListener(MouseEvent.CLICK,clickNickel);
dimeBtn.addEventListener(MouseEvent.CLICK,clickDime);
quarterBtn.addEventListener(MouseEvent.CLICK,clickQuarter);
oneBtn.addEventListener(MouseEvent.CLICK,clickOne);
fiveBtn.addEventListener(MouseEvent.CLICK,clickFive);
tenBtn.addEventListener(MouseEvent.CLICK,clickTen);
twentyBtn.addEventListener(MouseEvent.CLICK,clickTwenty);
confirmBtn.addEventListener(MouseEvent.CLICK, clickConfirm);
}
public function clickPenny(event:MouseEvent)
{
changeCount += .01;
showChangeCount();
}
public function clickNickel(event:MouseEvent)
{
changeCount += .05;
showChangeCount();
}
public function clickDime(event:MouseEvent)
{
changeCount += .10;
showChangeCount();
}
public function clickQuarter(event:MouseEvent)
{
changeCount += .25;
showChangeCount();
}
public function clickOne(event:MouseEvent)
{
changeCount += 1;
showChangeCount();
}
public function clickFive(event:MouseEvent)
{
changeCount += 5;
showChangeCount();
}
public function clickTen(event:MouseEvent)
{
changeCount += 10;
showChangeCount();
}
public function clickTwenty(event:MouseEvent)
{
changeCount += 20;
showChangeCount();
}
public function showChangeCount()
{
showChange.text = String("Change Tendered $ " + changeCount.toFixed(2));
}
public function showPayment()
{
paid.text = String("Amount Paid $ " + payment);
}
public function showSale()
{
totalSale.text = String("Cost of Sale " + sale.toFixed(2));
}
public function showTotal()
{
totaled.text = String("total $ " + total.toFixed(2));
}
public function clickConfirm(event:MouseEvent)
{
if (total == changeCount && clicked == false)
{
gotoAndPlay("next");
}
}
}
}
Я довольно новичок на этом сайте, поэтому, если мой вопрос кажется расплывчатым или вы не понимаете, о чем я спрашиваю, почувствуйтесвободно, чтобы я прояснил что-нибудь.Спасибо всем за помощь.