예제 #1
0
        private void mLaunchpadDevice_ButtonPressed(object sender, ButtonPressEventArgs e)
        {
            if (e.Type == ButtonType.Grid) {
                LaunchpadButton button = mLaunchpadDevice[e.X, e.Y];
                if (button.RedBrightness == ButtonBrightness.Off && button.GreenBrightness == ButtonBrightness.Off)
                    button.SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                else
                    button.SetBrightness(ButtonBrightness.Off, ButtonBrightness.Off);

                /*
                if (button.RedBrightness == ButtonBrightness.Off && button.GreenBrightness == ButtonBrightness.Off)
                    button.SetBrightness(ButtonBrightness.Full, ButtonBrightness.Off);
                else if (button.RedBrightness == ButtonBrightness.Full && button.GreenBrightness == ButtonBrightness.Off)
                    button.SetBrightness(ButtonBrightness.Off, ButtonBrightness.Full);
                else if (button.RedBrightness == ButtonBrightness.Off && button.GreenBrightness == ButtonBrightness.Full)
                    button.SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                else
                    button.SetBrightness(ButtonBrightness.Off, ButtonBrightness.Off);
                */
            } else if (e.Type == ButtonType.Toolbar) {
                if (e.ToolbarButton == ToolbarButton.Session) {
                    for (int y = 0; y < 8; y++)
                        for (int x = 0; x < 8; x++)
                            mLaunchpadDevice[x, y].TurnOffLight();
                }
            }
        }
예제 #2
0
 private string processButtonName(ButtonPressEventArgs e) {
     var name = "";
     if (e.Type == ButtonType.Side) {
         switch (e.SidebarButton) {
             case SideButton.Volume:
                 name = "Volume";
                 break;
             case SideButton.Pan:
                 name = "Pan";
                 break;
             case SideButton.SoundA:
                 name = "SoundA";
                 break;
             case SideButton.SoundB:
                 name = "SoundB";
                 break;
             case SideButton.Stop:
                 name = "Stop";
                 break;
             case SideButton.TrackOn:
                 name = "TrackOn";
                 break;
             case SideButton.Solo:
                 name = "Solo";
                 break;
             case SideButton.Arm:
                 name = "Arm";
                 break;
         }
     } else if (e.Type == ButtonType.Toolbar) {
         switch (e.ToolbarButton) {
             case ToolbarButton.Up:
                 name = "Up";
                 break;
             case ToolbarButton.Down:
                 name = "Down";
                 break;
             case ToolbarButton.Left:
                 name = "Left";
                 break;
             case ToolbarButton.Right:
                 name = "Right";
                 break;
             case ToolbarButton.Session:
                 name = "Session";
                 break;
             case ToolbarButton.User1:
                 name = "User1";
                 break;
             case ToolbarButton.User2:
                 name = "User2";
                 break;
             case ToolbarButton.Mixer:
                 name = "Mixer";
                 break;
         }
     }
     return name;
 }
예제 #3
0
 private void flagBoundButtons() {
     for (int y = 0; y < 8; y++) {
         for (int x = 0; x < 8; x++) {
             string targetName = "_" + y + x;
             var cut = data.GetShortcut(x, y);
             if (cut != null) {
                 lightUpGui(targetName);
             }
         }
     }
     foreach (SideButton button in Enum.GetValues(typeof(SideButton)).Cast<SideButton>()) {
         ButtonPressEventArgs e = new ButtonPressEventArgs(button);
         string name = processButtonName(e);
         var cut = data.GetSideShortcut(name);
         if (cut != null) {
             lightUpGui("side" + name);
         } else {
             lightDownGui("side" + name);
         }
     }
     foreach (ToolbarButton button in Enum.GetValues(typeof(ToolbarButton)).Cast<ToolbarButton>()) {
         ButtonPressEventArgs e = new ButtonPressEventArgs(button);
         string name = processButtonName(e);
         var cut = data.GetTopShortcut(name);
         if (cut != null) {
             lightUpGui("top" + name);
         } else {
             lightDownGui("top" + name);
         }
     }
 }
예제 #4
0
 public async void visualizeButtonPress(LaunchpadButton button, ButtonPressEventArgs e, string name) {
     string targetName = "";
     switch (e.Type) {
         case ButtonType.Grid:
             targetName = "_" + name;
             break;
         case ButtonType.Side:
             targetName = "side" + name;
             break;
         case ButtonType.Toolbar:
             targetName = "top" + name;
             break;
     }
     button.SetBrightness(ButtonBrightness.Off, ButtonBrightness.Full);
     Application.Current.Dispatcher.Invoke(() => {
         var topBtn = (Button)this.FindName(targetName);
         topBtn.Background = Brushes.Green;
     });
     await Task.Delay(500);
     button.SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
     Application.Current.Dispatcher.Invoke(() => {
         var topBtn = (Button)this.FindName(targetName);
         topBtn.Background = Brushes.Orange;
     });
 }
예제 #5
0
 private void HandleLaunchPadInput(object sender, ButtonPressEventArgs e) {
     if (e.Type == ButtonType.Grid) {
         LaunchpadButton button = device[e.X, e.Y];
         Shortcut cut = data.GetShortcut(e.X, e.Y);
         if (cut != null) {
             string name = e.Y + e.X.ToString();
             var group = cut.belongsToGroup;
             if (cut.belongsToGroup > 0) {
                 CleanGroup(group);
                 button.SetBrightness(ButtonBrightness.Off, ButtonBrightness.Full);
                 groupSelectedGui("_"+name);
             } else if (cut.isToggle) {
                 toggleButton(button, e.Type, name);
             } else {
                 visualizeButtonPress(button, e, name);
             }
             processShortcut(cut);
         }
     } else if (e.Type == ButtonType.Side) {
         string name = processButtonName(e);
         if (name != "") {
             Shortcut cut = data.GetSideShortcut(name);
             if (cut != null) {
                 var button = device.GetButton(e.SidebarButton);
                 if (cut.isToggle) {
                     toggleButton(button, e.Type, name);
                 }
                 else {
                     visualizeButtonPress(button, e, name);
                 }
                 processShortcut(cut);
             }
         }
     } else if (e.Type == ButtonType.Toolbar) {
         string name = processButtonName(e);
         if (name != "") {
             Shortcut cut = data.GetTopShortcut(name);
             if (cut != null) {
                 processShortcut(cut);
                 var button = device.GetButton(e.ToolbarButton);
                 visualizeButtonPress(button, e, name);
             }
         }
     }
 }
예제 #6
0
        private void mLaunchpadDevice_ButtonPressed(object sender, ButtonPressEventArgs e)
        {
            if (e.Type == ButtonType.Grid) {
                if (e.Y == 7) {
                    mRemove[ButtonXtoColX(e.X)] = !mRemove[ButtonXtoColX(e.X)];
                    if (mMode == 1)
                        PlayNoise(e.X);
                } else {
                    mSequence[ButtonXtoColX(e.X), ButtonYtoSeqY(e.Y)] = !mSequence[ButtonXtoColX(e.X), ButtonYtoSeqY(e.Y)];
                }

                mForceDraw = true;
            } else if (e.Type == ButtonType.Toolbar) {
                switch (e.ToolbarButton) {
                case ToolbarButton.Up:
                    mSequenceOffset = (mSequenceOffset + NumRows - 1) % NumRows;
                    break;
                case ToolbarButton.Down:
                    mSequenceOffset = (mSequenceOffset + 1) % NumRows;
                    break;
                case ToolbarButton.Left:
                    mColumnOffset = (mColumnOffset + NumCols - 1) % NumCols;
                    break;
                case ToolbarButton.Right:
                    mColumnOffset = (mColumnOffset + 1) % NumCols;
                    break;
                case ToolbarButton.Mixer:
                    mMode = (mMode == 0 ? 1 : 0);
                    break;
                case ToolbarButton.Session:
                    if (mConfirmTime > 0) {
                        for (int y = 0; y < NumRows; y++)
                            for (int x = 0; x < NumCols; x++)
                                mSequence[x, y] = false;
                        mConfirmTime = 0;
                    } else {
                        mConfirmTime = 1000;
                    }
                    break;
                }
                mForceDraw = true;
            } else if (e.Type == ButtonType.Side) {
                switch (e.SidebarButton) {
                case SideButton.Volume:
                    if (mTempo < 1980)
                    mTempo += 20;
                    break;
                case SideButton.Pan:
                    if (mTempo > 20)
                        mTempo -= 20;
                    break;
                case SideButton.SoundA:
                    if (mSoundType == 0) {
                        mPercussion = (mPercussion + 1) % (Percussion.OpenTriangle - Percussion.BassDrum2 + 1);
                        mOutputDevice.SendProgramChange(Channel.Channel1, (Instrument)mInstrument);
                    } else {
                        mSoundType = 0;
                    }
                    break;
                case SideButton.SoundB:
                    if (mSoundType == 1) {
                        mInstrument = (mInstrument + 1) % 127;
                        mOutputDevice.SendProgramChange(Channel.Channel1, (Instrument)mInstrument);
                    } else {
                        mSoundType = 1;
                    }
                    break;
                case SideButton.Arm:
                    mSequenceOffset = 0;
                    mColumnOffset = 0;
                    break;
                }
            }
        }
예제 #7
0
 private void mLaunchpadDevice_ButtonPressed(object sender, ButtonPressEventArgs e)
 {
     if (e.Type == ButtonType.Grid) {
         if (CanPlaceAt(e.X, e.Y))
             PlaceAt(e.X, e.Y);
     } else if (e.Type == ButtonType.Side) {
         if (e.SidebarButton == SideButton.TrackOn) {
             mShowPossibleMoves = !mShowPossibleMoves;
             mForceDraw = true;
         } else if (e.SidebarButton == SideButton.Solo) {
             mSolo = !mSolo;
         }
     } else if (e.Type == ButtonType.Toolbar) {
         if (e.ToolbarButton == ToolbarButton.Session) {
             if (mConfirmTime > 0) {
                 Restart();
                 mConfirmTime = 0;
             } else {
                 mConfirmTime = 1000;
             }
         }
     }
 }
예제 #8
0
 private void mLaunchpadDevice_ButtonPressed(object sender, ButtonPressEventArgs e)
 {
     if (e.Type == ButtonType.Grid) {
         mFood.X = e.X;
         mFood.Y = e.Y;
         mFoodActive = true;
     }
 }
예제 #9
0
 private void mLaunchpadDevice_ButtonPressed(object sender, ButtonPressEventArgs e)
 {
     if (e.Type == ButtonType.Grid) {
         var pressedDogs = mDogs.Where(d => (int)d.X == e.X && (int)d.Y == e.Y);
         pressedDogs.ToList().ForEach(d => d.Killed = true);
         if (pressedDogs.Count() > 0)
             SystemSounds.Beep.Play();
     }
 }
예제 #10
0
            private void mLaunchpadDevice_ButtonPressed(object sender, ButtonPressEventArgs e)
            {
                if (e.Type == ButtonType.Toolbar)
                {
                    if (e.ToolbarButton == ToolbarButton.User1)
                    {
                        if (zug == 2)
                        {
                            zug = 1;
                            spieleranzeige();
                            showboard();
                        }
                    }
                    if (e.ToolbarButton == ToolbarButton.User2)
                    {
                        if (zug == 1)
                        {
                            zug = 2;
                            spieleranzeige();
                            showboard();
                        }
                    }
                    if (e.ToolbarButton == ToolbarButton.Mixer)
                    {
                        launchpadaus(mLaunchpadDevice);
                        if (mixer == false)
                        {
                            showfigures();
                            mixer = true;
                        }
                        else
                        {
                            mixer = false;
                            showboard();
                        }
                    }
                }

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                if (e.Type == ButtonType.Grid)
                {
                    LaunchpadButton button = mLaunchpadDevice[e.X, e.Y];

                    checkfield();

                    //WENN AUSWAHL RÜCKGÄNGIG GEMACHT WERDEN SOLL
                    if ((button.RedBrightness == ButtonBrightness.Medium && button.GreenBrightness == ButtonBrightness.Off) || (button.RedBrightness == ButtonBrightness.Off && button.GreenBrightness == ButtonBrightness.Medium))
                    {
                        baueristdran = false;
                        springeristdran = false;
                        koenigistdran = false;
                        laeuferistdran = false;
                        dameistdran = false;
                        turmistdran = false;
                        pboxchange("lpchesslogo.png");
                        ausgeben2("");
                        showboard();
                        return;
                    }

                    if ((button.RedBrightness == ButtonBrightness.Medium && button.GreenBrightness == ButtonBrightness.Medium)) //ROCHADE
                    {
                        if (zug == 1)
                        {
                            if (e.X == 2 && e.Y == 7)
                            {
                                koenigistdran = false;
                                zugsound();
                                ausgeben("Rochade!");
                                ausgeben(koenigrot.moveto(e.X, e.Y));
                                ausgeben(t1r.moveto(e.X + 1, e.Y));

                                rochaderotgross = false;
                                rochaderotklein = false;

                                zug = 2;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                            else if (e.X == 6 && e.Y == 7)
                            {
                                koenigistdran = false;
                                zugsound();
                                ausgeben("Rochade!");
                                ausgeben(koenigrot.moveto(e.X, e.Y));
                                ausgeben(t2r.moveto(e.X - 1, e.Y));

                                rochaderotgross = false;
                                rochaderotklein = false;

                                zug = 2;
                                showboard();
                                spieleranzeige();
                                return;
                            }
                        }
                        else if (zug == 2)
                        {
                            if (e.X == 2 && e.Y == 0)
                            {
                                koenigistdran = false;
                                zugsound();
                                ausgeben("Rochade!");
                                ausgeben(koeniggruen.moveto(e.X, e.Y));
                                ausgeben(t1g.moveto(e.X + 1, e.Y));

                                rochadegruengross = false;
                                rochadegruenklein = false;

                                zug = 1;
                                showboard();
                                spieleranzeige();
                                return;
                            }
                            else if (e.X == 6 && e.Y == 0)
                            {
                                koenigistdran = false;
                                zugsound();
                                ausgeben("Rochade!");
                                ausgeben(koeniggruen.moveto(e.X, e.Y));
                                ausgeben(t2g.moveto(e.X - 1, e.Y));

                                rochadegruengross = false;
                                rochadegruenklein = false;

                                zug = 1;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                        }
                    }

                    //WENN ZUG MÖGLICH IST...
                    else if (button.RedBrightness == ButtonBrightness.Full && button.GreenBrightness == ButtonBrightness.Full)
                    {
                        //BAUER DARF ZIEHEN?..
                        if (baueristdran == true)
                        {
                            if (zug == 1)
                            {
                                baueristdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                if (e.Y == 0) //Bauer auf Gegnerischer Seite
                                {
                                    rotverwandelt++;
                                    if (rotverwandelt < 4)
                                    while (true)
                                    {
                                        DialogResult damenwahl = MessageBox.Show("Wollen Sie eine Dame?", "Bauerntausch", MessageBoxButtons.YesNo);
                                        if (damenwahl == DialogResult.Yes)
                                        {
                                            if (rotverwandelt == 1)
                                            { ersatzdame1 = new Damerot(); ersatzdame1.moveto(e.X, e.Y); break; }
                                            if (rotverwandelt == 2)
                                            { ersatzdame2 = new Damerot(); ersatzdame2.moveto(e.X, e.Y); break; }
                                            if (rotverwandelt == 3)
                                            { ersatzdame3 = new Damerot(); ersatzdame3.moveto(e.X, e.Y); break; }
                                        }
                                        DialogResult turmwahl = MessageBox.Show("Wollen Sie einen Turm?", "Bauerntausch", MessageBoxButtons.YesNo);
                                        if (turmwahl == DialogResult.Yes)
                                        {
                                            if (rotverwandelt == 1)
                                            { ersatzturm1 = new Turmrot(); ersatzturm1.moveto(e.X, e.Y); break; }
                                            if (rotverwandelt == 2)
                                            { ersatzturm2 = new Turmrot(); ersatzturm2.moveto(e.X, e.Y); break; }
                                            if (rotverwandelt == 3)
                                            { ersatzturm3 = new Turmrot(); ersatzturm3.moveto(e.X, e.Y); break; }
                                        }
                                        DialogResult springerwahl = MessageBox.Show("Wollen Sie einen Springer?", "Bauerntausch", MessageBoxButtons.YesNo);
                                        if (springerwahl == DialogResult.Yes)
                                        {
                                            if (rotverwandelt == 1)
                                            { ersatzspringer1 = new Springerrot(); ersatzspringer1.moveto(e.X, e.Y); break; }
                                            if (rotverwandelt == 2)
                                            { ersatzspringer2 = new Springerrot(); ersatzspringer2.moveto(e.X, e.Y); break; }
                                            if (rotverwandelt == 3)
                                            { ersatzspringer3 = new Springerrot(); ersatzspringer3.moveto(e.X, e.Y); break; }
                                        }
                                        DialogResult laeuferwahl = MessageBox.Show("Wollen Sie einen Läufer?", "Bauerntausch", MessageBoxButtons.YesNo);
                                        if (laeuferwahl == DialogResult.Yes)
                                        {
                                            if (rotverwandelt == 1)
                                            { ersatzlaeufer1 = new Laeuferrot(); ersatzlaeufer1.moveto(e.X, e.Y); break; }
                                            if (rotverwandelt == 2) { ersatzlaeufer2 = new Laeuferrot(); ersatzlaeufer2.moveto(e.X, e.Y); break; }
                                            if (rotverwandelt == 3) { ersatzlaeufer3 = new Laeuferrot(); ersatzlaeufer3.moveto(e.X, e.Y); break; }
                                        }
                                    }
                                    switch (bauer)
                                    {
                                        case 0: ar.remove(); break;
                                        case 1: br.remove(); break;
                                        case 2: cr.remove(); break;
                                        case 3: dr.remove(); break;
                                        case 4: er.remove(); break;
                                        case 5: fr.remove(); break;
                                        case 6: gr.remove(); break;
                                        case 7: hr.remove(); break;
                                        default: break;
                                    }
                                    ausgeben("Bauer verwandelt.");
                                }
                                else
                                    switch (bauer)
                                    {
                                        case 0: ausgeben(ar.moveto(e.X, e.Y)); break;
                                        case 1: ausgeben(br.moveto(e.X, e.Y)); break;
                                        case 2: ausgeben(cr.moveto(e.X, e.Y)); break;
                                        case 3: ausgeben(dr.moveto(e.X, e.Y)); break;
                                        case 4: ausgeben(er.moveto(e.X, e.Y)); break;
                                        case 5: ausgeben(fr.moveto(e.X, e.Y)); break;
                                        case 6: ausgeben(gr.moveto(e.X, e.Y)); break;
                                        case 7: ausgeben(hr.moveto(e.X, e.Y)); break;
                                        default: break;
                                    }
                                zug = 2;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                            else if (zug == 2)
                            {
                                baueristdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                if (e.Y == 7) //Bauer auf Gegnerischer Seite
                                {
                                    gruenverwandelt++;
                                    if (gruenverwandelt < 4)
                                    while (true)
                                    {
                                        DialogResult damenwahl = MessageBox.Show("Wollen Sie eine Dame?", "Bauerntausch", MessageBoxButtons.YesNo);
                                        if (damenwahl == DialogResult.Yes)
                                        {
                                            if (gruenverwandelt == 1)
                                            { ersatzdame1g = new Damegruen(); ersatzdame1g.moveto(e.X, e.Y); break; }
                                            if (gruenverwandelt == 2) { ersatzdame2g = new Damegruen(); ersatzdame2g.moveto(e.X, e.Y); break; }
                                            if (gruenverwandelt == 3) { ersatzdame3g = new Damegruen(); ersatzdame3g.moveto(e.X, e.Y); break; }

                                        }
                                        DialogResult turmwahl = MessageBox.Show("Wollen Sie einen Turm?", "Bauerntausch", MessageBoxButtons.YesNo);
                                        if (turmwahl == DialogResult.Yes)
                                        {
                                            if (gruenverwandelt == 1)
                                            { ersatzturm1g = new Turmgruen(); ersatzturm1g.moveto(e.X, e.Y); break; }
                                            if (gruenverwandelt == 2) { ersatzturm2g = new Turmgruen(); ersatzturm2g.moveto(e.X, e.Y); break; }
                                            if (gruenverwandelt == 3) { ersatzturm3g = new Turmgruen(); ersatzturm3g.moveto(e.X, e.Y); break; }

                                        }
                                        DialogResult springerwahl = MessageBox.Show("Wollen Sie einen Springer?", "Bauerntausch", MessageBoxButtons.YesNo);
                                        if (springerwahl == DialogResult.Yes)
                                        {
                                            if (gruenverwandelt == 1)
                                            { ersatzspringer1g = new Springergruen(); ersatzspringer1g.moveto(e.X, e.Y); break; }
                                            if (gruenverwandelt == 2) { ersatzspringer2g = new Springergruen(); ersatzspringer2g.moveto(e.X, e.Y); break; }
                                            if (gruenverwandelt == 3) { ersatzspringer3g = new Springergruen(); ersatzspringer3g.moveto(e.X, e.Y); break; }
                                        }
                                        DialogResult laeuferwahl = MessageBox.Show("Wollen Sie einen Läufer?", "Bauerntausch", MessageBoxButtons.YesNo);
                                        if (laeuferwahl == DialogResult.Yes)
                                        {
                                            if (gruenverwandelt == 1)
                                            { ersatzlaeufer1g = new Laeufergruen(); ersatzlaeufer1g.moveto(e.X, e.Y); break; }
                                            if (gruenverwandelt == 2) { ersatzlaeufer2g = new Laeufergruen(); ersatzlaeufer2g.moveto(e.X, e.Y); break; }
                                            if (gruenverwandelt == 3) { ersatzlaeufer3g = new Laeufergruen(); ersatzlaeufer3g.moveto(e.X, e.Y); break; }
                                        }
                                    }
                                    switch (bauerg)
                                    {
                                        case 0: ag.remove(); break;
                                        case 1: bg.remove(); break;
                                        case 2: cg.remove(); break;
                                        case 3: dg.remove(); break;
                                        case 4: eg.remove(); break;
                                        case 5: fg.remove(); break;
                                        case 6: gg.remove(); break;
                                        case 7: hg.remove(); break;
                                        default: break;
                                    }
                                    ausgeben("Bauer verwandelt.");
                                }
                                else
                                    switch (bauerg)
                                    {
                                        case 0: ausgeben(ag.moveto(e.X, e.Y)); break;
                                        case 1: ausgeben(bg.moveto(e.X, e.Y)); break;
                                        case 2: ausgeben(cg.moveto(e.X, e.Y)); break;
                                        case 3: ausgeben(dg.moveto(e.X, e.Y)); break;
                                        case 4: ausgeben(eg.moveto(e.X, e.Y)); break;
                                        case 5: ausgeben(fg.moveto(e.X, e.Y)); break;
                                        case 6: ausgeben(gg.moveto(e.X, e.Y)); break;
                                        case 7: ausgeben(hg.moveto(e.X, e.Y)); break;
                                        default: break;
                                    }
                                zug = 1;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                        }
                        //TURM DARF ZIEHEN?...
                        if (turmistdran == true)
                        {
                            if (zug == 1)
                            {
                                turmistdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                switch (turm)
                                {
                                    case 1: ausgeben(t1r.moveto(e.X, e.Y)); rochaderotgross = false; break;
                                    case 2: ausgeben(t2r.moveto(e.X, e.Y)); rochaderotklein = false; break;
                                    case 3: ausgeben(ersatzturm1.moveto(e.X, e.Y)); break;
                                    case 4: ausgeben(ersatzturm2.moveto(e.X, e.Y)); break;
                                    case 5: ausgeben(ersatzturm3.moveto(e.X, e.Y)); break;
                                    default: break;
                                }
                                zug = 2;
                                showboard();
                                spieleranzeige();
                                return;
                            }
                            else if (zug == 2)
                            {
                                turmistdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                switch (turmg)
                                {
                                    case 1: ausgeben(t1g.moveto(e.X, e.Y)); rochadegruengross = false; break;
                                    case 2: ausgeben(t2g.moveto(e.X, e.Y)); rochadegruenklein = false; break;
                                    case 3: ausgeben(ersatzturm1g.moveto(e.X, e.Y)); break;
                                    case 4: ausgeben(ersatzturm2g.moveto(e.X, e.Y)); break;
                                    case 5: ausgeben(ersatzturm3g.moveto(e.X, e.Y)); break;
                                    default: break;
                                }
                                zug = 1;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                        }
                        if (springeristdran == true) //Springer..?
                        {
                            if (zug == 1)
                            {
                                springeristdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                switch (springer)
                                {
                                    case 1: ausgeben(s1r.moveto(e.X, e.Y)); break;
                                    case 2: ausgeben(s2r.moveto(e.X, e.Y)); break;
                                    case 3: ausgeben(ersatzspringer1.moveto(e.X, e.Y)); break;
                                    case 4: ausgeben(ersatzspringer2.moveto(e.X, e.Y)); break;
                                    case 5: ausgeben(ersatzspringer3.moveto(e.X, e.Y)); break;
                                    default: break;
                                }
                                zug = 2;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                            else if (zug == 2)
                            {
                                springeristdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                switch (springerg)
                                {
                                    case 1: ausgeben(s1g.moveto(e.X, e.Y)); break;
                                    case 2: ausgeben(s2g.moveto(e.X, e.Y)); break;
                                    case 3: ausgeben(ersatzspringer1g.moveto(e.X, e.Y)); break;
                                    case 4: ausgeben(ersatzspringer2g.moveto(e.X, e.Y)); break;
                                    case 5: ausgeben(ersatzspringer3g.moveto(e.X, e.Y)); break;
                                    default: break;
                                }
                                zug = 1;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                        }
                        //KÖNIG DARF/MUSS ZIEHEN?
                        if (koenigistdran == true)
                        {
                            if (zug == 1)
                            {
                                koenigistdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                ausgeben(koenigrot.moveto(e.X, e.Y));
                                rochaderotgross = false;
                                rochaderotklein = false;

                                zug = 2;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                            else if (zug == 2)
                            {
                                koenigistdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                ausgeben(koeniggruen.moveto(e.X, e.Y));
                                rochadegruengross = false;
                                rochadegruenklein = false;

                                zug = 1;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                        }

                        //LÄUFER DARF ZIEHEN?..
                        if (laeuferistdran == true)
                        {
                            if (zug == 1)
                            {
                                laeuferistdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                switch (laeufer)
                                {
                                    case 1: ausgeben(l1r.moveto(e.X, e.Y)); break;
                                    case 2: ausgeben(l2r.moveto(e.X, e.Y)); break;
                                    case 3: ausgeben(ersatzlaeufer1.moveto(e.X, e.Y)); break;
                                    case 4: ausgeben(ersatzlaeufer2.moveto(e.X, e.Y)); break;
                                    case 5: ausgeben(ersatzlaeufer3.moveto(e.X, e.Y)); break;
                                    default: break;
                                }
                                zug = 2;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                            else if (zug == 2)
                            {
                                laeuferistdran = false;

                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                switch (laeuferg)
                                {
                                    case 1: ausgeben(l1g.moveto(e.X, e.Y)); break;
                                    case 2: ausgeben(l2g.moveto(e.X, e.Y)); break;
                                    case 3: ausgeben(ersatzlaeufer1g.moveto(e.X, e.Y)); break;
                                    case 4: ausgeben(ersatzlaeufer2g.moveto(e.X, e.Y)); break;
                                    case 5: ausgeben(ersatzlaeufer3g.moveto(e.X, e.Y)); break;
                                    default: break;
                                }
                                zug = 1;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                        }
                        //DAME???????
                        if (dameistdran == true)
                        {
                            dameistdran = false;
                            if (zug == 1)
                            {
                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                if (dame == 1)
                                    ausgeben(damerot.moveto(e.X, e.Y));
                                else if (dame == 2)
                                    ausgeben(ersatzdame1.moveto(e.X, e.Y));
                                else if (dame == 3)
                                    ausgeben(ersatzdame2.moveto(e.X, e.Y));
                                else if (dame == 4)
                                    ausgeben(ersatzdame3.moveto(e.X, e.Y));

                                zug = 2;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                            else if (zug == 2)
                            {
                                if (enemyon(e.X, e.Y))
                                { enemydie(e.X, e.Y); enemydiesound(); }
                                else zugsound();

                                if (dameg == 1)
                                    ausgeben(damegruen.moveto(e.X, e.Y));
                                else if (dameg == 2)
                                    ausgeben(ersatzdame1g.moveto(e.X, e.Y));
                                else if (dameg == 3)
                                    ausgeben(ersatzdame2g.moveto(e.X, e.Y));
                                else if (dameg == 4)
                                    ausgeben(ersatzdame3g.moveto(e.X, e.Y));

                                if (enemyon(e.X + 1, e.Y) && passantgruen == e.X + 1)
                                    if (e.X + 1 < 8)
                                        mLaunchpadDevice[e.X + 1, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Medium);
                                if (enemyon(e.X - 1, e.Y) && passantgruen == e.X - 1)
                                    if (e.X - 1 >= 0)
                                        mLaunchpadDevice[e.X - 1, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Medium);

                                zug = 1;
                                showboard();
                                spieleranzeige();
                                pboxchange("lpchesslogo.png");
                                ausgeben2("");
                                return;
                            }
                        }
                    }

                    //////////////////////////////////////AUSWAHL DER FIGUR/////////////////////////////////////////////////////////

                    if (enemyon(e.X, e.Y))
                    {
                        showfigureon(e.X, e.Y);
                    }
                    if (eigeneron(e.X, e.Y))
                    {
                        showfigureon(e.X, e.Y);
                    }

                    ///////////WENN ROTER BAUER GEWÄHLT WURDE//////////////////////
                    if (zug == 1 && (ar.ison(e.X, e.Y) || br.ison(e.X, e.Y) || cr.ison(e.X, e.Y) || dr.ison(e.X, e.Y) || er.ison(e.X, e.Y) || fr.ison(e.X, e.Y) || gr.ison(e.X, e.Y) || hr.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Off);

                        if (enemyon(e.X + 1, e.Y - 1))
                            if (e.X + 1 < 8 && e.Y - 1 >= 0)
                                mLaunchpadDevice[e.X + 1, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (enemyon(e.X - 1, e.Y - 1))
                            if (e.X - 1 >= 0 && e.Y - 1 >= 0)
                                mLaunchpadDevice[e.X - 1, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if ((!(enemyon(e.X, e.Y - 1))) && (!(eigeneron(e.X, e.Y - 1))))
                        {
                            if (e.X < 8 && e.Y - 1 >= 0)
                                mLaunchpadDevice[e.X, (e.Y - 1)].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                            if (e.Y == 6)
                                if ((!(enemyon(e.X, e.Y - 2))) && (!(eigeneron(e.X, e.Y - 2))))
                                    mLaunchpadDevice[e.X, e.Y - 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }

                        if (enemyon(e.X - 1, e.Y) && passantrot == e.X -1)
                            if (e.X - 1 >= 0)
                                mLaunchpadDevice[e.X - 1, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Medium);
                        if (enemyon(e.X + 1, e.Y) && passantrot == e.X + 1)
                            if (e.X + 1 < 8)
                                mLaunchpadDevice[e.X + 1, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Medium);

                        bauer = checkbauer(e.X, e.Y);
                        turmistdran = false;
                        springeristdran = false;
                        baueristdran = true;
                        laeuferistdran = false;
                        dameistdran = false;
                        koenigistdran = false;
                        return;

                    }
                    ///////////WENN GRÜNER BAUER GEWÄHLT WURDE//////////////////////
                    if (zug == 2 && (ag.ison(e.X, e.Y) || bg.ison(e.X, e.Y) || cg.ison(e.X, e.Y) || dg.ison(e.X, e.Y) || eg.ison(e.X, e.Y) || fg.ison(e.X, e.Y) || gg.ison(e.X, e.Y) || hg.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Off, ButtonBrightness.Medium);

                        if (enemyon(e.X + 1, e.Y + 1))
                            if (e.X + 1 < 8 && e.Y + 1 < 8)
                                mLaunchpadDevice[e.X + 1, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (enemyon(e.X - 1, e.Y + 1))
                            if (e.X - 1 >= 0 && e.Y + 1 < 8)
                                mLaunchpadDevice[e.X - 1, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if ((!(enemyon(e.X, e.Y + 1))) && (!(eigeneron(e.X, e.Y + 1))))
                        {
                            if (e.X < 8 && e.Y + 1 < 8)
                                mLaunchpadDevice[e.X, (e.Y + 1)].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                            if (e.Y == 1)
                                if ((!(enemyon(e.X, e.Y + 2))) && (!(eigeneron(e.X, e.Y + 2))))
                                    mLaunchpadDevice[e.X, e.Y + 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }

                        bauerg = checkbauer(e.X, e.Y);
                        baueristdran = true;
                        turmistdran = false;
                        dameistdran = false;
                        springeristdran = false;
                        laeuferistdran = false;
                        koenigistdran = false;
                        return;
                    }

                    ///////////WENN ROTER TURM GEWÄHLT WURDE//////////////////////
                    if (zug == 1 && (t1r.ison(e.X, e.Y) || t2r.ison(e.X, e.Y) || ersatzturm1.ison(e.X, e.Y) || ersatzturm2.ison(e.X, e.Y) || ersatzturm3.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Off);
                        bool makebreak = false;

                        for (int r = e.X + 1; r < 8; ++r) //rechts
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, e.Y))
                                break;
                            if (enemyon(r, e.Y))
                                makebreak = true;

                            mLaunchpadDevice[r, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int l = e.X - 1; l >= 0; --l) //links
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(l, e.Y))
                                break;
                            if (enemyon(l, e.Y))
                                makebreak = true;

                            mLaunchpadDevice[l, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int u = e.Y + 1; u < 8; ++u) //unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(e.X, u))
                                break;
                            if (enemyon(e.X, u))
                                makebreak = true;

                            mLaunchpadDevice[e.X, u].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int o = e.Y - 1; o >= 0; --o) //oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(e.X, o))
                                break;
                            if (enemyon(e.X, o))
                                makebreak = true;

                            mLaunchpadDevice[e.X, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }

                        turm = checkturm(e.X, e.Y);
                        baueristdran = false;
                        springeristdran = false;
                        laeuferistdran = false;
                        koenigistdran = false;
                        dameistdran = false;
                        turmistdran = true;
                        return;

                    }

                    ///////////WENN GRÜNER TURM GEWÄHLT WURDE//////////////////////
                    if (zug == 2 && (t1g.ison(e.X, e.Y) || t2g.ison(e.X, e.Y) || ersatzturm1g.ison(e.X, e.Y) || ersatzturm2g.ison(e.X, e.Y) || ersatzturm3g.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Off, ButtonBrightness.Medium);
                        bool makebreak = false; ;
                        for (int r = e.X + 1; r < 8; ++r) //rechts
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, e.Y))
                                break;
                            if (enemyon(r, e.Y))
                                makebreak = true;

                            mLaunchpadDevice[r, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int l = e.X - 1; l >= 0; --l) //links
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(l, e.Y))
                                break;
                            if (enemyon(l, e.Y))
                                makebreak = true;

                            mLaunchpadDevice[l, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int u = e.Y + 1; u < 8; ++u) //unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(e.X, u))
                                break;
                            if (enemyon(e.X, u))
                                makebreak = true;

                            mLaunchpadDevice[e.X, u].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int o = e.Y - 1; o >= 0; --o) //oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(e.X, o))
                                break;
                            if (enemyon(e.X, o))
                                makebreak = true;

                            mLaunchpadDevice[e.X, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        turm = checkturm(e.X, e.Y);
                        baueristdran = false;
                        springeristdran = false;
                        laeuferistdran = false;
                        koenigistdran = false;
                        dameistdran = false;
                        turmistdran = true;
                        return;
                    }

                    //WENN ROTER SPRINGER GEWÄHLT WURDE
                    if (zug == 1 && (s1r.ison(e.X, e.Y) || s2r.ison(e.X, e.Y) || s2g.ison(e.X, e.Y) || ersatzspringer1.ison(e.X, e.Y) || ersatzspringer2.ison(e.X, e.Y) || ersatzspringer3.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Off);

                        if (!(eigeneron(e.X - 1, e.Y - 2)) && e.X - 1 >= 0 && e.Y - 2 >= 0)
                            mLaunchpadDevice[e.X - 1, e.Y - 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X + 1, e.Y - 2)) && e.X + 1 < 8 && e.Y - 2 >= 0)
                            mLaunchpadDevice[e.X + 1, e.Y - 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X + 2, e.Y - 1)) && e.X + 2 < 8 && e.Y - 1 >= 0)
                            mLaunchpadDevice[e.X + 2, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X + 2, e.Y + 1)) && e.X + 2 < 8 && e.Y + 1 < 8)
                            mLaunchpadDevice[e.X + 2, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X + 1, e.Y + 2)) && e.X + 1 < 8 && e.Y + 2 < 8)
                            mLaunchpadDevice[e.X + 1, e.Y + 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 1, e.Y + 2)) && e.X - 1 >= 0 && e.Y + 2 < 8)
                            mLaunchpadDevice[e.X - 1, e.Y + 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 2, e.Y + 1)) && e.X - 2 >= 0 && e.Y + 1 < 8)
                            mLaunchpadDevice[e.X - 2, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 2, e.Y - 1)) && e.X - 2 >= 0 && e.Y - 1 >= 0)
                            mLaunchpadDevice[e.X - 2, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);

                        springer = checkspringer(e.X, e.Y);
                        baueristdran = false;
                        turmistdran = false;
                        laeuferistdran = false;
                        dameistdran = false;
                        koenigistdran = false;
                        springeristdran = true;
                        return;

                    }

                    //WENN GRÜNER SPRINGER GEWÄHLT WURDE
                    if (zug == 2 && (s1g.ison(e.X, e.Y) || s2g.ison(e.X, e.Y) || ersatzspringer1g.ison(e.X, e.Y) || ersatzspringer2g.ison(e.X, e.Y) || ersatzspringer3g.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Off, ButtonBrightness.Medium);

                        if (!(eigeneron(e.X - 1, e.Y - 2)) && e.X - 1 >= 0 && e.Y - 2 >= 0)
                            mLaunchpadDevice[e.X - 1, e.Y - 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X + 1, e.Y - 2)) && e.X + 1 < 8 && e.Y - 2 >= 0)
                            mLaunchpadDevice[e.X + 1, e.Y - 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X + 2, e.Y - 1)) && e.X + 2 < 8 && e.Y - 1 >= 0)
                            mLaunchpadDevice[e.X + 2, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X + 2, e.Y + 1)) && e.X + 2 < 8 && e.Y + 1 < 8)
                            mLaunchpadDevice[e.X + 2, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X + 1, e.Y + 2)) && e.X + 1 < 8 && e.Y + 2 < 8)
                            mLaunchpadDevice[e.X + 1, e.Y + 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 1, e.Y + 2)) && e.X - 1 >= 0 && e.Y + 2 < 8)
                            mLaunchpadDevice[e.X - 1, e.Y + 2].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 2, e.Y + 1)) && e.X - 2 >= 0 && e.Y + 1 < 8)
                            mLaunchpadDevice[e.X - 2, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 2, e.Y - 1)) && e.X - 2 >= 0 && e.Y - 1 >= 0)
                            mLaunchpadDevice[e.X - 2, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);

                        springerg = checkspringer(e.X, e.Y);
                        baueristdran = false;
                        turmistdran = false;
                        koenigistdran = false;
                        laeuferistdran = false;
                        dameistdran = false;
                        springeristdran = true;
                        return;

                    }

                    //WENN ROTER KÖNIG GEWÄHLT WURDE
                    if (zug == 1 && koenigrot.ison(e.X, e.Y))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Off);

                        if (!(eigeneron(e.X, e.Y - 1)) && e.Y - 1 >= 0)
                            mLaunchpadDevice[e.X, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full); //Oben
                        if (!(eigeneron(e.X + 1, e.Y - 1)) && e.Y - 1 >= 0 && e.X + 1 < 8)
                            mLaunchpadDevice[e.X + 1, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full); //Schräg rechts oben
                        if (!(eigeneron(e.X + 1, e.Y)) && e.X + 1 < 8)
                            mLaunchpadDevice[e.X + 1, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full); //Rechts..
                        if (!(eigeneron(e.X + 1, e.Y + 1)) && e.Y + 1 < 8 && e.X + 1 < 8)
                            mLaunchpadDevice[e.X + 1, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full); //Schräg Runten
                        if (!(eigeneron(e.X, e.Y + 1)) && e.Y + 1 < 8)
                            mLaunchpadDevice[e.X, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 1, e.Y + 1)) && e.Y + 1 < 8 && e.X - 1 >= 0)
                            mLaunchpadDevice[e.X - 1, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 1, e.Y)) && e.X - 1 >= 0)
                            mLaunchpadDevice[e.X - 1, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 1, e.Y - 1)) && e.Y - 1 >= 0 && e.X - 1 >= 0)
                            mLaunchpadDevice[e.X - 1, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        /*!!*/
                        if (!(eigeneron(1, 7)) && !(eigeneron(2, 7)) && !(eigeneron(3, 7)) && !(enemyon(1, 7)) && !(enemyon(2, 7)) && !(enemyon(3, 7)) && rochaderotgross == true)
                            mLaunchpadDevice[2, 7].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Medium);
                        if (!(eigeneron(5, 7)) && !(eigeneron(6, 7)) && !(enemyon(5, 7)) && !(enemyon(6, 7)) && rochaderotklein == true)
                            mLaunchpadDevice[6, 7].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Medium);
                        baueristdran = false;
                        dameistdran = false;
                        turmistdran = false;
                        springeristdran = false;
                        laeuferistdran = false;
                        koenigistdran = true;
                        return;

                    }
                    //Wenn der Grüne könig gewählt wurde..
                    if (zug == 2 && koeniggruen.ison(e.X, e.Y))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Off, ButtonBrightness.Medium);

                        if (!(eigeneron(e.X, e.Y - 1)) && e.Y - 1 >= 0)
                            mLaunchpadDevice[e.X, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full); //Oben
                        if (!(eigeneron(e.X + 1, e.Y - 1)) && e.Y - 1 >= 0 && e.X + 1 < 8)
                            mLaunchpadDevice[e.X + 1, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full); //Schräg rechts oben
                        if (!(eigeneron(e.X + 1, e.Y)) && e.X + 1 < 8)
                            mLaunchpadDevice[e.X + 1, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full); //Rechts..
                        if (!(eigeneron(e.X + 1, e.Y + 1)) && e.Y + 1 < 8 && e.X + 1 < 8)
                            mLaunchpadDevice[e.X + 1, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full); //Schräg Runten
                        if (!(eigeneron(e.X, e.Y + 1)) && e.Y + 1 < 8)
                            mLaunchpadDevice[e.X, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 1, e.Y + 1)) && e.Y + 1 < 8 && e.X - 1 >= 0)
                            mLaunchpadDevice[e.X - 1, e.Y + 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 1, e.Y)) && e.X - 1 >= 0)
                            mLaunchpadDevice[e.X - 1, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        if (!(eigeneron(e.X - 1, e.Y - 1)) && e.Y - 1 >= 0 && e.X - 1 >= 0)
                            mLaunchpadDevice[e.X - 1, e.Y - 1].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        //Rochade
                        if (!(eigeneron(1, 0)) && !(eigeneron(2, 0)) && !(eigeneron(3, 0)) && !(enemyon(1, 0)) && !(enemyon(2, 0)) && !(enemyon(3, 0)) && rochadegruengross == true)
                            mLaunchpadDevice[2, 0].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Medium);
                        if (!(eigeneron(5, 0)) && !(eigeneron(6, 0)) && !(enemyon(5, 0)) && !(enemyon(6, 0)) && rochadegruenklein == true)
                            mLaunchpadDevice[6, 0].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Medium);

                        baueristdran = false;
                        turmistdran = false;
                        dameistdran = false;
                        springeristdran = false;
                        laeuferistdran = false;
                        koenigistdran = true;
                        return;

                    }

                    ///////////WENN ROTER LÄUFER GEWÄHLT WURDE//////////////////////
                    if (zug == 1 && (l1r.ison(e.X, e.Y) || l2r.ison(e.X, e.Y) || ersatzlaeufer1.ison(e.X, e.Y) || ersatzlaeufer2.ison(e.X, e.Y) || ersatzlaeufer3.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Off);
                        bool makebreak = false;

                        for (int r = e.X + 1, o = e.Y + 1; r < 8 && o < 8; ++r, ++o) //rechts unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X + 1, o = e.Y - 1; r < 8 && o >= 0; ++r, --o) //rechts oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X - 1, o = e.Y + 1; r >= 0 && o < 8; --r, ++o) //links unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X - 1, o = e.Y - 1; r >= 0 && o >= 0; --r, --o) //links oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }

                        laeufer = checklaeufer(e.X, e.Y);
                        baueristdran = false;
                        springeristdran = false;
                        turmistdran = false;
                        koenigistdran = false;
                        dameistdran = false;
                        laeuferistdran = true;
                        return;

                    }

                    ///////////WENN GRÜNER LÄUFER GEWÄHLT WURDE//////////////////////
                    if (zug == 2 && (l1g.ison(e.X, e.Y) || l2g.ison(e.X, e.Y) || ersatzlaeufer1g.ison(e.X, e.Y) || ersatzlaeufer2g.ison(e.X, e.Y) || ersatzlaeufer3g.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Off, ButtonBrightness.Medium);
                        bool makebreak = false; ;

                        for (int r = e.X + 1, o = e.Y + 1; r < 8 && o < 8; ++r, ++o) //rechts unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X + 1, o = e.Y - 1; r < 8 && o >= 0; ++r, --o) //rechts oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X - 1, o = e.Y + 1; r >= 0 && o < 8; --r, ++o) //links unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X - 1, o = e.Y - 1; r >= 0 && o >= 0; --r, --o) //links oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }

                        laeuferg = checklaeufer(e.X, e.Y);
                        baueristdran = false;
                        springeristdran = false;
                        turmistdran = false;
                        koenigistdran = false;
                        dameistdran = false;
                        laeuferistdran = true;
                        return;

                    }

                    //WENN ROTE DAME GEWÄHLT WURDE
                    if (zug == 1 && (damerot.ison(e.X, e.Y) || ersatzdame1.ison(e.X, e.Y) || ersatzdame2.ison(e.X, e.Y) || ersatzdame3.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Medium, ButtonBrightness.Off);

                        if (damerot.ison(e.X, e.Y))
                            dame = 1;
                        else if (ersatzdame1.ison(e.X, e.Y))
                            dame = 2;
                        else if (ersatzdame2.ison(e.X, e.Y))
                            dame = 3;
                        else if (ersatzdame3.ison(e.X, e.Y))
                            dame = 4;

                        bool makebreak = false; ;

                        for (int r = e.X + 1, o = e.Y + 1; r < 8 && o < 8; ++r, ++o) //rechts unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X + 1, o = e.Y - 1; r < 8 && o >= 0; ++r, --o) //rechts oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X - 1, o = e.Y + 1; r >= 0 && o < 8; --r, ++o) //links unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X - 1, o = e.Y - 1; r >= 0 && o >= 0; --r, --o) //links oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;

                        for (int r = e.X + 1; r < 8; ++r) //rechts
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, e.Y))
                                break;
                            if (enemyon(r, e.Y))
                                makebreak = true;

                            mLaunchpadDevice[r, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int l = e.X - 1; l >= 0; --l) //links
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(l, e.Y))
                                break;
                            if (enemyon(l, e.Y))
                                makebreak = true;

                            mLaunchpadDevice[l, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int u = e.Y + 1; u < 8; ++u) //unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(e.X, u))
                                break;
                            if (enemyon(e.X, u))
                                makebreak = true;

                            mLaunchpadDevice[e.X, u].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int o = e.Y - 1; o >= 0; --o) //oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(e.X, o))
                                break;
                            if (enemyon(e.X, o))
                                makebreak = true;

                            mLaunchpadDevice[e.X, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }

                        baueristdran = false;
                        turmistdran = false;
                        springeristdran = false;
                        laeuferistdran = false;
                        koenigistdran = false;
                        dameistdran = true;
                        return;

                    }

                    //WENN GRÜNE DAME GEWÄHLT WURDE
                    if (zug == 2 && (damegruen.ison(e.X, e.Y) || ersatzdame1g.ison(e.X, e.Y) || ersatzdame2g.ison(e.X, e.Y) || ersatzdame3g.ison(e.X, e.Y)))
                    {
                        if (mixer == false)
                            launchpadaus(mLaunchpadDevice);
                        else
                            showboard();
                        mLaunchpadDevice[e.X, e.Y].SetBrightness(ButtonBrightness.Off, ButtonBrightness.Medium);

                        if (damegruen.ison(e.X, e.Y))
                            dameg = 1;
                        else if (ersatzdame1g.ison(e.X, e.Y))
                            dameg = 2;
                        else if (ersatzdame2g.ison(e.X, e.Y))
                            dameg = 3;
                        else if (ersatzdame3g.ison(e.X, e.Y))
                            dameg = 4;

                        bool makebreak = false;

                        for (int r = e.X + 1, o = e.Y + 1; r < 8 && o < 8; ++r, ++o) //rechts unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X + 1, o = e.Y - 1; r < 8 && o >= 0; ++r, --o) //rechts oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X - 1, o = e.Y + 1; r >= 0 && o < 8; --r, ++o) //links unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int r = e.X - 1, o = e.Y - 1; r >= 0 && o >= 0; --r, --o) //links oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, o))
                                break;
                            if (enemyon(r, o))
                                makebreak = true;

                            mLaunchpadDevice[r, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;

                        for (int r = e.X + 1; r < 8; ++r) //rechts
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(r, e.Y))
                                break;
                            if (enemyon(r, e.Y))
                                makebreak = true;

                            mLaunchpadDevice[r, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int l = e.X - 1; l >= 0; --l) //links
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(l, e.Y))
                                break;
                            if (enemyon(l, e.Y))
                                makebreak = true;

                            mLaunchpadDevice[l, e.Y].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int u = e.Y + 1; u < 8; ++u) //unten
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(e.X, u))
                                break;
                            if (enemyon(e.X, u))
                                makebreak = true;

                            mLaunchpadDevice[e.X, u].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }
                        makebreak = false;
                        for (int o = e.Y - 1; o >= 0; --o) //oben
                        {
                            if (makebreak == true)
                                break;
                            if (eigeneron(e.X, o))
                                break;
                            if (enemyon(e.X, o))
                                makebreak = true;

                            mLaunchpadDevice[e.X, o].SetBrightness(ButtonBrightness.Full, ButtonBrightness.Full);
                        }

                        baueristdran = false;
                        turmistdran = false;
                        springeristdran = false;
                        laeuferistdran = false;
                        koenigistdran = false;
                        dameistdran = true;
                        return;

                    }
                    //<-----------neue Figuren bitte wieder hier dazu

                }

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            }