コード例 #1
0
ファイル: Form1.cs プロジェクト: nx269/LightPuzzle
        protected void lightBoxClick(object sender, EventArgs e, LightBox.Coordinates coordinates)
        {
            LightBox clickedLightBox = LightBoxHelper.GetLightBoxByCoordinates(lightBoxes, coordinates);

            clickedLightBox.Active = !clickedLightBox.Active;
            foreach (LightBox neighbours in clickedLightBox.Neighbours)
            {
                neighbours.Active = !neighbours.Active;
            }

            bool win = LightBoxHelper.CheckWin(lightBoxes, gridSize);

            if (win)
            {
                DialogResult dialogResult = MessageBox.Show("Would you like to try again?", "Well Done", MessageBoxButtons.YesNo);
                if (dialogResult == DialogResult.Yes)
                {
                    NewGame();
                }
                else if (dialogResult == DialogResult.No)
                {
                    Application.Exit();
                }
            }
        }
コード例 #2
0
ファイル: LightBoxHelper.cs プロジェクト: nx269/LightPuzzle
        public static LightBox GetLightBoxByCoordinates(List <LightBox> lightBoxes, LightBox.Coordinates coordinates)
        {
            LightBox lightBoxMatch = null;

            foreach (LightBox lightBox in lightBoxes)
            {
                if (lightBox.Location == coordinates)
                {
                    lightBoxMatch = lightBox;
                }
            }
            return(lightBoxMatch);
        }