Example #1
0
        // spustenie hry, nastavia sa vsetky potrebne nastavenia a zobrazi sa hracia
        // plocha s puzzle kuskami a oknom s instrukciami(len pri prvom spusteni programu)
        private void button2_Click(object sender, EventArgs e)
        {
            if (gameData.SourcePicture != null)
            {
                textBox1.Visible    = false;
                pictureBox1.Visible = false;
                button1.Visible     = false;
                button2.Visible     = false;
                panel5.Visible      = true; //obsahuje button3==Restart, button4==NewGame

                //
                //nastavime pociatocne data pre hru
                //
                gameData.SourcePicture          = PictureEditor.CropImage(gameData.SourcePicture, gridLayer.StartCutLocation, gridLayer.EndCutLocation);
                gameData.PiecesGridDimensions   = gridLayer.GridDimensions;
                gameData.PiecesCount            = gameData.PiecesGridDimensions.Width * gameData.PiecesGridDimensions.Height;
                gameData.PieceDimensions        = gridLayer.PieceDimensions;
                gameData.PieceSurroundingSize   = (int)Math.Ceiling(gameData.PieceDimensions.Width * 0.163);
                gameData.GameBoard              = this.panel4;
                gameData.GameBoardStartPosition = new Point(50, 50);

                PuzzleGameUtilities.CreatePieces(gameData);
                PuzzleGameUtilities.SetOriginalPiecesLocations(gameData);
                PuzzleGameUtilities.SetPiecesArrangement(gameData);
                PuzzleGameUtilities.SetPiecesImages(gameData);
                PuzzleGameUtilities.SetPiecesOriginalNeighbours(gameData);
                PuzzleGameUtilities.RandomizePiecesLocations(gameData);


                //
                //Pociatocne nastavenia gameboard-u
                //
                gameboard = new Gameboard(this, gameData, panel4.Size);
                //gameboard ako instancia Form nesmie byt nastavena na top level control !!
                gameboard.TopLevel = false;
                panel4.Controls.Add(gameboard);
                gameboard.Visible  = false;
                gameboard.Anchor   = AnchorStyles.None;
                gameboard.Anchor   = (AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right);
                gameboard.Location = new Point(0, 0); //pozicia vo vnutri panel4
                gameboard.Visible  = true;

                if (showGameInstructions)
                {
                    this.panel6.BringToFront();
                    this.panel6.Visible = true;
                    // zabezpecime aby sa to ukazalo iba pri prvom spusteni
                    showGameInstructions = false;
                }
            }
            else
            {
                noPictureLabel.Visible = true;
                // MessageBox.Show("Nebol vybraný obrazok!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #2
0
        // Button = nova hra, zahodia sa objekty reprezentujuce staru hru, prednastavenia pred dalsou hrou
        private void button4_Click(object sender, EventArgs e)
        {
            // zoomLabel odstranime z panelu3 (tenky pasik)
            this.panel3.Controls.Clear();

            // gameboard sa prestane zobrazovat v panel-y
            this.gameboard.Visible = false;

            // odoberieme gameboard z panela, pred tym nez ho zahodime
            this.panel4.Controls.Remove(PuzzleGameUtilities.ControlByName(panel4, "gameboard"));

            // zahodime staru hraciu plochu
            gameboard = null;

            // zahodime stare data pre hru
            gameData = null;

            // vytvorime nove data pre hru
            gameData = new PuzzleGameData();

            // naspat zobrazime controls pre vyber obrazka
            textBox1.Visible           = true;
            textBox1.Text              = "";
            pictureBox1.Image          = null;
            pictureBox1.Visible        = false;
            choosePictureLabel.Visible = true;
            choosePictureLabel.BringToFront();
            autorLabel.BringToFront();
            autorLabel.Visible = true;

            button1.Visible = true;
            button2.Visible = true;

            panel5.Visible = false;  //obsahuje button3==Restart, button4==NewGame

            if (showGameInstructions)
            {
                showGameInstructions = false;
                this.panel6.Visible  = false;
            }
        }