Xây dựng phần mềm đánh cờ caro

49 21 1
Xây dựng phần mềm đánh cờ caro

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ ` NGUYỄN THẾ CƢỜNG BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: XÂY DỰNG PHẦN MỀM ĐÁNH CỜ CARO Nghệ An, tháng năm 2017 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ ` BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: XÂY DỰNG PHẦN MỀM ĐÁNH CỜ CARO Sinh viên thực hiện: Nguyễn Thế Cƣờng - 1251075348 Lớp: 53K2 – Công nghệ thông tin Giáo viên hƣớng dẫn: TS Phan Anh Phong Nghệ An, tháng năm 2017 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong LỜI MỞ ĐẦU Với phát triển nhảy vọt công nghệ thơng tin nay, cộng thêm kinh tế thị trường luôn vận động không ngừng, người khơng có cơng việc thường nhật đơn giản trước mà ngày phải chịu áp lực sống Sự căng thẳng áp lực công việc sống ngày nhiều đòi hỏi người cần có thứ thư giãn, giải khy chơi thể thao, xem phim, nghe nhạc, … thật môi trường xã hội loại hình giải trí cần u cầu khơng gian, thời gian lớn khơng phải đáp ứng Với yêu cầu đặt đó, cần máy tính, khơng cần thiết phải kết nối mạng internet, người dùng đáp ứng nhu cầu giải tri giảm bớt căng thẳng mệt mỏi giải pháp hiệu quả, hợp lý Trị chơi cờ caro máy tính, laptop đáp ứng được, không cần yêu cầu cao với đơn giản cú click chuột mà người dùng giảm bớt áp lực nhiều Thêm vào đó, caro trị chơi trí tuệ, rèn giũa cho khả tư duy, bao quát toàn cục, vận động linh hoạt sáng tạo trí tuệ thân, có kỹ bình tĩnh ứng phó suy nghĩ kỹ hành xử sống Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong LỜI CẢM ƠN Để hoàn thành đồ án tốt nghiệp này, em xin chân thành gửi lời cảm ơn tới thầy, cô giáo trường Đại học Vinh nói chung thầy khoa Cơng nghệ Thơng Tin nói riêng tận tình giảng dạy, truyền đạt cho em kiến thức kinh nghiệm quý báu suốt thời gian qua Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến thầy giáo TS Phan Anh Phong, thầy ln giúp đỡ tận tình, tạo điều kiện tốt cho em trình hướng dẫn đồ án Sự dẫn tận tình ý kiến đóng góp thầy giúp em nhiều q trình hồn thiện đồ án Em xin gửi lời cảm ơn tới gia đình, bạn bè, anh chị quan tâm, động viên tạo điều kiện tốt để em hồn thành đồ án Mặc dù em có cố gắng định thời gian kiến thức hạn hẹp nên đồ án nhiều thiếu sót hạn chế Kính mong nhận đóng góp ý kiến thầy bạn để đồ án hoàn thiện Em xin chân thành cảm ơn! Nghệ An, tháng năm 2017 Sinh viên Nguyễn Thế Cường Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong MỤC LỤC CHƢƠNG I TỔNG QUAN ĐỀ TÀI 1 Tên đề tài .….1 Lịch sử luật chơi trò chơi cờ caro Mục tiêu, nội dung nghiên cứu ý nghĩa .2 CHƢƠNG II CÁC CÔNG CỤ HỖ TRỢ XÂY DỰNG PHẦN MỀM .3 Đặc tả toán Lựa chọn công cụ .3 Xác định yêu cầu chức phần mềm .4 Tiềm cần khai thác phương hướng phát triển .5 4.1 Phát triển theo hướng áp dụng mơ hình Client – Server 4.2 Phát triển theo hướng áp dụng mơ hình Client – Server kết hợp với P2P .8 CHƢƠNG III XÂY DỰNG PHẦN MỀM Tạo giao diện cho trò chơi .9 Xây dựng bàn cờ chức 10 2.1 Class ô cờ 10 2.2 Class bàn cờ .10 2.3 Class chơi cờ 11 2.4 Xây dựng bàn cờ 11 Xử lý trò chơi 12 Xử lý thắng thua .13 Vấn đề trí tuệ nhân tạo (AI) trị chơi 19 5.1 Sơ lược trí tuệ nhân tạo .19 5.2 Trí tuệ nhân tạo ứng dụng tốn lập trình trị chơi cờ caro .20 5.3 Xác định phương hướng áp dụng trí tuệ nhân tạo 22 5.4 Thiết kế vấn đề cần xử lý 23 5.5 Lập trình AI trị chơi cờ caro 23 CHƢƠNG IV KIỂM TRA ĐÁNH GIÁ PHẦN MỀM 37 Giao diện trò chơi 37 Các chức trò chơi 38 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong 2.1 Tiến hành chơi với kiểu chơi người với người 38 2.2 Tiến hành chơi kiểu chơi người với máy 39 2.3 Chức lựa chọn trận đấu 40 2.4 Chức khỏi trị chơi 40 CHƢƠNG V KẾT LUẬN 41 Ưu điểm 41 Nhược điểm 41 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong MỤC LỤC HÌNH ẢNH Hình 1.1 : Ví dụ cờ caro thực tiễn Hình 2.1: Giao diện mơi trường MS Visual 2010 Hình 2.2 : Mơ hình mạng Internet Hình 2.3 : Mơ hình Client – Server Hình 2.4 : Mơ hình mạng ngang hàng P2P .7 Hình 3.1 : Giao diện trị chơi Hình 3.2 : Duyệt dọc kiểm tra chiến thắng 15 Hình 3.3 : Duyệt ngang kiểm tra chiến thắng 16 Hình 3.4 : Duyệt chéo kiểu kiểm tra chiến thắng .17 Hình 3.5 : Duyệt chéo kiểu kiểm tra chiến thắng .18 Hình 3.6 : Sơ đồ tìm kiếm .20 Hình 3.7 : Bàn cờ 21 Hình 3.8 : Các hướng xảy quân cờ 22 Hình 4.1 : Giao diện phần mềm hoàn thành 37 Hình 4.2 : Thiết lập chế độ chơi menu .38 Hình 4.3 : Thiết lập chế độ chơi nút bấm 38 Hình 4.4 : Chơi cờ chế độ chơi Player vs Player 38 Hình 4.5 : Thiết lập chế độ chơi menu .39 Hình 4.6 : Thiết lập chế độ chơi nút bấm 39 Hình 4.7 : Chơi cờ chế độ chơi Player vs Com 39 Hình 4.8 : Thiết lập chế độ chơi nút bấm 40 Hình 4.9 : Bàn cờ 40 Hình 4.10 : Thốt trò chơi menu 40 Đồ án tốt nghiệp đại học Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong CHƢƠNG I TỔNG QUAN ĐỀ TÀI Tên đề tài Đề tài : Xây dựng phần mềm trò chơi cờ caro Lịch sử luật chơi trò chơi cờ caro Cờ ca-rơ (hay sọc ca-rơ) trị chơi bàn cờ theo chiến thuật trừu tượng Cờ ca-rô tiếng Triều Tiên omok (오목), tiếng Trung 五子棋 (phiên âm: wǔzǐqí) tiếng Nhật 五目並べ (gomoku narabe); tiếng Anh, sử dụng lại tiếng Nhật, gọi gomoku.[2] Ban đầu loại cờ chơi quân cờ vây (quân cờ màu trắng đen) bàn cờ vây (19x19) Quân đen trước người chơi đặt quân cờ họ giao điểm trống Người thắng người có chuỗi liên tục gồm quân hàng ngang, dọc, chéo Tuy nhiên, đặt xuống, quân cờ di chuyển bỏ khỏi bàn, loại cờ chơi giấy bút Ở Việt Nam, cờ thường chơi giấy tập học sinh (đã có sẵn ca-rơ), dùng bút đánh dấu hình trịn (O) chữ X để đại diện cho quân cờ Trong luật bổ sung luật renju (theo tên gọi người Nhật) phức tạp chặt chẽ nhất, đồng thời giúp cân hội quân trắng (đi sau) với quân đen Theo giải thi đấu quốc tế tại, Gomoku chơi theo luật Swap để đáp ứng công Người trước xếp quân cờ lên bàn theo ý muốn để người sau chọn:  Nếu đồng ý với cờ, người sau cần chơi tiếp từ nước thứ thường lệ  Nếu không đồng ý với cờ, người sau đổi bên đặt thêm quân cờ (tạo mới) để người trước chọn màu (quân cờ màu đen), ván cờ tiếp tục thường lệ từ cờ Một hàng có nhiều quân liên tiếp màu (overline) không coi thắng lợi, trận đấu tiếp tục bên có quân hàng kết hịa, khơng có đáp ứng điều kiện Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong Trong thi đấu quốc tế, luật thi đấu dựa hình thức: người ăn ván gomoku trước thắng Nhưng thi đấu cờ caro khơng mang nặng hình thức thi đấu giải đấu mà thư giãn, vui chơi sảng khối người Việt Nam thường sử dụng luật thi đấu :  Cả hai bên chọn người trước  Người chơi trước tạo nước cờ đến lượt người chơi thứ tạo nước cờ tiếp tục  Bên có dọc ( thẳng, chéo, ngang) nước mà bị chặn đầu trước chiến thắng  Số nước nước mà bị chặn hai đầu chưa thắng Hình 1.1 : Ví dụ cờ caro thực tiễn Mục tiêu, nội dung nghiên cứu ý nghĩa Xây dựng phần mềm chơi cờ caro tảng C# giúp chúng tìm hiểu tốt hơn, kỹ sâu sắc cơng cụ lập trình trực quan C# qua label, textbox, button,… ; xây dựng tốt giao diện phần mềm sử dụng ngơn ngữ lập trình C#, xử lý kiện tìm hiểu thêm nhiều ứng dụng trí tuệ nhân tạo thơng qua việc điều khiển cho người chơi máy ( computer) tự động đánh trả theo logic tuân thủ luật chơi Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong CHƢƠNG II CÁC CÔNG CỤ HỖ TRỢ XÂY DỰNG PHẦN MỀM Đặc tả tốn Xây dựng trị chơi cờ caro chạy máy vi tính laptop có đầy đủ chức cho trò chơi, xử lý thắng thua theo luật chơi Việt Nam, có giao diện gần gũi – thân thiện với người sử dụng, hoạt động ổn định, tin cậy Lựa chọn công cụ Xây dựng trò chơi cờ caro chạy máy vi tính laptop viết ngơn ngữ lập trình C# sử dụng cơng cụ lập trình Microsoft Visual Studio 2010 [1] Hình 2.1: Giao diện mơi trường MS Visual 2010 Microsoft Visual Studio 2010 môi trường phát triển tích hợp (IDE) từ Microsoft Nó sử dụng để phát triển chương trình máy tính cho Microsoft Windows, trang web, ứng dụng web dịch vụ web Visual Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong iSoQuanDich++; break; } if (Mang_O_Co[Dong, Cot - iDem].ISo_Huu == 0) break; } if (iSoQuanDich == 2) return 0; iScoreAttack += Attack_Score[iSoQuanTa]; iScoreAttack -= Attack_Score[iSoQuanDich]; iScoreTempNgang += iScoreAttack; return iScoreTempNgang; } private long Score_Attack_Duyet_Cheo_Nguoc(long Dong, long Cot) { long iScoreTempCheoNguoc = 0; long iScoreAttack = 0; int iSoQuanTa = 0; int iSoQuanDich = 0; for (int iDem = 1; iDem < && Cot + iDem < BanCo.ISoCot && Dong + iDem < BanCo.ISoDong; iDem++) { if (Mang_O_Co[Dong + iDem, Cot + iDem].ISo_Huu == 1) iSoQuanTa++; if (Mang_O_Co[Dong + iDem, Cot + iDem].ISo_Huu == 2) { iScoreTempCheoNguoc -= 9; iSoQuanDich++; break; } Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 28 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong if (Mang_O_Co[Dong + iDem, Cot + iDem].ISo_Huu == 0) break; } for (int iDem = 1; iDem < && Cot - iDem >= && Dong - iDem >= 0; iDem++) { if (Mang_O_Co[Dong - iDem, Cot - iDem].ISo_Huu == 1) iSoQuanTa++; if (Mang_O_Co[Dong - iDem, Cot - iDem].ISo_Huu == 2) { iScoreTempCheoNguoc -= 9; iSoQuanDich++; break; } if (Mang_O_Co[Dong - iDem, Cot - iDem].ISo_Huu == 0) break; } if (iSoQuanDich == 2) return 0; iScoreAttack += Attack_Score[iSoQuanTa]; iScoreAttack -= Attack_Score[iSoQuanDich]; iScoreTempCheoNguoc += iScoreAttack; return iScoreTempCheoNguoc; } private long Score_Attack_Duyet_Cheo_Xuoi(long Dong, long Cot) { long iScoreTempCheoXuoi = 0; long iScoreAttack = 0; Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 29 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong int iSoQuanTa = 0; int iSoQuanDich = 0; for (int iDem = 1; iDem < && Cot - iDem >= && Dong + iDem < BanCo.ISoDong; iDem++) { if (Mang_O_Co[Dong + iDem, Cot - iDem].ISo_Huu == 1) iSoQuanTa++; if (Mang_O_Co[Dong + iDem, Cot - iDem].ISo_Huu == 2) { iScoreTempCheoXuoi -= 9; iSoQuanDich++; break; } if (Mang_O_Co[Dong + iDem, Cot - iDem].ISo_Huu == 0) break; } for (int iDem = 1; iDem < && Cot + iDem < BanCo.ISoCot && Dong iDem >= 0; iDem++) { if (Mang_O_Co[Dong - iDem, Cot + iDem].ISo_Huu == 1) iSoQuanTa++; if (Mang_O_Co[Dong - iDem, Cot + iDem].ISo_Huu == 2) { iScoreTempCheoXuoi -= 9; iSoQuanDich++; break; } if (Mang_O_Co[Dong - iDem, Cot + iDem].ISo_Huu == 0) break; } Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 30 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong if (iSoQuanDich == 2) return 0; iScoreAttack += Attack_Score[iSoQuanTa]; iScoreAttack -= Attack_Score[iSoQuanDich]; iScoreTempCheoXuoi += iScoreAttack; return iScoreTempCheoXuoi; } #endregion #region Defense private long Score_Defend_Duyet_Doc(long Dong, long Cot) { long iScoreTempDoc = 0; long iScoreDefend = 0; int iSoQuanDich = 0; int iSoQuanTa = 0; for (int iDem = 1; iDem < && Dong + iDem < BanCo.ISoDong; iDem++) { if (Mang_O_Co[Dong + iDem, Cot].ISo_Huu == 1) { iSoQuanTa++; break; } if (Mang_O_Co[Dong + iDem, Cot].ISo_Huu == 2) iSoQuanDich++; if (Mang_O_Co[Dong + iDem, Cot].ISo_Huu == 0) break ; } Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 31 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong for (int iDem = 1; iDem < && Dong - iDem >= 0; iDem++) { if (Mang_O_Co[Dong - iDem, Cot].ISo_Huu == 1) { iSoQuanTa++; break; } if (Mang_O_Co[Dong - iDem, Cot].ISo_Huu == 2) iSoQuanDich++; if (Mang_O_Co[Dong - iDem, Cot].ISo_Huu == 0) break; } if (iSoQuanTa == 2) return 0; iScoreDefend += Defend_Score[iSoQuanDich]; if (iSoQuanDich > 0) iScoreDefend -= Attack_Score[iSoQuanTa] * 2; iScoreTempDoc += iScoreDefend; return iScoreTempDoc; } private long Score_Defend_Duyet_Ngang(long Dong, long Cot) { long iScoreTempNgang = 0; long iScoreDefend = 0; int iSoQuanDich = 0; int iSoQuanTa = 0; for (int iDem = 1; iDem < && Cot + iDem < BanCo.ISoCot; iDem++) { if (Mang_O_Co[Dong, Cot + iDem].ISo_Huu == 1) Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 32 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong { iSoQuanTa++; break; } if (Mang_O_Co[Dong, Cot + iDem].ISo_Huu == 2) iSoQuanDich++; if (Mang_O_Co[Dong, Cot + iDem].ISo_Huu == 0) break; } for (int iDem = 1; iDem < && Cot - iDem >= 0; iDem++) { if (Mang_O_Co[Dong, Cot - iDem].ISo_Huu == 1) { iSoQuanTa++; break; } if (Mang_O_Co[Dong, Cot - iDem].ISo_Huu == 0) break; if (Mang_O_Co[Dong, Cot - iDem].ISo_Huu == 2) iSoQuanDich++; } if (iSoQuanTa == 2) return 0; iScoreDefend += Defend_Score[iSoQuanDich]; if (iSoQuanDich > 0) iScoreDefend -= Attack_Score[iSoQuanTa] * 2; iScoreTempNgang += iScoreDefend; return iScoreTempNgang; } Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 33 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong private long Score_Defend_Duyet_Cheo_Nguoc(long Dong, long Cot) { long iScoreTempCheoNguoc = 0; long iScoreDefend = 0; int iSoQuanDich = 0; int iSoQuanTa = 0; for (int iDem = 1; iDem < && Cot + iDem < BanCo.ISoCot && Dong + iDem < BanCo.ISoDong; iDem++) { if (Mang_O_Co[Dong + iDem, Cot + iDem].ISo_Huu == 1) { iSoQuanTa++; break; } if (Mang_O_Co[Dong + iDem, Cot + iDem].ISo_Huu == 0) break; if (Mang_O_Co[Dong + iDem, Cot + iDem].ISo_Huu == 2) iSoQuanDich++; } for (int iDem = 1; iDem < && Cot - iDem >= && Dong - iDem >= 0; iDem++) { if (Mang_O_Co[Dong - iDem, Cot - iDem].ISo_Huu == 1) { iSoQuanTa++; break; } if (Mang_O_Co[Dong - iDem, Cot - iDem].ISo_Huu == 0) break; if (Mang_O_Co[Dong - iDem, Cot - iDem].ISo_Huu == 2) Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 34 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong iSoQuanDich++; } if (iSoQuanTa == 2) return 0; iScoreDefend += Defend_Score[iSoQuanDich]; if (iSoQuanDich > 0) iScoreDefend -= Attack_Score[iSoQuanTa] * 2; iScoreTempCheoNguoc += iScoreDefend; return iScoreTempCheoNguoc; } private long Score_Defend_Duyet_Cheo_Xuoi(long Dong, long Cot) { long iScoreTempCheoXuoi = 0; long iScoreDefend = 0; int iSoQuanDich = 0; int iSoQuanTa = 0; for (int iDem = 1; iDem < && Cot - iDem >= && Dong + iDem < BanCo.ISoDong; iDem++) { if (Mang_O_Co[Dong + iDem, Cot - iDem].ISo_Huu == 1) { iSoQuanTa++; break; } if (Mang_O_Co[Dong + iDem, Cot - iDem].ISo_Huu == 0) break; if (Mang_O_Co[Dong + iDem, Cot - iDem].ISo_Huu == 2) iSoQuanDich++; } Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 35 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong for (int iDem = 1; iDem < && Cot + iDem < BanCo.ISoCot && Dong iDem >= 0; iDem++) { if (Mang_O_Co[Dong - iDem, Cot + iDem].ISo_Huu == 1) { iSoQuanTa++; break; } if (Mang_O_Co[Dong - iDem, Cot + iDem].ISo_Huu == 0) break; if (Mang_O_Co[Dong - iDem, Cot + iDem].ISo_Huu == 2) iSoQuanDich++; } if (iSoQuanTa == 2) { return 0; } iScoreDefend += Defend_Score[iSoQuanDich]; if (iSoQuanDich > 0) iScoreDefend -= Attack_Score[iSoQuanTa] * 2; iScoreTempCheoXuoi += iScoreDefend; return iScoreTempCheoXuoi; } #endregion Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 36 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong CHƢƠNG IV KIỂM TRA ĐÁNH GIÁ PHẦN MỀM Giao diện trò chơi Hình 4.1 : Giao diện phần mềm hoàn thành Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 37 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong Các chức trò chơi 2.1 Tiến hành chơi với kiểu chơi ngƣời với ngƣời - Chọn Thiết lập / Trò chơi / Player vs Player menu - Hình 4.2 : Thiết lập chế độ chơi menu Hoặc nhấn nút Player vs Player giao diện Hình 4.3 : Thiết lập chế độ chơi nút bấm - Nhấn click chuột trái vào cần lựa chọn để có nước đầu tiên,người Player1 người Player Hai người chơi thay đến có người chiến thắng hịa cờ Hình 4.4 : Chơi cờ chế độ chơi Player vs Player Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 38 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong 2.2 Tiến hành chơi kiểu chơi ngƣời với máy - Chọn Thiết lập / Trò chơi / Player vs Com menu - Hình 4.5 : Thiết lập chế độ chơi menu Hoặc nhấn nút Player vs Com giao diện Hình 4.6 : Thiết lập chế độ chơi nút bấm - Ngay chọn kiểu chơi xong máy đánh nước ,ta nhấn click chuột trái vào ô cần lựa chọn để có nước Máy người chơi thay đến có người chiến thắng hịa cờ Hình 4.7 : Chơi cờ chế độ chơi Player vs Com Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 39 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong 2.3 Chức lựa chọn trận đấu - Nhấn chuột vào nút Chơi để có trận đấu chế độ chơi chọn Hình 4.8 : Thiết lập chế độ chơi nút bấm Hình 4.9 : Bàn cờ 2.4 Chức khỏi trị chơi - Chọn Thiết lập / Thoát menu nhấn nút giao diện Hình 4.10 : Thốt trị chơi menu Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 40 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong CHƢƠNG V KẾT LUẬN Trong thời gian thực đề tài, em cố gắng xây dựng phần mềm trò chơi dựa vào tốn đặt vào vị trí người dùng Với cố gắng nỗ lực hết mình, em hoàn thành đề tài thời gian quy định Ƣu điểm  Trò chơi đáp ứng tương đối phần nhu cầu việc giải trí điện tử  Tìm hiểu tương đối đầy đủ C#  Giao diện hệ thống thiết kế đơn giản, thân thiện dễ sử dụng  Em tích lũy nhiều kĩ năng, kiến thức chuyên môn  Phát huy khả đặt tốn dựa vào thực tế, quy trình ứng dụng kiến thức mơn học trí tuệ nhân tạo vào thực tiễn Nhƣợc điểm  Giao diện trò chơi chưa thực chuyên nghiệp  Các thuật toán chưa thực tối ưu  Một số chức cịn thiếu sót  Chưa phân cấp mức độ khó cho máy  Cần phát triển thêm theo hướng sử dụng lập trình mạng dự định Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 41 Đồ án tốt nghiệp đại học GVHD : Ts.Phan Anh Phong CHƢƠNG VI TÀI LIỆU THAM KHẢO [1] Lập trình C# cho ứng dụng sở liệu - Ts Hoàng Hữu Việt – Nhà xuất đại học Vinh (2015) [2] Cờ caro – Chu Nhẫn (1996) [3] Giáo trình trí tuệ nhân tạo - Ts Hồng Hữu Việt (2016) [4] C# NET Framwork- Dương Quang Thiên- Nhà xuất tổng hợp(2005) [5] The C# Player Guider - RB Whiteker(2015) [6] Lập trình mạng dùng socket – Vũ Văn Toàn – Nhà xuất tổng hợp (2010) Nguyễn Thế Cường – Lớp 53K2 – Khoa CNTT 42 ... Xây dựng bàn cờ Xây dựng thuộc tính cho lớp ô cờ để xác định nên ô cờ : - Chiều dài ô cờ Chiều rộng ô cờ Xử lý cờ theo dịng cột Vị trí ô cờ - Sở hữu ô cờ để xác định lượt cho người chơi Sau xây. .. Anh Phong Xây dựng bàn cờ chức Chúng ta cần xây dựng ô cờ bàn cờ để tiến hành chơi cờ, ô nắm vị trí nước đi,từ hình thành nên trận thi đấu q trình chơi cờ có phương thức để xử lý Xây dựng class... ĐỀ TÀI Tên đề tài Đề tài : Xây dựng phần mềm trò chơi cờ caro Lịch sử luật chơi trò chơi cờ caro Cờ ca-rô (hay sọc ca-rô) trò chơi bàn cờ theo chiến thuật trừu tượng Cờ ca-rô tiếng Triều Tiên

Ngày đăng: 01/08/2021, 10:36

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan