Ejemplo n.º 1
0
        public void IsPositionOverTest()
        {
            CoinDisplayManager manager = CoinDisplayManager.getCoinDisplaymanager();
            var mech1    = CoinDisplayManager.CoinMechs.Mech1;
            var mech2    = CoinDisplayManager.CoinMechs.Mech2;
            var mechNone = CoinDisplayManager.CoinMechs.None;

            // Test over Coin Pile
            var xLoc = (COIN_PILE.X + COIN_PILE.Width / 2);
            var yLoc = (COIN_PILE.Y + COIN_PILE.Height / 2);

            Assert.IsFalse(manager.IsOverCoinPile(0, 0));
            Assert.IsTrue(manager.IsOverCoinPile(xLoc, yLoc));

            // Test Over Coin Slots
            xLoc = (COIN_SLOT_1.X + COIN_SLOT_1.Width / 2);
            yLoc = (COIN_SLOT_1.Y + COIN_SLOT_1.Height / 2);
            Assert.AreEqual(mechNone, manager.GetCoinSlotIsOver(0, 0));
            Assert.AreEqual(mech1, manager.GetCoinSlotIsOver(xLoc, yLoc));

            xLoc = (COIN_SLOT_2.X + COIN_SLOT_2.Width / 2);
            yLoc = (COIN_SLOT_2.Y + COIN_SLOT_2.Height / 2);
            Assert.AreEqual(mech2, manager.GetCoinSlotIsOver(xLoc, yLoc));

            // Test over Coin Returns
            xLoc = (COIN_RETURN_1.X + COIN_RETURN_1.Width / 2);
            yLoc = (COIN_RETURN_1.Y + COIN_RETURN_1.Height / 2);
            Assert.AreEqual(mechNone, manager.GetCoinReturnIsOver(0, 0));
            Assert.AreEqual(mech1, manager.GetCoinReturnIsOver(xLoc, yLoc));

            xLoc = (COIN_RETURN_2.X + COIN_RETURN_2.Width / 2);
            yLoc = (COIN_RETURN_2.Y + COIN_RETURN_2.Height / 2);
            Assert.AreEqual(mech2, manager.GetCoinReturnIsOver(xLoc, yLoc));

            // Test Coin Mechs
            Assert.IsFalse(manager.IsOverCoinMech(0, 0));
            Assert.IsTrue(manager.IsOverCoinMech(xLoc, yLoc));
        }
Ejemplo n.º 2
0
        /**
         * Mouse Move for moving coing to the coin slot or pile
         */
        private void GameBoxForm_MouseMove(object sender, MouseEventArgs e)
        {
            long currentTicks         = DateTime.Now.Ticks;
            long ticksSinceLastRender = currentTicks - previousRenderTicks;

            if (coinManager.IsOverCoinPile(e.X, e.Y) || coinManager.IsOverCoinMech(e.X, e.Y))
            {
                Cursor.Current = Cursors.Hand;
            }
            else
            {
                Cursor.Current = Cursors.Default;
            }

            if ((ticksSinceLastRender > MIN_RENDER_TICKS) && coinManager.CheckCoinHeld())
            {
                coinManager.MovePlayersCoin(e.X, e.Y);
                this.Refresh();
                previousRenderTicks = currentTicks;
            }
        }