private void mazesToolStripMenuItem_Click(object sender, EventArgs e) { if (MessageBox.Show("Chọn mê cung khác sẽ chơi lại từ đầu. Bạn chắc chắn chọn?" , "My Snake", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { OpenFileDialog open = new OpenFileDialog(); open.Filter = "Level file (*.lev)|*.lev|All file (*.*)|*.*"; if (open.ShowDialog() == DialogResult.OK) { this.Reset(); vatCan.Clear(g); vatCan = new Wall(); vatCan.ReadFromFile(open.FileName); manHinh = new AI_Snake.Snake.Screen(); manHinh.ChangeTypeAll(vatCan.Walls, ScreenType.WALL); manHinh.ChangeTypeAll(conRan.SnakeBody, ScreenType.SNAKE); manHinh.ChangeTypeAll(ranThongMinh.SnakeBody, ScreenType.SNAKE); thucAn.Clear(g); thucAn = new Food(); do { thucAn.CreateFood(); } while (!manHinh.IsBlank(thucAn.Coordinates)); manHinh.ChangeTypeAt(thucAn.Coordinates, ScreenType.FOOD); ranThongMinh.FindPath(thucAn.Coordinates, manHinh); show_button.Text = "Show"; vatCan.Draw(g); thucAn.Draw(g); } } }
private void Reset() { g = panel1.CreateGraphics(); manHinh = new AI_Snake.Snake.Screen(); //khởi tạo vật cản vatCan = new Wall(); vatCan.ReadFromFile("level1.lev"); manHinh.ChangeTypeAll(vatCan.Walls, ScreenType.WALL); //khởi tạo con rắn conRan = new AI_Snake.Snake.Snake(); manHinh.ChangeTypeAll(conRan.SnakeBody, ScreenType.SNAKE); timer_tocDo.Interval = conRan.Speed; timer_tocDo.Enabled = false; camDi = Transfer.UP; //khởi tạo rắn thông minh ranThongMinh = new SmartSnake(Brushes.Blue, Brushes.LightSalmon, new Point(44, 5)); manHinh.ChangeTypeAll(ranThongMinh.SnakeBody, ScreenType.SNAKE); ranThongMinh.Speed = conRan.Speed; //tạo thức ăn thucAn = new Food(); do { thucAn.CreateFood(); } while (!manHinh.IsBlank(thucAn.Coordinates)); manHinh.ChangeTypeAt(thucAn.Coordinates, ScreenType.FOOD); //rắn thông minh tìm đường đi ranThongMinh.FindPath(thucAn.Coordinates, manHinh); show_button.Text = "Show"; //trang trí player_lbl.Text = "0"; computer_lbl.Text = "1"; play_button.Text = "Play"; play_button.Enabled = true; g.Clear(Color.White); vatCan.Draw(g); thucAn.Draw(g); conRan.Draw(g); ranThongMinh.Draw(g); gameOver = false; player = 0; computer = 0; player_lbl.Text = "0"; computer_lbl.Text = "0"; tocDo_lbl.Text = "100"; //âm thanh nhacnen = new SoundPlayer(@"nhac nen.wav"); //nhacRanMay = new SoundPlayer(@"Sound\ran may.wav"); //nhacRanNguoiChoi = new SoundPlayer(@"Sound\ran nguoi choi.wav"); nhacnen.Stop(); }
private void XuLy() { ScreenType temp; #region Xử lý cho rắn của người chơi temp = manHinh.GetScreenTypeAt(conRan.Head); if (temp != ScreenType.WALL && !conRan.Head.Equals(thucAn.Coordinates)) { manHinh.ChangeTypeAt(conRan.Head, ScreenType.SNAKE); } //gặp thức ăn else if (conRan.Head.Equals(thucAn.Coordinates)) { //nhacRanNguoiChoi.Play(); //nhacnen.PlayLooping(); manHinh.ChangeTypeAt(conRan.Head, ScreenType.SNAKE); this.GapThucAn(); this.TangTocDo(); return; } // đụng vật cản else { this.GameOver(); } #endregion #region Xử lý cho rắn của máy temp = manHinh.GetScreenTypeAt(ranThongMinh.Head); if (ranThongMinh.Head.Equals(thucAn.Coordinates)) { //nhacRanMay.Play(); //nhacnen.PlayLooping(); ranThongMinh.GrowUp(); computer_lbl.Text = (computer += 10).ToString(); this.TangTocDo(); //tạo thức ăn do { thucAn.CreateFood(); } while (!manHinh.IsBlank(thucAn.Coordinates)); manHinh.ChangeTypeAt(thucAn.Coordinates, ScreenType.FOOD); ranThongMinh.FindPath(thucAn.Coordinates, manHinh); show_button.Text = "Show"; thucAn.Draw(g); } #endregion if (computer == MAX_SCORE) { this.GameOver(); } }