コード例 #1
0
ファイル: Snake.cs プロジェクト: lukas-dachtler/launchpad
        private void Draw()
        {
            ButtonBrightness[,] redgrid   = new ButtonBrightness[8, 8];
            ButtonBrightness[,] greengrid = new ButtonBrightness[8, 8];

            // Draw snake
            foreach (Point p in mBody)
            {
                if (InBounds(p))
                {
                    greengrid[p.X, p.Y] = ButtonBrightness.Full;
                }
            }
            if (InBounds(mBody[0]))
            {
                redgrid[mBody[0].X, mBody[0].Y] = ButtonBrightness.Full;
            }

            // Draw food
            if (mFoodActive)
            {
                redgrid[mFood.X, mFood.Y] = ButtonBrightness.Full;
            }

            // Invalidate
            for (int y = 0; y < 8; y++)
            {
                for (int x = 0; x < 8; x++)
                {
                    mLaunchpadDevice[x, y].SetBrightness(redgrid[x, y], greengrid[x, y]);
                }
            }
            mLaunchpadDevice.Refresh();
        }
コード例 #2
0
        private void RenderGrid()
        {
            int x, y;

            for (y = 0; y < 8; y++)
            {
                for (x = 0; x < 8; x++)
                {
                    mGrid[x, y] = false;
                }
            }

            x = mTextOffset;
            y = 1;
            foreach (char c in mText)
            {
                x += RenderCharacter(c, x, y) + 1;
            }

            for (y = 0; y < 8; y++)
            {
                for (x = 0; x < 8; x++)
                {
                    if (mGrid[x, y])
                    {
                        mLaunchpadDevice[x, y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                    }
                    else
                    {
                        mLaunchpadDevice[x, y].SetBrightness(ButtonBrightness.Off, ButtonBrightness.Off);
                    }
                }
            }
            mLaunchpadDevice.Refresh();
        }
コード例 #3
0
        private void Draw()
        {
            ButtonBrightness[,] redgrid   = new ButtonBrightness[8, 8];
            ButtonBrightness[,] greengrid = new ButtonBrightness[8, 8];

            for (int y = 0; y < 7; y++)
            {
                for (int x = 0; x < 8; x++)
                {
                    if (mSequence[ButtonXtoColX(x), ButtonYtoSeqY(y)])
                    {
                        redgrid[x, y] = greengrid[x, y] = ButtonBrightness.Full;
                    }
                }
            }

            for (int x = 0; x < 8; x++)
            {
                ButtonBrightness brightness = (mSequence[ButtonXtoColX(x), ButtonYtoSeqY(7)] ? ButtonBrightness.Full : ButtonBrightness.Low);

                if (!mRemove[ButtonXtoColX(x)])
                {
                    greengrid[x, 7] = brightness;
                }
                else
                {
                    redgrid[x, 7] = brightness;
                }
            }

            for (int y = 0; y < 8; y++)
            {
                for (int x = 0; x < 8; x++)
                {
                    mLaunchpadDevice[x, y].SetBrightness(redgrid[x, y], greengrid[x, y]);
                }
            }

            if (mConfirmTime > 0)
            {
                mLaunchpadDevice.GetButton(ToolbarButton.Session).TurnOnLight();
            }
            else
            {
                mLaunchpadDevice.GetButton(ToolbarButton.Session).TurnOffLight();
            }

            if (mMode == 1)
            {
                mLaunchpadDevice.GetButton(ToolbarButton.Mixer).SetBrightness(ButtonBrightness.Full, ButtonBrightness.Off);
            }
            else
            {
                mLaunchpadDevice.GetButton(ToolbarButton.Mixer).SetBrightness(ButtonBrightness.Off, ButtonBrightness.Full);
            }

            if (mSoundType == 0)
            {
                mLaunchpadDevice.GetButton(SideButton.SoundA).TurnOnLight();
                mLaunchpadDevice.GetButton(SideButton.SoundB).TurnOffLight();
            }
            else
            {
                mLaunchpadDevice.GetButton(SideButton.SoundA).TurnOffLight();
                mLaunchpadDevice.GetButton(SideButton.SoundB).TurnOnLight();
            }

            mLaunchpadDevice.GetButton(ToolbarButton.Up).TurnOnLight();
            mLaunchpadDevice.GetButton(ToolbarButton.Down).TurnOnLight();
            mLaunchpadDevice.GetButton(ToolbarButton.Left).TurnOnLight();
            mLaunchpadDevice.GetButton(ToolbarButton.Right).TurnOnLight();

            mLaunchpadDevice.GetButton(SideButton.Volume).TurnOnLight();
            mLaunchpadDevice.GetButton(SideButton.Pan).TurnOnLight();
            mLaunchpadDevice.GetButton(SideButton.Arm).TurnOnLight();

            mLaunchpadDevice.Refresh();

            Console.SetCursorPosition(0, 0);
            for (int y = 0; y < NumRows; y++)
            {
                for (int x = 0; x < NumCols; x++)
                {
                    if (mSequence[x, y])
                    {
                        Console.Write("X");
                    }
                    else
                    {
                        Console.Write(".");
                    }
                }
                Console.WriteLine();
            }
        }