Я пытаюсь настроить виртуальный автобусный торговый автомат в анимации Adobe Flash (Animate).
Предполагается, что вы должны ввести точный тариф в слот, поскольку водители не несут сдачу.Точный тариф составляет 2 доллара.Машина принимает номиналы в 5 центов, 10 центов, 25 центов, 1, 5, 10 и 20 долларов.Если будет введено что-то более 2 долларов США, появится сообщение «Точный тариф только, пожалуйста. Водители не могут предоставить сдачу».Таким образом, в этом случае сработают только номиналы в 5, 10, 25 и 1 цент, но их необходимо ввести, чтобы получить в сумме ровно 2 доллара.
Приведенный ниже код корректно работает для 25 центов и 1 доллара.деноминации одни и в комбинации, но работают беспорядочно, когда 5 центов и 10 центов используются по отдельности или включаются в комбинации с 25 центами и 1 долларом США.Например, если вы попытаетесь набрать 2 доллара, используя только 10 центов, общая сумма достигнет 1,90, но вы не выплатите тариф при вводе последних 10 центов.Вместо этого появляется всплывающее сообщение «Точный тариф только пожалуйста».Если затем вы добавите никель, общая сумма достигнет $ 1,95, но снова не будет выплачивать плату за проезд при вводе конечного никеля.Вместо этого всплывающее окно «Точный тариф только, пожалуйста».сообщение срабатывает снова.
Ввод $ 1, а затем еще $ 1 работает отлично.Ввод 8 кварталов работает так же, как ввод 1 и 4 кварталов.Не могу понять, в чем проблема.Буду признателен за любую помощь.Спасибо!
Код указан ниже:
var Cash = 00.00
var payola = Money.text = "02.00";
Money.text = "$" + Cash.toFixed(2);
popup.visible = false;
nickel_btn.addEventListener(MouseEvent.CLICK, add5cents);
function add5cents(event:MouseEvent):void
{
nickelcoin_mc.gotoAndPlay ("nickel_pay");
Cash+=00.05;
Money.text = "$" + Cash.toFixed(2);
if(Cash == payola){
setTimeout(delay, 500);
function delay(){
gotoAndStop(46);
}
}
if(Cash > payola){
nickelcoin_mc.gotoAndPlay ("nickel_nopay");
Cash-=00.05;
Money.text = "$" + Cash.toFixed(2);
popup.visible = true;
}
else {
popup.visible = false;
}
}
dime_btn.addEventListener(MouseEvent.CLICK, add10cents);
function add10cents(event:MouseEvent):void
{
dimecoin_mc.gotoAndPlay ("dime_pay");
Cash+=00.10;
Money.text = "$" + Cash.toFixed(2);
if(Cash == payola){
setTimeout(delay, 500);
function delay(){
gotoAndStop(46);
}
}
if(Cash > payola){
dimecoin_mc.gotoAndPlay ("dime_nopay");
Cash-=00.10;
Money.text = "$" + Cash.toFixed(2);
popup.visible = true;
}
else {
popup.visible = false;
}
}
quarter_btn.addEventListener(MouseEvent.CLICK, add25cents);
function add25cents(event:MouseEvent):void
{
quartercoin_mc.gotoAndPlay ("quarter_pay");
Cash+=00.25;
Money.text = "$" + Cash.toFixed(2);
if(Cash == payola){
setTimeout(delay, 500);
function delay(){
gotoAndStop(46);
}
}
if(Cash > payola){
quartercoin_mc.gotoAndPlay ("quarter_nopay");
Cash-=00.25;
Money.text = "$" + Cash.toFixed(2);
popup.visible = true;
}
else {
popup.visible = false;
}
}
one_btn.addEventListener(MouseEvent.CLICK, add$1);
function add$1(event:MouseEvent):void
{
onebill_mc.gotoAndPlay ("one_pay");
Cash+=01.00;
Money.text = "$" + Cash.toFixed(2);
if(Cash == payola){
setTimeout(delay, 500);
function delay(){
gotoAndStop(46);
}
}
if(Cash > payola){
onebill_mc.gotoAndPlay ("one_nopay");
Cash-=01.00;
Money.text = "$" + Cash.toFixed(2);
popup.visible = true;
}
else {
popup.visible = false;
}
}
five_btn.addEventListener(MouseEvent.CLICK, add$5);
function add$5(event:MouseEvent):void
{
fivebill_mc.gotoAndPlay ("five_pay");
Cash+=05.00;
Money.text = "$" + Cash.toFixed(2);
if(Cash == payola){
setTimeout(delay, 500);
function delay(){
gotoAndStop(46);
}
}
if(Cash > payola){
fivebill_mc.gotoAndPlay ("five_nopay");
Cash-=05.00;
Money.text = "$" + Cash.toFixed(2);
popup.visible = true;
}
else {
popup.visible = false;
}
}
ten_btn.addEventListener(MouseEvent.CLICK, add$10);
function add$10(event:MouseEvent):void
{
tenbill_mc.gotoAndPlay ("ten_pay");
Cash+=10.00;
Money.text = "$" + Cash.toFixed(2);
if(Cash == payola){
setTimeout(delay, 500);
function delay(){
gotoAndStop(46);
}
}
if(Cash > payola){
tenbill_mc.gotoAndPlay ("ten_nopay");
Cash-=10.00;
Money.text = "$" + Cash.toFixed(2);
popup.visible = true;
}
else {
popup.visible = false;
}
}
twenty_btn.addEventListener(MouseEvent.CLICK, add$20);
function add$20(event:MouseEvent):void
{
twentybill_mc.gotoAndPlay ("twenty_pay");
Cash+=20.00;
Money.text = "$" + Cash.toFixed(2);
if(Cash == payola){
setTimeout(delay, 500);
function delay(){
gotoAndStop(46);
}
}
if(Cash > payola){
twentybill_mc.gotoAndPlay ("twenty_nopay");
Cash-=20.00;
Money.text = "$" + Cash.toFixed(2);
popup.visible = true;
}
else {
popup.visible = false;
}
}
stop();