// 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); } }
// 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; } }