Báo cáo môn công nghệ phần mềm

25 611 4
Báo cáo môn công nghệ phần mềm

Đ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

Báo cáo mẫu dành cho các bạn đang học môn công nghệ phần mềm, với nội dung về trò chơi cờ caro đơn giản thiết thực.Đầy đủ sườn chi tiết, cách trình bày cũng như phương hướng của bài báo cáo. Đề tài “Game Cờ Caro” hiện đang được xây dựng bằng những kiến thức cơ bản cần được hoàn thiện hơn ở nhiều phần cũng như bổ sung thêm nhiều tính năng:Có thể thêm SQL vào với mục đích lưu tài khoản mật khẩu giúp đăng nhập vào chơi.Kết hợp với lập trình web đề đưa lên web.

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.HCM - - ĐỒ ÁN MÔN HỌC CÔNG NGHỆ PHẦN MỀM PHẦN MỀM GAME CỜ CARO Ngành: Công nghệ thông tin Giảng viên hướng dẫn : Tạ Thu Thủy Lớp : 17DTHD2 Sinh viên thực MSSV Nguyễn Văn Bảo 1711062253 Nguyễn Quang Vĩnh Điền 1711062259 Lê Nguyên Khang 1711060933 Võ Tâm Anh 1711062301 Nguyễn Trung Liêm 1711062123 TP Hồ Chí Minh, 2019 DANH SÁCH THÀNH VIÊN STT Võ Tâm Anh Nguyễn Văn Bảo Nguyễn Quang Vĩnh Điền Số điện thoại HỌ VÀ TÊN Lê Ngun Khang (Nhóm trưởng) CƠNG VIỆC % HỒN THÀNH Thuyết trình, tìm code tham khảo, làm word báo cáo 0386291775 Làm pp thuyết trình, Word báo cáo, thêm Code caro 0837627520 Tìm nội dung pp thuyết trình, Làm pp báo cáo, thuyết trình 0765340127 Trả lời câu hỏi, tìm nội dung PP thuyết trình, làm word báo cáo, làm pp báo cáo Nguyễn Trung Liêm Viết code caro, thuyết trình, tìm hiểu nội dung pp thuyết trình Lời Nhận Xét giảng viên: ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………… MỤC LỤC Lời mở đầu Chương Tổng quan 1.1 Tổng quan vấn dề nghiên cứu 1.2 Nhiệm vụ đồ án .1 1.2.1 Mục tiêu 1.2.2 Đối tượng 1.2.3 Thông tin tổng quát 1.2.3.1 Phát biểu vấn đề 1.2.3.2 Mục tiêu đề 1.2.3.3 Mô tả .3 1.2.3.4 Lợi ích mang lại 1.2.3.5 Các bước thực để hoàn thành dự án 1.2.3.6 Ràng buộc tổng quan hệ thống .4 1.3 Cấu trúc đồ án Chương 2: Cơ sở lý thuyết 2.1 Giới thiệu Winform 2.2 Ngôn ngữ C# 2.2.1 Mơ hình lớp 2.2.2 Chi tiết .7 2.2.3 Lập trình lớp 2.3 Khái niệm sở liệu SQL Server .8 Chương 3: Kết thực nghiệm 3.1 Các thành phần chức hệ thống 3.1.1 Menu 3.1.2 Các sơ đồ 3.1.2.1: Sơ đồ usecase 3.1.2.2: Sơ đồ class diagram 3.1.2.3: sơ đồ sequence diagram 10 3.1.3 Thực nghiệm trò chơi 11 3.1.3.1 Chế độ đánh với máy 11 3.1.3.2 Chế độ người đánh với .12 3.1.3.3 Chức xử lý thắng thua 13 3.1.3.4 Chức EXIT 13 3.1.3.5 FILE menu có chức cho phép chọn chơi máy hay người khác 14 3.1.3.6 EDIT .15 Chương 4: Kết luận 16 4.1 Kết đạt 16 4.2 Đánh giá phần mềm .16 4.3 Hướng phát triển để mở rộng đề tài .17 Chương 5:Tài liệu tham khảo .17 Lời mở đầu Hiện nay, việc ứng dụng trí tuệ nhân tạo vào việc phát triển game trở nên vô phổ biến, đặc biệt game mang tính trí tuệ cao Và cờ Caro game Chính lý mà chúng em định lựa chọn cờ Caro làm để tài cho tập lớn mơn trí tuệ nhân tạo Đây tài liệu dùng để miêu tả cách việc xây dựng game cờ Caro Trong game có sử dụng thuật tốn MiniMax với độ sâu thuật toán cắt cụt alpha-beta để giảm thời gian tính tốn Tài liệu giúp ta có nhìn tổng qt việc áp dụng thuật toán MiniMax cắt cụt alpha-beta vào game cờ Caro Do thời gian có hạn nên chúng em chưa thể tối ưu thuật toán sử dụng game, chúng em cố gắng hoàn thiện thời gian sớm Nhóm thực đề tài với mục đích xây dựng game Caro có tính nhân tạo cao Tuy nhiên q trình thực khơng thể tránh khỏi có sai sót, chúng em mong nhận góp ý đánh giá cô Chúng em xin chân thành cám ơn! Chương Tổng quan 1.1 Tổng quan vấn đề nghiên cứu: 1.1.1 Khảo sát thực trạng nay: Theo tình trạng chơi game có 73% người chơi, 22% chưa chơi 5% chơi khơng chơi Tỷ lệ người chơi game tập trung chủ yếu vào nhóm 16-20 tuổi (42,1%), 10-15 tuổi (26,3%), 21-25 tuổi (22%) Tỷ lệ người chơi game online học chiếm 71,7% so với game thủ làm ngành nghề khác Về giới tính, nam giới chơi game online nhiều nữ giới với 54,5% Tỷ lệ người chơi có trình độ Đại học, Cao đăng chiếm tỷ lệ cao với 30,1% 1.1.2 Phân tích yêu cầu: 1.Yêu cầu chơi: Game Caro phổ biến với nhiều người, với nhiều phiên game đưa nhóm xây dựng game Caro phù hợp với nhiều đối tượng Người chơi Người chơi chọn chế độ chơi:  Hai Người chơi  Chơi với máy Ở chế độ “Hai Người chơi”, hai bên nước cờ Ở chế độ “Chơi với máy”,Người chơi máy nước cờ Máy tự động thực chức dưới:  Tấn cơng  Phòng thủ  Tấn cơng , phòng thủ  Tạo ván chơi mới: lúc chơi mà khơng muốn tiếp tục ván chơi tạo ván chơi khởi động lại từ đầu  Quay lại nước trước: sai bạn nhấn quay lại để hoàn lại nước sai lúc trước 2.Giao diện: 1) Thuận tiện: Các nút chức phải đễ nhìn ,dễ sử dụng 2) Hình ảnh: Ảnh nền,ảnh bàn cờ ,ảnh quân cờ,ảnh nút,….đơn giản, dễ nhìn 3) Giao diện: a) Giao diện chính:  Hiện bàn cờ: bàn cờ gồm 255 ô chia làm 25 hàng dọc 25 hàng ngang( hàng gồm 25 ô vuông liên tiếp nhau, thẳng hàng ô vuông = 30 px ) b) Bên cạnh giao diện bàn cờ, cần hiển thị chức để xử lí chương trình (ví dụ: Menu cơng cụ bao gồm tất chức xử lí chương trình c) Giao diện bảng “Chức năng”: hiển thị chữ viết hình ảnh 3.Tương tác nhanh : Người chơi tương tác nhanh với chương trình chuột  Chuột dùng để điều khiển chương trình  Chuột dùng để nước cờ 1.2 Nhiệm vụ đồ án: 1.2.1 Mục tiêu: Ngày nay, xã hội phát triển mạnh mẽ, sống xã hội ngày cải thiện nâng cao nên nhu cầu vui chơi, giải trí….ngày lớn Ở châu Á phong trào chơi games phát triển mạnh mẽ với yêu cầu ngày cao Những games chơi độc lập máy tính ngày khơng đáp ứng u cầu mà thay vào games với nhiều máy tính kết nối với Xuất phát từ nhu cầu em thực đề tài “ĐÁNH CỜ CARƠ“ 1.2.2 Đối tượng: Chủ yếu học sinh sinh viên số người trẻ khác người có sở thích đam mê cờ CaRo 1.2.3 Thơng tin tổng quản: Cho đến chưa biết xác lai lịch cờ caro, có lời đồn cho rằng, cờ caro xuất cách khoảng 2000 năm TCN Trung Quốc Tuy nhiên, số nhà khoa học tìm chứng cờ caro xuất Hy Lạp cổ đại châu Mĩ trước thời Colombus Cờ caro bắt đầu với tên Wutzu bên Trung Quốc biến danh thành Gomoku Nhật Bản Tuy nhiên, đất nước xứ sở hoa anh đào, gọi nhiều tên khác địa phương Kakugo, gomoku-narabe, Itsutsu-ishi, … Khi xuất hiện, loại cờ chơi cờ vây (viên cờ màu trắng đen) bàn cờ vây (19×19) Quân đen trước người chơi đặt viên đá họ đường chéo 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ẵng ca-rơ), dùng bút đánh dấu hình tròn (O) chữ thập (X) để đại diện cho quân cờ, bên có đường quân liền hàng, cột đường chéo thắng Trong cờ carô, bên trước ln có lợi lớn, chí L.Victor Allis chứng minh cờ carơ tự do, bên trước luôn thắng Để hạn chế nhược điểm người ta đưa số luật bổ sung để hạn chế lợi người trước (quân đen) tăng cường khả phòng thủ người sau 1.2.3.1 Phát biểu vấn đề: Xã hội ngày phát triển nhu cầu thứ tăng theo có nhu cầu giải trí sau học làm việc căng thẳng Vì nắm bắt yếu tố trò chơi game CaRo nhóm chúng tơi lựa chọn phát triển để giúp người giải trí thư giản sau làm việc áp lực mệt mỏi 1.2.3.2 Mục tiêu đề ra: Vấn đề đặt là: - Thiết kế phần mềm đơn giản - Giao diện thân thiện dễ sử dụng - Có tất tính game CaRo đánh với máy, đánh với người, xử lý thắng thua v.v 1.2.3.3 Mơ tả Trò chơi có tính sau: - Người với máy - Người với người - Exit (Thốt nhanh trò chơi) - Xử lý thắng thua - Undo (Cho phép lại) - Tạo trò chơi (cho phép tạo ván mới) 1.2.3.4 Lợi ích mang lại: Giúp người giải trí, thư giản sau học làm việc căng thẳng Rèn luyện tư thử sức với qua chức đánh với người 1.2.3.5 Các bước thực để hoàn thành dự án:  Lên kế hoạch phát thảo ý tưởng Thực ý tưởng: - Tạo giao diện thân thiện với người chơi - Tạo bàn cớ game - Tạo chức đổi người chơi - Tạo chức xử lý thắng thua - Tạo Menu Hotkey - Tạo chức lại (UNDO) - Tạo chức tạo lại ván 1.2.3.6 Ràng buộc tổng quan hệ thống: - Khơng ảnh hưởng đến hoạt động bình thường hệ thống - Khi phát triển dự án phải đáp ứng nhu cầu người dùng - Nếu có kết hợp liệu phải thường xuyên cập nhật 1.3 Cấu trúc đồ án : Chương 1: Tổng quan − Tổng quan vấn đề nghiên cứu − Nhiệm vụ đồ án − Cấu trúc đồ án Chương 2: Cơ sở lý thuyết − Giới thiệu Winform − Giới thiệu ngôn ngữ C# − Giới thiệu sở liệu SQL Server Chương 3: Kết thực nghiệm − Các thành phần chức hệ thống − Giao diện hệ thống Chương 4: Kết luận − Kết đạt − Đánh giá phần mềm − Hướng phát triển đề tài Tài liệu tham khảo Chương 2: Cơ sở lý thuyết 2.1 Giới thiệu Winforms: Winforms công nghệ Microsoft, cho phép lập trình ứng dụng Windows Nhờ tính tiện ích, dễ code, giao diện design kéo thả đơn giản… Winforms sử dụng để phát triển nhiều ứng dụng Đa phần lập trình viên C# NET học sử dụng Winform Vì Winform xử lý trực quan, cần kéo thả, lại có nhiều components có sẵng, Winform phù hợp để làm phần mềm quản lý, tính tiền, thống kê, … Đây loại ứng dụng mà công ty hay doanh nghiệp vừa nhỏ cần Ngoài ra, cần sử dụng component TelerikUI DevExpress, Winform tạo giao diện đại, đẹp mơ, long lanh hoa mỹ 2.2 Ngôn ngữ C# C# ngơn ngữ lập trình hướng đối tượng phát triển Microsoft, ngơn ngữ chun dụng để lập trình web server ứng dụng tảng Windows Microsoft phát triển C# dựa C++ Java, C# miêu tả ngơn ngữ có cân C++, Visual Basic, Delphi Java Ngơn ngữ lập trình C# coi ngơn ngữ lập trình đơn giản, đại, hướng đến nhiều mục đích sử dụng, ngơn ngữ lập trình hướng đối tượng C# đáp ứng nguyên tắt ngành kỹ thuật phần mềm kiểm tra chặt chẽ kiểu liệu, kiểm tra giới hạn mảng, phát trường hợp sử dụng biến chưa có liệu, tự động thu gom liệu khơng cần thiết Mang mạnh mẽ, trực quan hiệu suất cao điểm cốt lõi làm nên thương hiệu C# Ngơn ngữ lập trình C# với kế thừa ưu điểm C, C++, Java nên nhìn vào code C# thấy thân thuộc cấu trúc, cú pháp từ việc học tập trở nên dễ dàng Bên cạnh C# thiết kế để phù hợp với việc viết ứng dụng cho hệ thống Server hệ thống nhúng chuyên dụng tảng Windows Tuy mang ưu điểm C, C++, Java, khả quản lý nhớ tốt, khả xử lý mạnh mẽ, trực quan dễ học dễ sử dụng, ưu điểm bật C#, xét ngược lại tốc độ xử lý nhược điểm lớn ngôn ngữ phải gồng gánh lượng lớn liệu từ thư viện nên tốc độ xử lý thua thiệt so với C, Assembly Nói khơng có nghĩa C# khơng phải lựa chọn lý tưởng, lập trình có trường hợp ta tận dụng tốt khả C# thiết kế phần mềm môi trường Windows, đồ án mơn học ví dụ thực tiễn việc tận dụng ưu điểm C# thiết kế nhanh, xử lý kiện đơn giản, nhiều tiện ích mở rộng hỗ trợ tốt q trình làm đồ án 2.2.1 Mơ hình lớp: - Khi tiếp xúc với Windows Form ADO.NET, việc lập trình bắt đầu trở nên phức tạp dự án lớn dần Bởi để dễ quản lý thành phần hệ thống, không bị ảnh hưởng thay đổi, người ta hay nhóm thành phần có chức lại với phân chia trách nhiệm cho nhóm dể công việc không bị chồng chéo ảnh hưởng lẫn Một mơ hình lập trình vây gọi Mơ hình lớp (Three Layers) Hình 2.1: Thể sơ đồ lớp - Việc phân chia thành lớp giúp cho code tường minh Nhờ vào việc chia lớp đảm nhận chức khác riêng biệt giao diện, xử lý, truy vấn thay để tất lại chỗ Nhằm giảm kết dính - Dễ bảo trì phân chia, thành phần hệ thống dễ thay đổi Việc thay đổi lập lớp, ảnh hưởng đến lớp gần mà không ảnh hưởng đến chương trình - Dễ phát triển, tái sử dụng: muốn thêm chức việc lập trình theo mơ hình dễ dàng có chuẩn để tn theo Và việc sử dụng lại có thay đổi hai mơi trường (Winform sang Webform) việc thay đổi lại lớp GUI - Dễ bàn giao Nếu người theo quy chuẩn định sẵn, cơng việc bàn giao, tương tác với dễ dàng tiết kiệm nhiều thời gian - Dễ phân phối khối lượng công việc Mỗi nhóm, phận nhận nhiệm vụ mơ hình lớp Việc phân chia rõ ràng giúp lập trình viên kiểm sốt khối lượng cơng việc 2.2.2 Chi tiết: − GUI Layer: Lớp lớp hiển thị giao diện chức để người dùng cuối sử dụng − Business (BUS) Layer: Đây lớp nhận yêu cầu từ lớp GUI truy xuất lên lớp Data để lấy thông tin trả GUI − Data Access Layer: Lớp lớp để truy xuất với CSDL, lớp làm việc với Database 2.2.3 Lập trình lớp:  Presentation Layer (GUI): − UI Components: gồm thành phần tạo nên giao diện ứng dụng (GUI) Chúng chịu trách nhiệm thu nhận hiển thị liệu cho người dùng… − Ví dụ: textbox, button, combobox, …  Business Layer (BLL) − Service Interface: thành phần giao diện lập trình mà lớp cung cấp cho lớp Presentation sử dụng − Business Workflows: chịu trách nhiệm xác định điều phối quy trình nghiệp vụ gồm nhiều bước kéo dài Những quy trình phải xếp thực theo thứ tự xác  Data Layer (DAL) − Data Access Logic Components: chịu trách nhiệm lưu trữ truy xuất liệu từ nguồn liệu (Data Sources) XML, File System, … Hơn tạo thuận lợi cho việc dễ cấu hình bảo trì − Service Agents: giúp bạn gọi tương tác với dịch vụ từ bên cách dễ dàng đơn giản 10 Chương 3: Kết thực nghiệm 3.1 Các thành phần chức hệ thống: 3.1.1 Menu: Bảng Menu gồm: • File: • New (Bắt đầu trò chơi mới) o player (Đánh với máy) o player (Đánh với người) • Exit (Kết thúc nhanh) • Edit:(Chức năng) • Undo (Chức lại) • Redo (Chức qua lại bước cũ) 3.1.2 Các sơ đồ: 3.1.2.1: Sơ đồ usecase: Hình 3.1: Sơ đồ usecase 3.1.2.2: sơ đồ class: 11 Hình 3.2: Sơ đồ class diagram 3.1.2.3: sơ đồ sequence diagram: Hình 3.3.1: Sơ đồ sequence diagram người chơi với máy 12 Hình 3.3.2: Sơ đồ sequence diagram người chơi với người 3.1.3 Thực nghiệm trò chơi: 3.1.3.1 Chế độ đánh với máy Hình 3.1.4.1: Tạo ván chơi với máy 13 3.1.3.2 Chế độ người đánh với Hình 3.1.4.2: Tạo ván chơi với bạn bạn 3.1.3.3 Chức xử lý thắng thua 14 Hình 3.1.5: Thơng báo người chơi dành chiến thắng 3.1.3.4 Chức EXIT 15 Hình 3.1.6: Hình hiển thị thơng báo có muốn game khơng 3.1.3.5 FILE menu có chức cho phép chọn chơi máy hay người khác Hình 3.1.7: Hình cho phép tạo đổi chế độ game 16 3.1.3.6 EDIT 3.1.3.6.1 Undo cho phép người chơi lại nước khác Hình 3.1.8: Hình thơng báo người dung có muốn lại không 3.1.3.6.2 Redo cho phép người chơi quay lại nước trước dung undo -Trước redo Hình 3.1.8: Hình thể sau undo 17 -Sau redo Hình 3.1.9: Thơng báo bạn có muốn qua lại bước củ sau undo không 18 Chương 4: Kết luận 4.1 Kết đạt được:  Xây dựng thành công trò chơi Caro PC  Học tập rút số kinh nghiệm xây dựng Game  Củng cố thêm kiến thức kĩ thuật lập trình, số thuật tốn để xây dựng trò chơi có tính đối kháng : BFS DFS, thủ tục cắt tỉa alpha beta, – max  Nắm rõ lập trình hướng đối tượng, phân tích thiết kế hệ thống  Game Caro xây dựng môi trường Visual Studio 2005, em tìm hiểu học hỏi thêm cơng cụ xây dựng:Ngơn ngữ lập trình C#  Dễ sử dụng: trò chơi đơn giản, cần tuân theo qui luật thành cơng  Tính tiện dụng: trò chơi nhỏ gọn download dễ dàng, cài đặt nhanh chóng người chơi tâm đến phút cài xong trò chơi  Vì game có dung lượng nhỏ giao diện đơn giản nên thích hợp với nhiều loại máy thơng dụng  Game có nhiều cấp độ kiểu chơi nên phù hơp với nhiều người sử dụng 4.2 Đánh giá phần mềm:  Ưu điểm: - Chơi chung với máy mà không cần phải dùng mạng - Có hỗ trợ đánh với máy - Giao diện đơn giản khơng q cầu kì  Nhược điểm: - Chưa kết hợp sql để lưu giữ liệu - Chưa thể chơi online 4.3 Hướng phát triển để mở rộng đề tài: Đề tài “Game Cờ Caro” xây dựng kiến thức cần hoàn thiện nhiều phần bổ sung thêm nhiều tính năng: -Có thể thêm SQL vào với mục đích lưu tài khoản mật giúp đăng nhập vào 19 chơi -Kết hợp với lập trình web để đưa lên web Tài liệu tham khảo Lập trình game Caro với C# Winform - KTeam: https://www.howkteam.vn/course/lap-trinh-game-caro-voi-c-winform-14 (Lần cuối truy cập vào ngày 25/12/2019 vào lúc 16h.) Giáo trình C# ứng dụng - Nguyễn Hoàng Hà, Nguyễn Văn Trung: http://dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/lap-trinh-ungdung/file_goc_777138.pdf? fbclid=IwAR0HYNNcqhGjF36llD9zU437A7axr4eN1EQbFVvA4dXyMOUiM8H2GNFkqs (Lần cuối truy cập vào ngày 25/12/2019 vào lúc 15h 30.) Giáo trình hệ quản trị sở liệu MS SQL Server - Trần Thị Thùy Dung: http://thuvien.brtvc.edu.vn/documents/cntt/gt_he_quan_tri_csdl_ms_sql_server.pdf? fbclid=IwAR1Grkign5zcZGTDrN14KUY_5Cw5J4dG1jBmwCYQtIYmHK9-7jqtBqZKRM (Lần cuối truy cập vào ngày 25/12/2019 vào lúc 17h.) Lập trình game caro với C https://sharecode.vn/source-code/source-code-game-caro-viet-bang-c-1670.htm (Lần cuối truy cập vào ngày 29/12/2019 vào lúc 16h) 20 21 ... trình, tìm code tham khảo, làm word báo cáo 0386291775 Làm pp thuyết trình, Word báo cáo, thêm Code caro 0837627520 Tìm nội dung pp thuyết trình, Làm pp báo cáo, thuyết trình 0765340127 Trả lời... cáo, thuyết trình 0765340127 Trả lời câu hỏi, tìm nội dung PP thuyết trình, làm word báo cáo, làm pp báo cáo Nguyễn Trung Liêm Viết code caro, thuyết trình, tìm hiểu nội dung pp thuyết trình... liệu SQL Server Chương 3: Kết thực nghiệm − Các thành phần chức hệ thống − Giao diện hệ thống Chương 4: Kết luận − Kết đạt − Đánh giá phần mềm − Hướng phát triển đề tài Tài liệu tham khảo Chương

Ngày đăng: 17/03/2020, 09:53

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

Tài liệu liên quan