Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Cách random Images trong game slide puzzle 3x3 ô?

    Chào mọi người, tôi đang viết game slide puzzle 3x3 ô, một app trên windows phone 7.1, nền tảng Silverlight. Game đã viết gần xong, chỉ còn lại vấn đề cuối cùng là: random hình ảnh.


    Ảnh chụp phần chơi 3x3
    Xem trong hình trên, mỗi ô ảnh là 1 StackPanel (các bạn có thể xem là PictureBox trong winform cho quen), mỗi ô chứa 1 Image có đánh ID - ngoại trừ ô trắng không có chứa Image
    . Bên phải ô trắng còn có 2 ô ảnh bị ẩn nữa. Các ID được đánh tăng dần từ trái sang phải, từ trên xuống dưới, bắt đầu từ ô trắng có ID = 1.

    Ban đầu tôi dùng giải thuật chọn ra 2 ô ảnh bất kì, rồi swap chúng với nhau, lặp lại thao tác này khoảng 100 lần. Vấn đề phát sinh là sau khi random thì phát sinh 1 trong 2 trạng thái: đưa về hình gốc <font color="blue">thành công
    không thành công - luôn có 2 ô ảnh bị sau vị trí.
    Tôi dùng mảng 1 chiều để quản lí các StackPanel trên.

    Các bác có biết cách nào khác dùng để random ảnh luôn đưa ra trạng thái có thể đưa về ảnh gốc, xin chia sẻ!

    Sau đây là code:
    Code trộn ảnh.
    Mã:
    void Scrambles()
            {
                var count = 0;
                while (count < 25)
                {
                    var a = _rnd.Next(5, 11);
                    var b = _rnd.Next(5, 11);
    
                    if (a == b) continue;
    
                    var stack1 = FindStackPanelByTagId(a);
                    var stack2 = FindStackPanelByTagId(b);
    
                   
                   var image1 = stack1.Children[0];
                   var image2 = stack2.Children[0];
    
                   stack1.Children.Clear();
                   stack2.Children.Clear();
    
                   stack1.Children.Add(image2);
                   stack2.Children.Add(image1);
                   count++;
                }
            }
    Xin cám ơn mọi đóng góp và chia sẻ!</font>

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn có thể cho mình Demo được không?

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •