Esempio n. 1
0
 public void Update(StateMachine.GameStateCodes gameState, int msElapsed)
 {
     if (blinking)
     {
         blinkLength += msElapsed;
         if (totalBlinkTime >= maxBlinkTime)
         {
             blinking       = false;
             totalBlinkTime = 0;
             blinkLength    = 0;
         }
         else
         {
             if (blinkLength >= blinkInterval)
             {
                 blinkStateOn = !blinkStateOn;
                 blinkLength  = 0;
             }
         }
     }
     else
     {
         blinkStateOn = true;
     }
     pickTime += msElapsed;
     if (pickTime >= maxPickTime)
     {
         picking  = false;
         pickTime = 0;
     }
 }
Esempio n. 2
0
        public void Draw(Microsoft.Graphics.Canvas.UI.Xaml.ICanvasAnimatedControl sender,
                         Microsoft.Graphics.Canvas.UI.Xaml.CanvasAnimatedDrawEventArgs args, StateMachine.GameStateCodes gameState)
        {
            double screenWidth  = sender.Size.Width;
            double screenHeight = sender.Size.Height;
            double hStride      = System.Math.Floor(screenWidth / 6d);
            double vStride      = System.Math.Floor(screenHeight / 7d);
            double hLeftover    = screenWidth - (6d * hStride);
            double vLeftover    = screenHeight - (7d * vStride);
            float  hMargin      = (float)System.Math.Floor(hLeftover / 2d);
            float  vMargin      = (float)System.Math.Floor(vLeftover / 2d);

            for (int i = 0; i < World.Globals.LocationCount; i++)
            {
                Arrangements.TileCoordinate coord = tileCoordinateHolder.TileCoordinateFor(i);
                float        x      = hMargin + (float)(coord.Column * hStride);
                float        y      = vMargin + (float)(coord.Row * vStride);
                var          r      = new Windows.Foundation.Rect(x, y, (float)hStride, (float)vStride);
                CanvasBitmap bitmap = bitmapHolder.BitmapForLocation(i);
                args.DrawingSession.DrawImage(bitmap, r);

                if (gameItemHolder.IsBerryAt(i) || gameState == StateMachine.GameStateCodes.StartingUp)
                {
                    CanvasBitmap berryBitmap = bitmapHolder.BerryBitmap();
                    args.DrawingSession.DrawImage(berryBitmap, r);
                }
                if (gameItemHolder.IsBugAt(i) || gameState == StateMachine.GameStateCodes.StartingUp)
                {
                    CanvasBitmap bugBitmap = bitmapHolder.BugBitmap();
                    args.DrawingSession.DrawImage(bugBitmap, r);
                }
                if (gameItemHolder.IsPlayerAt(i) || gameState == StateMachine.GameStateCodes.StartingUp)
                {
                    if (blinkStateOn)
                    {
                        CanvasBitmap playerBitmap;
                        playerBitmap = bitmapHolder.PlayerIdleBitmap(picking);
                        args.DrawingSession.DrawImage(playerBitmap, r);
                    }
                }
            }
            // draw message here
            // fade it during the update function
        }