LỜI NÓI ĐẦU Để cũng cố kiến thức về mạng, ngôn ngữ lập trình và các kiến thức đã học khác. Nhóm chúng em thực hiện đề tài: “Xây dựng phần mềm chơi cờ Caro online” cho môn thực tập chuyên ngành. Chúng em xin chân thành cảm ơn thầy Bùi Phú Cường đã giúp đỡ để chúng em hoàn thành tốt phần mềm. Quảng Ngãi, ngày 20 tháng 11 năm 2011 Thành viên nhóm: 1. Trương Công Nghĩa 2. Đỗ Tấn Trung 3. Nguyễn Văn Hành NHẬN XÉT CỦA GIÁO VIÊN MỤC LỤC 1. Giới thiệu chung Giới thiệu về phần mềm Cờ Caro là một trò chơi dân gian, rất dễ chơi, ai cũng có thể chơi được. Cờ Caro là một trò chơi trí tuệ, đòi hỏi người chơi phải nhanh trí trong khi chơi… Để xây dựng phần mềm, nhóm chúng em đã sử dụng công nghệ Web Service và ngôn ngữ lập trình C để thực hiện. Giới thiệu về Web Service Web Services là một cách chuẩn để tích hợp các ứng dụng trên nền web (Webbased applications). Các ứng dụng có thể sử dụng các thành phần khác nhau để tạo thành một dịch vụ, ví dụ như máy chủ chạy một trang web thương mại điện tử kết nối với cổng thanh toán điện tử qua một API Application Programming Interface ( tạo tởi công nghệ .NET thì web services chính là nền máy chủ (IIS Internet Information Services), và các thành phần thanh toán, các thành phần .NET được coi là component (các thành phầm bên ngoài). Các thành phần này được gọi bởi phương thức SOAP (Khác phương thức POST, GET) nên không bị gặp phải firewall khi truy xuất các thành phần bên ngoài máy chủ. Và toàn bộ các thành phần đó gọi là một Web Services. Các Web Services cho phép các tổ chức thực hiện truyền thông dữ liệu mà không cần phải có kiến thức về hệ thống IT phía sau tường lửa. Một số Web Services hiện nay có sẵn miễn phí và càng ngày càng hướng dần vào các doanh nghiệp. Một ví dụ về Web Service sẵn có là dịch vụ được cung cấp bởi PayPal cho phép những người có tài khoản có thể thanh toán hoặc trả một phần hoặc thực hiện các giao dịch tìm kiếm, và lấy lại các thông tin của từng giao dịch cụ thể. 2. Phân tích thiết kế hệ thống thông tin Pha phân tích Biểu đồ các user case Biểu đồ user case tổng quát Hệ thống gồm có ba chức năng chính là đăng nhập hệ thống, hiển thị thông tin, thi đâu. Khi người chơi đăng nhập hệ thống thành công sẽ đi đến chức năng hiển thị các thông tin người cùng chơi, sau đó vào thi đấu khi đã chọn đối thủ hay bàn chơi. Phân rã biểu đồ user case
Cờ Caro Online GVHD: Th.s Bùi Phú Cường LỜI NÓI ĐẦU Để cũng cố kiến thức về mạng, ngôn ngữ lập trình và các kiến thức đã học khác. Nhóm chúng em thực hiện đề tài: “Xây dựng phần mềm chơi cờ Caro online” cho môn thực tập chuyên ngành. Chúng em xin chân thành cảm ơn thầy Bùi Phú Cường đã giúp đỡ để chúng em hoàn thành tốt phần mềm. Quảng Ngãi, ngày 20 tháng 11 năm 2011 Thành viên nhóm: 1. Trương Công Nghĩa 2. Đỗ Tấn Trung 3. Nguyễn Văn Hành Thực tập chuyên ngành Trang 1 Cờ Caro Online GVHD: Th.s Bùi Phú Cường NHẬN XÉT CỦA GIÁO VIÊN MỤC LỤC TÀI LIỆU THAM KHẢO 61 Thực tập chuyên ngành Trang 2 Cờ Caro Online GVHD: Th.s Bùi Phú Cường 1. Giới thiệu chung Giới thiệu về phần mềm Cờ Caro là một trò chơi dân gian, rất dễ chơi, ai cũng có thể chơi được. Cờ Caro là một trò chơi trí tuệ, đòi hỏi người chơi phải nhanh trí trong khi chơi… Để xây dựng phần mềm, nhóm chúng em đã sử dụng công nghệ Web Service và ngôn ngữ lập trình C# để thực hiện. Giới thiệu về Web Service Web Services là một cách chuẩn để tích hợp các ứng dụng trên nền web (Web-based applications). Các ứng dụng có thể sử dụng các thành phần khác nhau để tạo thành một dịch vụ, ví dụ như máy chủ chạy một trang web thương mại điện tử kết nối với cổng thanh toán điện tử qua một API - Application Programming Interface ( tạo tởi công nghệ .NET thì web services chính là nền máy chủ (IIS - Internet Information Services), và các thành phần thanh toán, các thành phần .NET được coi là component (các thành phầm bên ngoài). Các thành phần này được gọi bởi phương thức SOAP (Khác phương thức POST, GET) nên không bị gặp phải firewall khi truy xuất các thành phần bên ngoài máy chủ. Và toàn bộ các thành phần đó gọi là một Web Services. Các Web Services cho phép các tổ chức thực hiện truyền thông dữ liệu mà không cần phải có kiến thức về hệ thống IT phía sau tường lửa. Một số Web Services hiện nay có sẵn miễn phí và càng ngày càng hướng dần vào các doanh nghiệp. Thực tập chuyên ngành Trang 3 Cờ Caro Online GVHD: Th.s Bùi Phú Cường Một ví dụ về Web Service sẵn có là dịch vụ được cung cấp bởi PayPal cho phép những người có tài khoản có thể thanh toán hoặc trả một phần hoặc thực hiện các giao dịch tìm kiếm, và lấy lại các thông tin của từng giao dịch cụ thể. 2. Phân tích - thiết kế hệ thống thông tin Pha phân tích Biểu đồ các user case Biểu đồ user case tổng quát Hệ thống gồm có ba chức năng chính là đăng nhập hệ thống, hiển thị thông tin, thi đâu. Khi người chơi đăng nhập hệ thống thành công sẽ đi đến chức năng hiển thị các thông tin người cùng chơi, sau đó vào thi đấu khi đã chọn đối thủ hay bàn chơi. Thực tập chuyên ngành Trang 4 Cờ Caro Online GVHD: Th.s Bùi Phú Cường Phân rã biểu đồ user case Biểu đồ user case đăng nhập Biểu đồ user case hiển thị thông tin Biểu đồ user case thống kê Thực tập chuyên ngành Trang 5 Cờ Caro Online GVHD: Th.s Bùi Phú Cường Biểu đồ trạng thái Chức năng dăng nhập Chức năng hiển thị thông tin Chức năng thi đấu Thực tập chuyên ngành Trang 6 Cờ Caro Online GVHD: Th.s Bùi Phú Cường 2.2 Pha thiết kế 2.2.1 Biểu đồ tuần tự 2.2.1.1 Đăng nhập 2.2.1.2 Chức năng hiển thị Thực tập chuyên ngành Trang 7 Cờ Caro Online GVHD: Th.s Bùi Phú Cường 2.2.1.3 Chức năng thi đấu 2.2.2 Biểu đồ cộng tác 2.2.2.1 Chức năng đăng nhập Thực tập chuyên ngành Trang 8 Cờ Caro Online GVHD: Th.s Bùi Phú Cường 2.2.2.2 Chức năng hiển thị 2.2.2.3 Chức năng thi đấu Thực tập chuyên ngành Trang 9 Cờ Caro Online GVHD: Th.s Bùi Phú Cường 2.2.3 Thiết kế chi tiết từng chức năng 2.2.3.1 Chức năng đăng nhập 2.2.3.2 Chức năng hiển thị thông tin Thực tập chuyên ngành Trang 10 [...].. .Cờ Caro Online 2.2.3.3 GVHD: Th.s Bùi Phú Cường Chức năng thi đấu 2.2.4 Biểu đồ hoạt động 2.2.4.1 Chức năng đăng nhập Thực tập chuyên ngành Trang 11 Cờ Caro Online 2.2.4.2 GVHD: Th.s Bùi Phú Cường Chức năng hiển thị thông tin Thực tập chuyên ngành Trang 12 Cờ Caro Online 2.2.4.3 GVHD: Th.s Bùi Phú Cường Chức năng thi đấu 2.2.5 Biểu đồ triển khai Thực tập chuyên ngành Trang 13 Cờ Caro Online. .. 27 Cờ Caro Online 3.2.2 GVHD: Th.s Bùi Phú Cường Form hiển thị Giới thiệu code: // //Gia nhập vào bàn cờ để chơi cùng hoặc chờ đợi đối thủ // private void btban_1_r_Click(object sender, EventArgs e) { try { ServiceCaro.Service1 ser = new COCAROONLINE.ServiceCaro.Service1(); string name = ((Button) (sender)).Name; string[] str = name.Split('_'); if (ban != 0) { Thực tập chuyên ngành Trang 28 Cờ Caro Online. .. 13 Cờ Caro Online GVHD: Th.s Bùi Phú Cường 3 Xây dựng chương trình 3.1 Xây dựng WebService //Tạo một class để lưu trử thông tin về bàn cờ public class BanCo { public string nameleft = ""; public string nameright = ""; public string quanleft = ""; public string quanright = ""; public int capdoleft = 0; public int capdoright = 0; //hàm trả về tình trạng bàn cờ public string Gettinhtrangban() { if (nameleft.Equals(""))... chuyên ngành Trang 16 Cờ Caro Online GVHD: Th.s Bùi Phú Cường if(gheta.Equals("l")) return dsbanco[ban].nameright; return dsbanco[ban].nameleft; } // //Hàm trả về quan cờ đối thủ trong bàn mình tham gia // [WebMethod] public string GetQuanDoiThu(int ban, string gheta) { if (gheta.Equals("l")) return dsbanco[ban].quanright; return dsbanco[ban].quanleft; } // //trả về tình trạng của bàn cờ nào đó // [WebMethod]... return 0; } } // //Lấy danh sách những người đang online // [WebMethod] public string GetUsers() { string strUser = string.Empty; for (int i = 0; i < arrUsers.Count; i++) { strUser = strUser + arrUsers[i].ToString() + "|"; } return strUser; Thực tập chuyên ngành Trang 20 Cờ Caro Online GVHD: Th.s Bùi Phú Cường } // //Lấy thông tin về tất cả các bàn cờ // [WebMethod] public string GetBanCo(int bandau,... //Thêm user vào danh sách online // [WebMethod] public int AddUser(string strUser) { try { bool bFlag = false; for (int i = 0; i < arrUsers.Count; i++) { if (arrUsers[i].ToString() == strUser) bFlag = true; } if (bFlag == false) arrUsers.Add(strUser); return 1; } catch { return 0; } Thực tập chuyên ngành Trang 21 Cờ Caro Online GVHD: Th.s Bùi Phú Cường } // //Xóa user vào danh sách online // [WebMethod]... strToUser, string strMess) { +) //kiểm tra xem còn online không int dem = 0; for (int i = 0; i < arrMessage.Count; i+ { string[] strTo = arrMessage[i].ToString().Split(':'); if (strTo[0].ToString() == strToUser) { Thực tập chuyên ngành Trang 22 Cờ Caro Online GVHD: Th.s Bùi Phú Cường } dem++; } if (dem >= 2) {//không còn thì loại bỏ đối thủ ra khỏi danh sách online RemoveUser(strToUser); for (int i = 1;... DataTable("login"); adapter.Fill(dtb); if (dtb.Rows.Count > 0) { return dtb.Rows[0] [1].ToString(); } else return ""; } catch (Exception ex) { return ""; } } } 3.2 3.2.1 Thực tập chuyên ngành Xây dựng Client Form đăng nhập Trang 26 Cờ Caro Online GVHD: Th.s Bùi Phú Cường Giới thiệu code: try { Service1 ws = new Service1(); if (ws.ktAccount(txttaikhoan.Text.Trim(), txtmatkhau.Text.Trim()) > -1) { main f = new main();... (commd.ExecuteNonQuery() == 0) { return 0; } } catch (Exception ex) { return 0; } return 1; } // //Hàm dùng để lưu thông tin của người chơi tren bàn cờ // [WebMethod(Description = "Vào bàn ")] public void VaoBan(int soban, string name, string quan, int capdo, string left) { Thực tập chuyên ngành Trang 15 Cờ Caro Online GVHD: Th.s Bùi Phú Cường if (left.Equals("l")) { dsbanco[soban].nameleft = name; dsbanco[soban].quanleft... (str[1].Equals("full")) { for (int j = 0; j < Gr.Controls.Count; j++) { if (Gr.Controls[j].Name.ToString().Equals("picban" + str[0])) { Thực tập chuyên ngành Trang 31 Cờ Caro Online GVHD: Th.s Bùi Phú Cường ((PictureBox) (Gr.Controls[j])).Image = global::COCAROONLINE.Properties.Resources.bansang; } } } for (int k = 0; k < Gr.Controls.Count; k++) { string[] na=Gr.Controls[k].Name.ToString().Split('_'); if (na[0].Equals("btban")&&