Hiển thị các bài đăng có nhãn Source Code. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Source Code. Hiển thị tất cả bài đăng

Thứ Bảy, 3 tháng 1, 2015

Tổng hợp source code ASP.NET [Đồ Án]

http://www.codecoding.com/wp-content/uploads/2011/03/aspnet.jpg

  ASP/ASP.net
  1. Thiết kế website khách sạn Download
  2. Quản lý website phòng trọ sinh viên ASP Download
  3. Quản lý website điểm học sinh trung học phổ thông ASP.net Download
  4. Quản lý chuyến bay ASP.net Download
  5. Quản lý website tra cứu đồ án của sinh viên ASP Download
  6. Quản lý website rao vặt ASP Download
  7. Quản lý sân bay ASP Download
  8. Quản lý website cửa hàng máy tính ASP Download
  9. Quản lý website công ty lương thực ASP Download
  10. Quản lý website truyền hình cáp ASP Download
  11. Quản lý website nghe nhạc xem videos ASP.net Download
  12. Quản lý bán hàng multishop ASP.net Download
  13. Quản lý website tai nạn giao thông thành phố ASP Download
  14. Quản lý xây dựng trang thông tin điện tử vể game ASP Download
  15. Quản lý tra cứu điểm thi ASP Download
  16. Quản lý nhà đất ASP Download
  17. Quản lý khách sạn ASP Download
  18. Quản lý học phí ASP Download
  19. Quản lý website bán hàng sony ASP.net Download
  20. Quản lý shop thời trang ASP.net Download
  21. Quản lý các tuyến du lịch ASP Download
  22. Quản lý thư viện trường đại học cửu long ASP Download
  23. quản lý website bán máy tính asp.net Download
  24. Quản lý website bán thiết bị y tế ASP Download
ASP/ASP.net code kèm báo cáo ( word)
  1. Quản lý sinh viên online ASP.net Download
  2. Quản lý sổ liên lạc điện tử ASP.net Download
  3. Quản lý website bán điện thoại di động ASP.net Download
  4. Quản lý website bán hàng máy tính ASP.net Download
  5. Quản lý website bán hàng qua mạng mây tre đan ASP Download
  6. Quản lý website bán hàng thời trang ASP.net Download
  7. Quản lý website bán máy tính ASP.net Download
  8. Quản lý website bán quần áo trực tuyến ASP.net Download
  9. Quản lý website bán sách online ASP.net Download
  10. Quản lý website bán thiệp pop up ASP.net Download
  11. Quản lý website giới thiệu công ty môi trường Download
  12. Quản lý website giới thiệu công ty phần mềm ASP.net Download
  13. Quản lý website giới thiệu sản phẩm bánh đậu xanh ASP.net Download
  14. Quản lý website giới thiệu thành phố hải dương ASP.net Download
  15. Quản lý website giới thiệu và bán điện thoại di động ASP.net Download
  16. Quản lý website hổ trợ ôn thi trắc nghiệp ASP.net Download
  17. Quản lý website mua bán điện thoại di động ASP Download
  18. Quản lý website phòng khám nha khoa ASP.net Download
  19. Quản lý website quảng bá công ty du lịch ASP.net Download
  20. Quản lý website tin tức ASP.net Download
  21. quản lý website vật liệu xây dựng ASP.net Download
  22. Quản lý website về tin tức công nghệ phần mềm ASP.net Download



Tổng hợp source code WEB [Đồ Án]

[​IMG]Tổng hợp source code WEB [Đồ Án]

  1. Quản lý bán mỹ phẫm Download
  2. Quản lý công ty du lịch khách sạn Dowload
  3. Quản lý sim số đẹp Download
  4. Quản lý website âm nhạc vũ trường Download
  5. Quản lý website bán áo đồng phục Download
  6. Quản lý website bán điện thoại di động Download
  7. Quản lý website bán đồng hồ Download
  8. Quản lý website bán hàng Điện Hoa Download
  9. Quản lý website bán hoa Download
  10. Quản lý website bán máy tính Download
  11. Quản lý website bán nhân sâm Download
  12. Quản lý website bán phụ tùng oto Download
  13. Quản lý website bán quần áo Download
  14. Quản lý website bán vé máy bay Download
  15. Quản lý website bất động sản Download
  16. Quản lý website blog radio Download
  17. Quản lý website các món ăn và ẩm thực Download
  18. Quản lý website công ty thương mại và dịch vụ Ngôi Sao Kỹ Thuật Số Download
  19. Quản lý website công ty trà thảo mộc Download
  20. Quản lý website công ty xây dựng Download
  21. Quản lý website công ty xây dựng 2 Download
  22. Quản lý website dịch vụ quảng cáo bán đèn LED Download
  23. Quản lý website giới thiệu công ty Download
  24. Quản lý website lưu bút trực tuyến Download
  25. Quản lý website mạng xã hội giống Facebook Download
  26. Quản lý website mạng xã hội giống twitter Download
  27. Quản lý website nhà đất Download
  28. Quản lý website nhà hàng khách sạn Download
  29. Quản lý website nội thất Download
  30. Quản lý website phụ tùng oto xe máy Download
  31. Quản lý website quảng cáo Download
  32. Quản lý website rao vặt Download
  33. Quản lý website shop bán domain hosting Download
  34. Quản lý website thẫm mỹ viện spa Download
  35. Quản lý website thi trắc nghiệm qua mạng Download
  36. Quản lý website tin tức bóng đá Download
  37. Quản lý website tin tức Download
  38. Quản lý website tin tức thời trang và cuộc sống Download
  39. Quản lý website trường trung học phổ thông Download
  40. Quản lý website tuyển dụng việc làm Download
  41. Quản lý website văn phòng luật sư Download
  42. Quản lý website xem phim online Download
  43. Quản lý website đọc truyện online Download
  44. Thiết Kế Web May Veston Trực Tuyến Download
  45. Thiết kế website ẩm thực Download
  46. Thiết kế website bán điện thoại di động 2 Download
  47. Thiết kế website bán trang sức Download
  48. Thiết kế website bán túi xách Download
  49. Thiết kế website cho siêu thị cafe Download
  50. Thiết kế website đại lý bán xe honda Download
  51. Thiết kế website doanh nghiệp quản bá sản phẩm Download
  52. Thiết kế website du lịch Download
  53. Thiết kế website du lịch 2 Download
  54. Thiết kế website giao diện áo cưới Download
  55. Thiết kế website giày bitit Download
  56. Thiết kế website giày thể thao nữ Download
  57. Thiết kế website giới thiệu nông sản ninh thuận Download
  58. Thiết kế Website giới thiệu về du lịch Quảng Nam Download
  59. Thiết kế website kinh doanh điện thoại di động Download
  60. Thiết kế website kinh doanh mỹ phẩm 2 Download
  61. Thiết kế website kinh doanh nước hoa mỹ phẩm Download
  62. Thiết kế website kinh doanh trang sức đá quý Download
  63. Thiết kế website mỹ phẩm Download
  64. Thiết kế website nhạc cụ Download
  65. Thiết kế website quà tặng lưu niệm Download
  66. Thiết kế website rau sạch Download
  67. Thiết kế website sản phẩm thời trang Download
  68. Thiết kế website shop hoa Download
  69. Thiết kế website thay lời muốn nói Download
  70. Thiết kế website thời trang Download
  71. Thiết kế website thông tin chuyên đề tài xe hơi Download
  72. Thiết kế website trang trí nội thất Download

Tổng hợp source code C# [Đồ Án]

Tổng hợp source code C# [Đồ Án]





https://lh3.googleusercontent.com/-5PdoqSp76lU/AAAAAAAAAAI/AAAAAAAAABI/mVcnO_wyNOI/photo.jpg
http://sysworld.in/images/C1.jpg
Code C#
  1. Quản lý bán hàng điện tử Download
  2. Quản lý bán hàng siêu thị Download
  3. Quản lý cafe Download
  4. Quản lý cửa hàng TV Download
  5. Quản lý của hàng xe máy Download
  6. Quản lý kí túc xá Download
  7. Quản lý sắp xếp thời khóa biểu Download
  8. Quản lý thu chi Download
  9. Quản lý thu chi kế toán Download
  10. Quản lý tính tiền nước Download
  11. Quản lý tuyển dụng Download
  12. Quản lý điểm học sinh trung học phổ thông Download
  13. Quản lý điểm sinh viên Download
  14. Rắn săn mồi Download
  15. website bán điện thoại Download
  16. nhận dạng dấu vân tay Download
  17. Chat LAN sử dụng socket C# Download
  18. Chuyển đổi các hệ cơ số C# Download
  19. đàn nhạc piano C# Download
  20. Đồ án quản lý bán sách C# Download
  21. Đồng hồ đặtl ịch báo thức C# Download
  22. Đồng hồ kim C# Download
  23. Game cờ tướng Chess C# Download
  24. Game cờ vua C# Download
  25. Game line 2008 C# Download
  26. game luyện trí nhớ Moving Memory C# Download
  27. game rắn săn mồi C# Download
  28. Game Sondoku C# Download
  29. Game xếp hình Tetris C# Download
  30. Lịch ngày tháng C# Download
  31. Máy tính nâng cao Casio C# Download
  32. Nhận dạng dấu vân tay C# Download
  33. Phần mềm vẽ đồ thị C# Download
  34. Quản lý bài hát C# Download
  35. Quản lý bán hàng C# Download
  36. Quản lý bưu điện C# Download
  37. Quản lý các tuyến du lịch C# Download
  38. Quản lý chương trình hỗ trợ tìm việc làm C# Download
  39. Quản lý chương trình luyện thi trắc nghiệm C# Download
  40. Quản lý chương trình nghe nhạc C# Download
  41. Quản lý chương trình nghe nhạc online C# Download
  42. Quản lý chương trình thi trắc nghiệm tin học đại cương C# Download
  43. Quản lý công việc C# Download
  44. Quản lý cửa hàng 1 C# Download
  45. Quản lý cửa hàng bán đĩa C# Download
  46. Quản lý cửa hàng bán xe máy C# Download
  47. Quản lý cửa hàng C# Download
  48. Quản lý cửa hàng mua bán thuốc C# Download
  49. Quản lý đại lý C# Download
  50. Quản lý danh bạ điện thoại C# Download
  51. Quản lý điểm học sinh trung học phổ thông C# Download
  52. Quản lý điểm sinh viên 1 C# Download
  53. Quản lý điểm sinh viên C# Download
  54. Quản lý đoàn viên thanh niên C# Download
  55. Quản lý hẹn giờ tắt máy tính C# Download
  56. Quản lý hồ sơ nhân viên C# Download
  57. Quản lý học sinh trung học phổ thông 1 C# Download
  58. Quản lý khách sạn 2 C# Download
  59. Quản lý khách sạn 3 C# Download
  60. Quản lý kho hàng C# Download
  61. Quản lý kho máy tính C# Download
  62. Quản lý kí túc xá 1 C# Download
  63. Quản lý mua bán C# Download
  64. Quản lý ngân hàng C# Download
  65. Quản lý nhà trọ C# Download
  66. Quản lý nhân sự 1 C# Download
  67. Quản lý nhân sự C# Download
  68. Quản lý nhân viên sữ dụng access C# Download
  69. Quản lý phòng mạch C# Download
  70. Quản lý quán cafe # Download
  71. Quản lý quán karaoke C# Download
  72. Quản lý quầy thuốc C# Download
  73. Quản lý sinh viên 2 C# Download
  74. Quản lý sinh viên C# Download
  75. Quản lý sinh viên ở trọ C# Download
  76. Quản lý thu chi kế toán C# Download
  77. Quản lý thu tiền nước C# Download
  78. Quản lý thư viện 1 C# Download
  79. Quản lý thư viện 2 C# Download
  80. Quản lý thư viện C# Download
  81. Quản lý thư viện LINQ C# Download
  82. Quản lý tiền lương C# Download
  83. Quản lý tra cứu kiến thức gia đình C# Download
  84. Quản lý trung tâm tin học C# Download
  85. Quản lý trường học 1 C# Download
  86. Quản lý trường học C# Download
  87. Quản lý website bán hàng điện thoại C# Download
  88. Quản lý xe và lái xe C# Download
  89. thuật toán mã đi tuần bằng giao diện C# Download
  90. Tìm hình pokemon C# Download
  91. Truyền file qua mạng LAN FileTransfer C# Download
  92. Ứng dụng chơi caro trên mạng LAN C# Download
  93. Ứng dụng Silverlight viết game cờ caro C# Download
  94. vẽ đồ thị C# Download
C# kèm báo cáo
  1. Chat trong mạng LAN C# Download
  2. Game cờ cá ngựa C# Download
  3. Giấu tin trong ảnh C# Download
  4. Phần mềm hỗ trợ truy xuất file C# Download
  5. Quản lý bán hàng C# Download
  6. Quản lý bán sách C# Download
  7. Quản lý chương trình xử lý ảnh C# Download
  8. Quản lý đào tạo và sắp xếp thời khóa biểu C# Download
  9. Quản lý điểm khoa công nghệ thông tin C# Download
  10. Quản lý điểm trường trung học phổ thông C# Download
  11. Quản lý dữ liệu phổ cập trung học cơ sở C# Download
  12. Quản lý hồ sơ công chức C# Download
  13. Quản lý học lại C# Download
  14. Quản lý học sinh trường trung học phổ thông C# Download
  15. Quản lý học viên C# Download
  16. Quản lý khách hàng mua bảo hiểm C# Download
  17. Quản lý khách sạn 1 C# Download
  18. Quản lý khách sạn 2 C# Download
  19. Quản lý khách sạn C# Download
  20. Quản lý món ăn ngon C# Download
  21. Quản lý nhà sách C# Download
  22. Quản lý nhân sự C# Download
  23. Quản lý nhân sự tiền lương C# Download
  24. Quản lý tài sản công cụ ngân hàng C# Download
  25. Quản lý thi trắc nghiệm bằng lái xe máy C# Download
  26. Quản lý thi trắc nghiệm tin học đại cương C# Download
  27. Quản lý thi trắc trắc nghiệm anh văn C# Download
  28. Quản lý thư viện 2 C# Download
  29. Quản lý tiền gửi tiết kiệm C# Download
  30. Quản lý tổ chức sự kiện C# Download
  31. Quản lý tra cứu phần mềm máy tính C# Download
  32. Quản lý vay vốn chính sách xã hội C# Download
  33. Quản lý xử lý anh Filters C# Download
  34. Quản lý xử lý dữ liệu phổ cập tiểu học C# Download
  35. Quản lý xử lý thuật toán mã hóa C# Download
  36. Thay đổi màn hình máy tính C# Download
  37. Thuật toán sắp xếp thời khóa biểu C# Download
  38. Xây dựng ứng dụng kiểm thử phần mềm tự động C# Download


 Nguồn : Tài liệu bạc kim.

Chủ Nhật, 21 tháng 12, 2014

Code website bán hàng C# và ASP

1/ Phần mềm quản lí (C# chạy trên Visual Studio 10.0)
Cái này mình đã viết tương đối hoàn chỉnh, bắt lỗi input dữ liệu, thay đổi số lượng hàng hóa theo hóa đơn, tính toán thống kê tài chính ….)
Nếu lần đầu tiên chạy thì nó sẽ yêu cầu kết nối như sau, các bạn thao tác kêt nối đến SQL rùi chọn DB mà ban nãy mới restore ra nhé.
[​IMG]

Sau đó các bạn dung acount: AD01 và pass là 1 để đăng nhập quyền admin cao nhất (mình quản lí cả nhân viên nên phân quyền các thứ đủ cả )

[​IMG]


[​IMG]


[​IMG]


[​IMG]


[​IMG]


2/ Website bán hàng (ASP.NET)

Bao gồm các hạng mục: show sản phẩm, giỏ hàng, feedback, cho phép khách hàng tạo tài khoản và truy cập thông tin cá nhân của khác hàng, tìm kiếm cơ bản và nâng cao….)
Để chạy được web thì các bạn phải vào file Web.config để sửa kết nối DB nhé, bạn nào chưa bít làm thì có để lại cm bên dưới mình sẽ hướng dẫn. (Dùng chung Database với cái ở trên nhé, 2 cái này quản lí lẫn nhau mà )

Link : Quản lý website bá điện thoại

Thứ Ba, 16 tháng 12, 2014

Source code chương trình chụp ảnh toàn bộ trang Web (Webpage capture)

3

c2.png

 Source code chương trình chụp ảnh toàn bộ trang Web

Sử dụng một WebBrowser control để nạp trang web, bạn có thể chụp được ảnh màn hình dựa vào kích thước của tài liệu trong WebBrowser thông qua phương thức Graphics.CopyFromScreen(). Tuy nhiên, WebBrowser đã hỗ trợ sẵn phương thức DrawToBitmap() giúp bạn làm việc này.

Download demo + sourcecode (16KB)
Pass giải nén: hoidapit.com.vn

Screenshot:


Phương pháp chụp hình trang web này dựa vào việc tạo một WebBrowser và phóng to cửa sổ để hiển thị toàn bộ trang web. Sau đó ta sẽ dùng phương thức DrawToBitmap() để lưu ảnh vào một Bitmap.
Để đảm bảo việc chụp ảnh trang web chỉ diễn ra một lần, ta cần làm công việc này trong sự kiện WebBrowser.DocumentCompleted, và sử dụng thêm property WebBrowser.ReadyStateđể kiểm tra việc nạp xong trang web.

Chụp ảnh

Phương thức CaptureWebPage() sau cung cấp thêm việc hiển thị tiến trình làm việc của WebBrowser thông qua một progressBar1:
void CaptureWebPage(string url)
{
    Cursor.Current=Cursors.WaitCursor;
    progressBar1.Show();
    if (_browser == null) {
        _browser = new WebBrowser();
        _browser.ProgressChanged += (sender,e) =>
        {
             progressBar1.Value = (int)(((double)e.CurrentProgress / e.MaximumProgress)*100);
        };
 
        _browser.DocumentCompleted += (sender, e) =>
        {
            if (_browser.ReadyState == WebBrowserReadyState.Complete) {
 
                int width = _browser.Document.Body.ScrollRectangle.Width;
                int height =_browser.Document.Body.ScrollRectangle.Height;
 
                _bitmap = new Bitmap(width,height);
 
                _browser.Size = _bitmap.Size;
                _browser.DrawToBitmap(_bitmap,_browser.Bounds);
                _browser.Stop();
 
                pictureBox1.Image = _bitmap;
                pictureBox1.Size = _bitmap.Size;
 
                lblImageSize.Text= String.Format("{0} x {1} pixels",_bitmap.Width,_bitmap.Height);
 
                progressBar1.Hide();
            }
        };
    }
    _browser.Navigate(url);
}

Thay đổi kích thước ảnh

Vì việc resize sẽ làm thay đổi ảnh nên cần sử dụng một đối tượng Bitmap (thành viên của lớp) để lưu lại ảnh ban đầu. Ví dụ sau sử dụng một NumericUpDown cho phép người dùng thay đổi kích thước theo phần trăm, từ đó tính ra kích thước mới (width x height):
void NumPercentValueChanged(object sender, EventArgs e)
{
    if(_bitmap==null)
        return;
    float percent=(float)(numPercent.Value/100);
    Bitmap bmp=new Bitmap((int)(_bitmap.Width*percent),(int)(_bitmap.Height*percent));
    lblImageSize.Text= String.Format("{0} x {1} pixels",bmp.Width,bmp.Height);
    Graphics g=Graphics.FromImage(bmp);
    g.DrawImage(_bitmap,0,0,bmp.Width,bmp.Height);
    pictureBox1.Image=bmp;
    pictureBox1.Size=bmp.Size;
}

Lưu ảnh

Sử dụng phương thức Image.Save(), phương thức này chấp nhận một tham số ImageFormatdành cho định dạng ảnh:
void BtnSaveClick(object sender, EventArgs e)
{
    if(saveFileDialog1.ShowDialog()==DialogResult.OK)
    {
        ImageFormat format;
        switch(saveFileDialog1.FilterIndex)
        {
            case 1:
                format=ImageFormat.Png;
                break;
            case 2:
                format=ImageFormat.Jpeg;
                break;
            default:
                format=ImageFormat.Bmp;
                break;
        }
        pictureBox1.Image.Save(saveFileDialog1.FileName,format);
    }
}

Source code chương trình minh họa việc biểu diễn đồ thị bằng GDI+

 Source code chương trình minh họa việc biểu diễn đồ thị bằng GDI+

Đây là chương trình nhằm mục đích minh họa cho việc biểu diễn và cài đặt các thuật toán liên quan đến đồ thị thông qua thuật toán Floyd. Bạn có thể dùng chuột để vẽ và di chuyển các node của đồ thị, khoảng cách giữa hai node cũng như ma trận kề (adjacency matrix) của đồ thị sẽ được tính toán và tự động thay đổi theo.
Chương trình này cũng là một ví dụ đơn giản về cách vẽ, di chuyển và thay đổi kích thước các control bằng chuột trong quá trình runtime. Các đối tượng trong form hầu hết là control, bạn có thể thay thế hoàn toàn bằng GDI+ nhưng công việc xử lý sẽ tốn kém hơn.
cs4.png

Các công cụ vẽ bao gồm (trong Toolbox):
cs2.png

Mô tả 1 số chức năng có trong chương trình:
- Hỗ trợ đồ thị vô hướng và có hướng
- Chức năng xóa node, edge
- Không cho phép di chuyển node ra ngoài khung nhìn
- Hiệu ứng di chuyển trên đường đi ngắn nhất giữa 2 đỉnh.
- Hiển thị đường đi ngắn nhất (gián tiếp) trên ma trận kề.
- Lưu trạng thái của chương trình sau khi thoát.
- Cố định tốc độ di chuyển của bóng dẫn đường (bug).
- Cho phép chọn (edge tool), xoá cạnh (eraser tool).

Download sourcecode + demo
Pass giải nén: hoidapit.com.vn

Tìm đường đi ngắn nhất với Breadth First Search trong C#



Tìm đường đi ngắn nhất với Breadth First Search trong C# - Source code Wumpus Game

breadth-first-search-and-wumpus-game.png
Tìm đường đi ngắn nhất là một trong những bài toán được ứng dụng trong nhiều lĩnh vực. Và một thuật toán cơ bản và đơn giản nhất để làm điều này mà bạn có thể đã biết là Breadth First Search (BFS – Tìm kiếm theo chiều rộng). Cơ chế làm việc của thuật toán tương tự như vết dầu loang, tìm kiếm những điểm gần nhất trước. Bạn có thể thấy một vài game sử dụng bản đồ hay liên quan đến AI cũng có thể sử dụng thuật toán này. Một ví dụ bạn có thể áp dụng thuật toán này là n-puzzle mà tôi đã cài đặt bằng thuật toán A* để giải quyết.

Download sourcecode + demo (VC# 2010)
Pass giải nén: hoidapit.com.vn

Giới thiệu

Wumpus là một game điển hình được giải bằng cách sử dụng AI và logic. Tuy nhiên vì đây là chỉ là mình họa đơn giản cho thuật toán Breadth First Search nên ta không cần quan tâm tới phần các phần biểu diễn và suy luận logic trong chương trình.

Dựa vào mục đích trên, tôi sẽ thiệu vài nét cơ bản về game Wumpus. Đây là một game đơn giản có dạng bản đồ bao gồm các đối tượng Agent (nhân vật chính),  Pit (hố), Wumpus (một loại quái vật) và Gold (rương vàng).

Mục đích của ví dụ này là tìm đường sao cho Agent đến được Gold và không đụng phải các Pit và Wumpus. Một điểm ta cần quan tâm nữa là Agent luôn xuất phát tại điểm (0,0).


Giải thuật tổng quát

Trong giải thuật này ta cần định nghĩa các thành phần sau:
br2.png

Giải thuật được mô tả bằng mã giả như sau:
Begin
    Open := {start};
    Close := ø;
    While (Open <> ø) do
        begin
            n:= Dequeue(Open);
            if (n=goal) then Return True;
            Open := Open + G(n);
            Close := Close + {n};
        end;
    Return False;
End;

Ta thấy rằng G(n) dựa vào tập Close để kiểm tra các vị trí có cần được kiểm tra hay không. Nếu bạn cài đặt hai tập này bằng một collection thì tốc độ thực thi sẽ tương đối chậm vì phải thực hiện tìm kiếm phần tử trong danh sách.

Do ví dụ của ta có dạng bản đồ nên thay vì dùng collection, ta sẽ sử dụng mảng hai chiều để có thể truy xuất trực tiếp đến một phần tử dựa vào vị trí. Khi đó ta có thể kiểm tra thuộc tính của phần tử xem nó đã được duyệt chưa.

Các lớp cơ bản

Mỗi ô vuông đơn vị trong bản đồ được tôi sử dụng một đối tượng Square sau để biểu diễn. Giá trị của property State của Square cho ta biết chính xác ô đó chứa thứ gì. Thuộc tính Marked chỉ được dùng để đánh dấu làm nổi bật đường đi khi ta tìm thấy đường.
enum SquareState
{
    Wumpus,
    Pit,
    Gold,
}
struct Square
{
    public SquareState State { get; set; }
    public bool Marked { get; set; }
}

Phần vẽ bản đồ đơn giản là ta tạo một mảng Square rồi random đặt các trạng thái Wumpus, Pit, Gold. Sau cùng dùng sự kiện  OnPaint() để hiển thị lên màn hình.

Lớp BreadthFirstSearch hiện thực đoạn mã giả ở phần trên bằng C#. Contructor của lớp này nhận một mảng 2 chiều Square để tạo nên mảng MyPoint. Các ô có giá trị là Wumpus hoặc Pit sẽ không được tạo và sẽ mang giá trị mặc định là null.
class BreathFirstSearch
{
    MyPoint[,] _cells;
    Queue open = new Queue();
    Point goal;
    public BreathFirstSearch(Square[,] data)
    {
        _cells = new MyPoint[data.GetLength(0), data.GetLength(1)];
        for (int i = 0; i < _cells.GetLength(0); i++)
        {
            for (int j = 0; j < _cells.GetLength(1); j++)
            {
                if (data[i, j].State == SquareState.Gold)
                    goal = new Point(i, j);
                if (data[i, j].State == SquareState.None ||
                    data[i, j].State == SquareState.Gold)
                    _cells[i, j] = new MyPoint(i, j);
            }
        }
        open.Enqueue(new MyPoint(0, 0));
    }
    public List FindPath()
    {
        while (open.Count > 0)
        {
            MyPoint p = open.Dequeue();
            if (p.ToPoint()==goal)
            {
                return GetSolution(p);
            }
            if (p != null)
            {
                GenMove(p);
            }
        }
        return null;
    }
    void AddToOpen(MyPoint point, MyPoint previous)
    {
        if (point != null && !point.Visited)
        {
            point.Visited = true;
            point.Previous = previous;
            open.Enqueue(point);
        }
    }
    List GetSolution(MyPoint p)
    {
        List list = new List();
        list.Add(p.ToPoint());
        while (p.Previous != null)
        {
            list.Add(p.Previous.ToPoint());
            p = p.Previous;
        }
        return list;
    }
    void GenMove(MyPoint p)
    {
        if (p.X < _cells.GetLength(0) - 1)
            AddToOpen(_cells[p.X + 1, p.Y], p);
        if (p.Y < _cells.GetLength(1) - 1)             AddToOpen(_cells[p.X, p.Y + 1], p);         if (p.X > 0)
            AddToOpen(_cells[p.X - 1, p.Y], p);
        if (p.Y > 0)
            AddToOpen(_cells[p.X, p.Y - 1], p);
    }
}

Lớp MyPoint được định nghĩa như sau:
class MyPoint
{
    public int X;
    public int Y;
    public bool Visited = false;
    public MyPoint Previous;
// [...]
}

Tôi sử dụng biến Previous để lưu vị trí của phần tử trước đó, như vậy khi tìm được đích, ta sẽ dựa vào giá trị này để lần ngược lại đường đi từ vị trí xuất phát đến đích. Bạn có thể thấy phương thức GetSolution() trong lớp BreadthFirstSearch thực hiện điều này như thế nào.

Phần kết

Đây là chỉ là một ví dụ đơn giản minh họa cho thuật toán Breadth First Search giúp bạn có thể dễ dàng cài đặt để ứng dụng trong các chương trình hoặc các game nhỏ. Sẽ là một thiếu sót nếu tôi chỉ trình bày về thuật toán tìm kiểm chiều rộng mà không nói về thuật toán tìm kiếm theo chiều sâu (Depth First Search – DFS). Trong bài viết tiếp theo bạn sẽ thấy một chương trình đơn giản mô phỏng trực quan thuật toán này bao gồm hiệu ứng quay lui (backtracking). Dựa vào đó bạn có thể so sánh được sự khác biệt giữa thuật toán BFS này và DFS.



Game trúc xanh

Game trúc xanh

Game cá ngựa

Game cá ngựa

 

Game cờ tuớng

Game cờ tuớng

Bài toán mã đi tuần

Bài toán mã đi tuần

Game pikachu

Game pikachu

Game rắn ăn mồi

Game rắn ăn mồi

 

Thứ Năm, 25 tháng 9, 2014

Bảng băm (HashTable)- chương trình từ điển


Viết chương trình Từ điển sử dụng cấu trúc bảng băm với các chức năng sau
• Thêm một từ mới
• Tra từ
• Cập nhật từ (sửa đổi nội dung)
• Xoá từ

CHƯƠNG TRÌNH MINH HỌA BẢNG BĂM DÙNG PHƯƠNG PHÁP DÒ TUYẾN TÍNH, GIÁ TRỊ LƯU TRỮ LÀ SỐ NGUYÊN
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #define M 11  // khai bao kich thuoc bang bam
  4. #define NULLKEY -365  // khai bao nut rong co gia tri la -365
  5. #define TRUE 1
  6. #define FALSE 0
  7. int BangBam[M];  // tao bang bam voi kich thuoc M
  8. int SoNut; // so nut cua bang bam
  9. int HamBam(int k)
  10. {
  11.     return k%M;
  12. }
  13. void KhoiTaoBangBam()
  14. {
  15.     for(int i=0;i<M;i++)
  16.         BangBam[i]=NULLKEY;
  17. }
  18. int Full()  // kiem tra xem bang bam da day hay chua?
  19. {
  20.     if (SoNut==M-1) return TRUE;
  21.     else return FALSE;
  22. }
  23. int Search(int k)  // tim kiem khoa K co o trong bang bam hay khong?
  24. {
  25.     int i=HamBam(k);
  26.     while (BangBam[i]!=&& BangBam[i]!=NULLKEY)
  27.     {
  28.         i++;
  29.         if (i>=M) i=i-M;
  30.     }
  31.     if (BangBam[i]==k) return i;
  32.     else return M;
  33. }
  34. int ThemPhanTu(int k) // them khoa k vao bang bam
  35. {
  36.     int i,j;
  37.     if (Full())
  38.     {
  39.         printf("\nBang bam da day");
  40.         return 0;
  41.     }
  42.     i=HamBam(k);
  43.     while (BangBam[i]!=NULLKEY)
  44.     {
  45.         i++;
  46.         if (i>=M) i=i-M;
  47.     }
  48.     BangBam[i]=k;
  49.     SoNut++;
  50.     return i;
  51. }
  52. void InBangBam()  
  53. {
  54.     printf("\nBANG BAM CUA BAN:\n");
  55.     printf("\n\t\tVi tri\t\t\tKhoa\n");
  56.     for(int i=0;i<M;i++)
  57.         if (BangBam[i]!=NULLKEY)
  58.             printf("\n\t\t%d\t\t\t%d",i,BangBam[i]);
  59.         else
  60.             printf("\n\t\t%d\t\t\tNULL",i);
  61. }
  62. void main()
  63. {
  64.     clrscr();
  65.     int khoa_nhap,khoa_tim;
  66.     KhoiTaoBangBam();
  67.     printf("\tCHUONG TRINH MINH HOA BANG BAM DUNG PHUONG PHAP TIM TUYEN TINH");
  68.     for(int i=0;i<M-1;i++)
  69.     {
  70.         printf("\nNhap phan tu thu %d:",i+1);
  71.         scanf("%d",&khoa_nhap);
  72.         ThemPhanTu(khoa_nhap);
  73.     }
  74.     InBangBam();
  75.     printf("\n\nNhap vao khoa ban can tim:");
  76.     scanf("%d",&khoa_tim);
  77.     int result=Search(khoa_tim);
  78.     if (result==M) printf("Khong tim thay %d trong bang bam",khoa_tim);
  79.     else printf("\nTim thay roi! %d nam o vi tri thu %d trong bang bam",khoa_tim,result);
  80.     getch();
  81. }






Source code[Đồ án-C#]: 
Liên hệ: vuthanhnam94@gmail.com

Bài đăng phổ biến