Ejemplo n.º 1
0
        public void GrabReturnedCoinWhileHoldingCoin()
        {
            CoinDisplayManager manager = CoinDisplayManager.getCoinDisplaymanager();

            var mech1 = CoinDisplayManager.CoinMechs.Mech1;
            var mech2 = CoinDisplayManager.CoinMechs.Mech2;

            CoinDisplayManager.CoinMechs[] mechs = new CoinDisplayManager.CoinMechs[] { mech1, mech2 };

            foreach (var mech in mechs)
            {
                manager.DropCoin();

                //grab dime from the pile
                manager.CreateNewRandomCoin();
                while (manager.isPlayerCoinAQuarter())
                {
                    manager.CreateNewRandomCoin();
                }

                manager.InsertCoin(mech);

                // grab a quarter
                manager.CreateNewRandomCoin();
                while (!manager.isPlayerCoinAQuarter())
                {
                    manager.CreateNewRandomCoin();
                }

                manager.ProcessCoinReturnClick(mech);
                Assert.IsTrue(manager.isPlayerCoinAQuarter());            // player coin should still be a quarter
                Assert.AreEqual(1, manager.getNumberCoinsInReturn(mech)); // coins in mech should be 1;
            }
        }
Ejemplo n.º 2
0
        /**
         * Mouse Down for coin pile click and drag
         */
        private void GameBoxForm_MouseDown(object sender, MouseEventArgs e)
        {
            if (coinManager.IsOverCoinPile(e.X, e.Y))
            {
                coinManager.ProcessPileClicked();
            }

            CoinDisplayManager.CoinMechs slotClicked = coinManager.GetCoinSlotIsOver(e.X, e.Y);
            int creditsReceived = coinManager.InsertCoin(slotClicked);

            credit.AddCredit(creditsReceived);

            CoinDisplayManager.CoinMechs coinReturnClicked = coinManager.GetCoinReturnIsOver(e.X, e.Y);
            coinManager.ProcessCoinReturnClick(coinReturnClicked);

            Refresh();
        }
Ejemplo n.º 3
0
        public void MultipleCoinsInMechTest()
        {
            CoinDisplayManager manager = CoinDisplayManager.getCoinDisplaymanager();

            var mech1 = CoinDisplayManager.CoinMechs.Mech1;
            var mech2 = CoinDisplayManager.CoinMechs.Mech2;

            int iterations = 10;

            CoinDisplayManager.CoinMechs[] mechs = new CoinDisplayManager.CoinMechs[] { mech1, mech2 };

            foreach (var mech in mechs)
            {
                for (int i = 0; i < iterations; ++i)
                {
                    // Grab a dime from the pile
                    manager.CreateNewRandomCoin();
                    while (manager.isPlayerCoinAQuarter())
                    {
                        manager.CreateNewRandomCoin();
                    }

                    manager.InsertCoin(mech);
                }

                Assert.AreEqual(iterations, manager.getNumberCoinsInReturn(mech));
            }

            // Remove all coins from the returns
            foreach (var mech in mechs)
            {
                for (int i = 0; i < iterations; ++i)
                {
                    manager.ProcessCoinReturnClick(mech);
                    manager.DropCoin();
                }

                Assert.AreEqual(0, manager.getNumberCoinsInReturn(mech));
            }
        }