Xây dựng game cờ gánh dân gian trên điện thoại android

69 5 0
Xây dựng game cờ gánh dân gian trên điện thoại android

Đ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

z ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC SƢ PHẠM KHOA TIN HỌC  KHÓA LUẬN TỐT NGHIỆP NGÀNH: CỬ NHÂN CÔNG NGHỆ THÔNG TIN ĐỀ TÀI: XÂY DỰNG GAME CỜ GÁNH DÂN GIAN TRÊN ĐIỆN THOẠI ANDROID GVHD : PGS.TSKH Trần Quốc Chiến SVTH : Nguyễn Quốc Tùng Lớp : 10CNTT2 Đà Nẵng, tháng năm 2014 ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC SƢ PHẠM KHOA TIN HỌC  KHĨA LUẬN TỐT NGHIỆP NGÀNH: CỬ NHÂN CƠNG NGHỆ THÔNG TIN ĐỀ TÀI: XÂY DỰNG GAME CỜ GÁNH DÂN GIAN TRÊN ĐIỆN THOẠI ANDROID GVHD : PGS.TSKH Trần Quốc Chiến SVTH : Nguyễn Quốc Tùng Lớp : 10CNTT2 Đà Nẵng, tháng năm 2014 LỜI CẢM ƠN Trước tiên, muốn gửi lời cảm ơn sâu sắc đến thầy giáo, Phó Giáo sư Tiến sĩ khoa học Trần Quốc Chiến tận tình hướng dẫn em suốt q trình thực tập thực khóa luận tốt nghiệp Tôi xin bày tỏ lời cảm ơn sâu sắc đến thầy cô giáo giảng dạy tối suốt bốn năm qua, kiến thức mà nhận giảng đường đại học hành trang giúp vững bước tương lai Tôi muốn gửi lời cảm ơn đến anh chị bạn Cơng ty Cổ phần Phần mềm Kế tốn BRAVO – nơi công tác – giúp đỡ cho tơi lời khun bổ ích chun mơn q trình nghiên cứu Cuối cùng, em muốn gửi lời cảm ơn sâu sắc đến tất bạn bè, đặc biệt cha mẹ anh chị em, người kịp thời động viên giúp đỡ em vượt qua khó khăn sống Tôi xin chân thành cảm ơn! Sinh viên thực Nguyễn Quốc Tùng LỜI CAM ĐOAN Những nội dung báo cáo thực hướng dẫn trực tiếp thầy PGS.TSKH Trần Quốc Chiến Mọi tham khảo dùng cáo cáo trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo hay gian trá tơi xin chịu hồn tồn trách nhiệm Sinh viên thực Nguyễn Quốc Tùng MỤC LỤC LỜI MỞ DẦU TỔNG QUAN ĐỀ TÀI I Phát biểu toán II Mục đích, ý nghĩa, phạm vi đề tài II.1 Tên đề tài II.2 Mục đích ý nghĩa II.3 Phạm vi đề tài III Những việc giải đề tài III.1 Các bước thực III.2 Dự kiến kết đạt IV Nội dung đề tài PHẦN 1: CƠ SỞ LÝ THUYẾT I Tìm hiểu Android I.1 Android hệ điều hành Android I.2 Các phiên hệ điều hành Android I.3 Các thành phần ứng dụng Android I.3.1 Activity gì? I.3.2 Services 15 I.3.3 Content Providers 16 I.3.4 Intent 16 I.3.5 Broadcast receivers 17 II Lập trình ứng dụng Android 18 II.1 Thiết lập môi trƣờng phát triển ứng dụng 18 II.2 Các thành phần Android Project 18 II.2.1 Tạo Android Project 18 II.2.2 Thiết kế giao diện Android 20 III Cờ gánh – trò chơi dân gian 25 III.1 Giới thiệu Cờ Gánh 25 III.2 Luật chơi game cờ gánh 26 PHẦN 2: THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG GAME CỜ GÁNH 29 I Phân tích hệ thống 29 I.1 Mơ tả tốn 29 I.2 Phân tích yêu cầu 30 II Thuật tốn tìm kiếm có đối thủ 30 II.1 Cây trò chơi đầy đủ 31 II.2 Chiến lược Minimax 33 II.3 Phương pháp cắt tỉa Alpha – Beta 36 III Thiết kế hệ thống thông tin 39 III.1 Xây dựng kiến trúc chương trình 39 III.2 Xây dựng cấu trúc liệu thuật toán 42 III.3 Biểu đồ trạng thái 50 IV Biểu đồ lớp 51 PHẦN 3: KẾT QUẢ CỦA ỨNG DỤNG 52 I Màn hình Menu 52 II Màn hình chơi game 53 II.1 Lựa chọn mức độ 53 II.2 Bắt đầu game 53 II.3 Các nước hợp lệ 54 II.4 Khi mở gánh 55 III Kết thúc trò chơi 56 III.1 Màn hình chiến thắng 56 III.2 Màn hình thua 56 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 57 TÀI LIỆU THAM KHẢO 58 DANH MỤC HÌNH ẢNH Hình 1.1: Hình ảnh Android Hình 1.2: Các phiên hệ điều hành Andoid Hình 1.3: Bản báo cáo Google tình hình phiên Android Hình 1.4: Activity Lifecycle 13 Hình 1.5: Service Lifecycle 15 Hình 1.6: Truyền Intent số liệu sang Activity khác 16 Hình 1.7: Tạo ứng dụng Android 19 Hình 1.8: Cấu trúc Project 20 Hình 1.9: Các em bé chơi cờ gánh bãi cát 26 Hình 1.10: Mơ hình bàn cờ gánh 26 Hình 1.11: Các nước quân cờ theo chiều mũi tên 27 Hình 1.12:Quân cờ vào ăn hai cặp gánh 27 Hình 1.13: Các quân cờ xanh bóp chết tất quân cờ đỏ 28 Hình 1.14: Quân đỏ di chuyển theo chiều mũi tên để mở gánh 28 Hình 2.1: Vị trí ban đầu bàn cờ Gánh 32 Hình 2.2:Biểu diễn trị chơi Cờ Gánh với Đỏ trước 33 Hình 2.3: Cắt bỏ gốc a, eval(u)> eval(v) 36 Hình 2.4: Minh họa giải thuật Alpha-beta 39 Hình 2.5: Kiến trúc menu game 39 Hình 2.6: Kiến trúc Game Loop game 40 Hình 2.7: Các thuộc tính ChessBoard 41 Hình 2.8: Máy tìm nước tốt theo chiến lược Minimax 43 Hình 2.9: Khởi tạo giá trị bàn cờ ban đầu 44 Hình 2.10: Ví dụ quân cờ di chuyển theo hàng ngang, cột dọc 46 Hình 2.11:Nước hợp lệ quân cờ 46 Hình 2.12: Ví dụ qn cờ xanh mở gánh, đối phương phải vào ăn gánh 47 Hình 2.13: Ví dụ bước tìm quân cờ bị bóp chết 49 Hình 2.14: Biểu đồ trạng thái InGame 50 Hình 2.15: Biểu đồ trạng thái cho hệ thống 50 Hình 2.16: Biểu đồ lớp 51 Hình 3.1: Giao diện main_menu trò chơi 52 Hình 3.2: Lựa chọn mức độ trò chơi 53 Hình 3.3: Màn hình chơi game 53 Hình 3.4: Các nước hợp lệ quân cờ 54 Hình 3.5: Mở gánh trị chơi 55 Hình 3.6: Màn hình chiến thắng 56 Hình 3.7: Màn hình thua 56 DANH MỤC TỪ VIẾT TẮT - JDK : Java Development Kit - SDK : Software Development Kit - IDE : Integrated Development Environment - Menu : Trình đơn - User - Touch : chạm (trỏ) : Người sử dụng Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến LỜI MỞ DẦU Từ lâu, loại hình giải trí thật đa dạng phong phú, game xuất máy tính nhanh chóng trở thành cơng cụ giải trí số toàn giới Số lượng người chơi game máy tính máy tính bảng thiết bị điện thoại di động lên tới số hàng tỉ, không phân biệt tuổi tác, giới tính hay màu da Một số game Snake bắt nguồn từ di động mà Nokia trình làng năm 1997 có tên Nokia 6110 mở kỷ nguyên cho lĩnh vực lập trình game di động Nhưng với hạn chế đồ họa, tốc độ xử lý, cốt truyện game nhanh chóng gây nhàm chán người chơi Và cơng nghệ lập trình game đời Brew, App Store, J2ME đặc biệt Android Các thiết bị di động sử dụng hệ điều hành Android với phần cứng mạnh mẽ, nút bấm chơi game chuyên dụng Thế giới game Smart phone lại gần thống trị giới Game xây dựng thiết bị di động có hình ảnh mượt mà hơn, tốc độ xử lý mạnh mẽ với hiệu ứng gần với thực tế Cùng với loại hình game trí tuệ ln có khả thu hút đông số người chơi, đặc biệt số người chơi thích thử thách, đấu trí Vì em định chọn đề tài “Nghiên cứu công nghệ phát triển game điện thoại Android Xây dựng game cờ gánh dân gian” làm đề tài khóa văn tốt nghiệp Với mục đích tìm hiểu rõ Android, tính nó, nâng cao kỹ thuật lập trình cá nhân đặc biệt quản bá hình ảnh trị chơi dân gian Việt Nam khơng để bị mai mọt Hy vọng tạo sản phẩm có ích, đẹp mắt thu hút người chơi SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến Hình 24: Ví dụ qn cờ di chuyển theo hàng ngang, cột dọc Ví dụ 3: Quân cờ sau lại di chuyển theo hàng ngang cột dọc đường chéo nằm vị trí (3,1) có tổng số dịng cột (số chẵn) Hình 25:Nước hợp lệ quân cờ Sau nước ta thay đổi vị trí quân cờ Giả sử di chuyển quân cờ item1 đến vị trí (i, j) ta thay đổi giá trị item1 sau: item1.previousCol = item1.currentCol; item1.previousRow = item1.currentRow; item1.previousCol=i; item1.previousRow=j; SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 46 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến Tương tự việc di chuyển quân cờ, việc ăn gánh phụ thuộc vào vị trí mà quân cờ di chuyển đến  Mở gánh Để kiểm tra nước vừa có phải nước mở gánh hay không, ta cần kiểm tra điều kiện sau: - Có qn cờ đối phương di chuyển đến vị trí cũ mà quân cờ vừa rời khỏi - Nếu quân cờ đối phương di chuyển tới vị trí phải gánh gánh Nếu thỏa mãn điều kiện quân cờ vừa nước mở gánh điểm (vị trí mà quân cờ vừa rời khỏi), bắt buộc đối phương phải di chuyển vào vị trí mở gánh để ăn gánh Vi dụ 4: Trường hợp sau mở gánh: Khi quân xanh vị trí (1,1) lên vị trí (1,0) mở gánh vị trí (1,1) để quân đỏ vào vị trí (1,1) ăn gánh Nên bắt buộc quân đỏ phải vào ăn gánh, không vào ô khác mở gánh Hình 26: Ví dụ qn cờ xanh mở gánh, đối phương phải vào ăn gánh SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 47 Xây dựng game cờ Gánh dân gian  GVHD: PGS.TSKH Trần Quốc Chiến Bóp chết Để kiểm tra nước vừa có bóp chết quân cờ đối phương hay không, ta thực hiện: - Ăn gánh đối phương (chuyển quân cờ bị gánh thành quân cờ mình) - Tạo mảng tạm ItemsTemp[] để thực việc kiểm tra quân cờ bị kẹt Ban đầu ta gán mảng tạm ItemsTemp[] giá trị mảng Items[] chứa trạng thái quân cờ - Thực việc loại bỏ quân cờ di chuyển đối phương khỏi mảng tạm ItemsTemp[] không cịn qn cờ đối phương di chuyển dừng lại - Kiểm tra mảng tạm ItemsTemp[] xem tồn quân cờ đối phương hay không Tất quân cờ đối phương cịn tồn mảng tạm ItemsTemp[] quân cờ bị bóp chết, trở thành qn cờ Ví dụ 5: Các bước tìm quân cờ bị bóp chết SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 48 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến Hình 27: Ví dụ bước tìm qn cờ bị bóp chết SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 49 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến III.3 Biểu đồ trạng thái  Biểu đồ trạng thái Ingame Trạng thái InGame tồn ván chơi kết thúc User nhấn nút Exit Sau ván chơi kết thúc User chọn Continue trạng InGame khởi động lại, ngược lại User chọn Exit chuyển đến trạng thái MainMenu (kết thúc trạng thái InGame) Hình 28: Biểu đồ trạng thái InGame  Biểu đồ trạng thái cho hệ thống Bắt đầu ứng dụng trạng thái Splash, sau đến trạng thái MainMenu Ở trạng thái MainMenu phân nhánh thành nhiều trạng thái con: New game, Options, Help, About Từ trạng thái quay trở MainMenu Từ MainMenu chọn Exit chuyển sang trạng thái kết thúc Hình 29: Biểu đồ trạng thái cho hệ thống SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 50 Xây dựng game cờ Gánh dân gian IV GVHD: PGS.TSKH Trần Quốc Chiến Biểu đồ lớp Xây dựng biểu đồ lớp cho ứng dụng Hình 30: Biểu đồ lớp SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 51 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến PHẦN 3: KẾT QUẢ CỦA ỨNG DỤNG I Màn hình Menu Hình 31: Giao diện main_menu trò chơi SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 52 Xây dựng game cờ Gánh dân gian II GVHD: PGS.TSKH Trần Quốc Chiến Màn hình chơi game II.1 Lựa chọn mức độ Hình 32: Lựa chọn mức độ trị chơi II.2 Bắt đầu game Hình 33: Màn hình chơi game SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 53 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến II.3 Các nƣớc hợp lệ Hình 34: Các nước hợp lệ quân cờ SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 54 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến II.4 Khi mở gánh Hình 35: Mở gánh trị chơi SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 55 Xây dựng game cờ Gánh dân gian III GVHD: PGS.TSKH Trần Quốc Chiến Kết thúc trị chơi III.1 Màn hình chiến thắng Hình 36: Màn hình chiến thắng III.2 Màn hình thua Hình 37: Màn hình thua SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 56 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN  Hƣớng phát triển Chương trình đạt số kết thiết kế ban đầu, song chương trình cịn tồn số vấn đề chưa thực Hy vọng tương lai chương trình hồn thiện vấn đề sau:  - Lưu trạng thái game, kết chơi game người dùng tắt ứng dụng - Tối ưu hóa khả tìm kiếm giúp máy tìm kiếm nước nhanh - Hỗ trợ chơi trực tuyến người máy khác Kết luận Mặc dù có nhiều cố gắng chắn kết cài đặt không tránh khỏi thiếu sót hạn chế, hy vọng tương lai vấn đề nghiên cứu sâu phát triển với thuật toán cải tiến tốt SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 57 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến TÀI LIỆU THAM KHẢO  Các trang web tiếng anh http://www.code2learn.com/2012/01/minimax-algorithm-tutorial.html http://en.wikipedia.org/wiki/Minimax http://theopentutorials.com/tutorials/android/imageview/android-how-to-loadimage-from-url-in-imageview/ http://developer.android.com/index.html  Các trang web tiếng việt http://www.tinhte.vn/threads/tu-hoc-lap-trinh-android-tu-co-ban-den-lamgame-qua-cac-huong-dan.2106973/ http://doc.edu.vn/tai-lieu/chuyen-de-thuat-toan-minimax-7459/ http://vi.scribd.com/doc/174108305/Thuat-toan-minimax-pdf http://tailieu.vn/doc/lap-trinh-game-co-ganh-bang-microsoft-visual-c-1175949.html http://vi.wikipedia.org/wiki/  Tài liệu liên quan Giải thuật tìm kiếm Minimax ứng dụng trị chơi có tổng khơng – Luận văn thạc sĩ khoa học Trần Văn Lệ SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 58 NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN Đà Nẵng, ngày tháng năm 2014 Giáo viên hướng dẫn PGS.TSKH Trần Quốc Chiến NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN ... II.1 Tên đề tài ? ?Xây dựng game cờ gánh dân gian điện thoại Android? ?? II.2 Mục đích ý nghĩa Xây dựng game với mục đích ý nghĩa sau: - Tạo ứng dụng game cờ gánh dân gian điện thoại Android có giao... 20 III Cờ gánh – trò chơi dân gian 25 III.1 Giới thiệu Cờ Gánh 25 III.2 Luật chơi game cờ gánh 26 PHẦN 2: THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG GAME CỜ GÁNH 29... 10CNTT2 Trang: 12 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH Trần Quốc Chiến Hình 1.4: Activity Lifecycle SVTH: Nguyễn Quốc Tùng – 10CNTT2 Trang: 13 Xây dựng game cờ Gánh dân gian GVHD: PGS.TSKH

Ngày đăng: 22/05/2021, 10:20

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

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

Tài liệu liên quan