private void btnJugar_Click(object sender, EventArgs e) { Maze.kDimension = 10; cantDeCeldas = 0; TheMaze.Initialize(); //TheMaze.Generate(); g1 = pictureBox1.CreateGraphics(); g2 = pictureBox2.CreateGraphics(); g1.FillRectangle(Brushes.White, ClientRectangle); g2.FillRectangle(Brushes.White, ClientRectangle); //dimensiones del laberinto ya resuelto TheMaze.Generate(); TheMaze.Draw(g1); TheMaze.Draw(g2); //encuentra el punto de inicio y fin de forma aleatoria TheMaze.encontrarInicioFin(g1); TheMaze.encontrarInicioFin(g2); celdaMovil = TheMaze.inicio; //si el laberinto esta generado va a hacer true generado = true; //genera tiempo generarTiempo(); timer1.Enabled = true; timer2.Enabled = true; recorrido = TheMaze.recorrerProfundidad(TheMaze.inicio, TheMaze.fin, g2); //recorrido en profundidad devuelve una list TiempoRecorrido.Start(); // tiempo recorrido de computer }
private void TiempoRecorrido_Tick(object sender, EventArgs e) { if (cantDeCeldas <= recorrido.Count - 1) { g2.FillRectangle(Brushes.Gold, recorrido[cantDeCeldas].coleccionPuntos[0].X + 2.5f, recorrido[cantDeCeldas].coleccionPuntos[0].Y + 2.5f, tamañoCeldaD, tamañoCeldaD); cantDeCeldas++; } else { lblTiempo2.Enabled = false;//se deshabilita el label donde muestra el tiempo if (lblTiempo1.Enabled == false && lblTiempo2.Enabled == false) { TiempoRecorrido.Stop(); MessageBox.Show(compararTiempo()); this.Close(); } } }
private void ModoDeJuego2_FormClosed(object sender, FormClosedEventArgs e) { //si cierra la ventana se tiene que parar el timer TiempoRecorrido.Stop(); }