Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
2,47 MB
Nội dung
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN MƠN HỌC : LẬP TRÌNH JAVA ĐỀ TÀI: XÂY DỰNG GAME TRÚC XANH Giáo viên hướng dẫn: Vũ Đức Minh Nhóm sinh viên thực hiện: Trần Văn Đại Dư Văn Nguyện Nguyễn Mạnh Thắng Hà Nội, tháng 11 năm 2012 LỜI MỞ ĐẦU Java ngơn ngữ lập trình hướng đối tượng (tựa C++) Sun Microsystem đưa vào thập niên 90.Chương trình viết ngơn ngữ lập trình java chạy hệ thống có cài máy ảo java (Java Virtual Machine) Java ngôn ngữ lập trình hướng đối tượng Sức mạnh phương pháp lập trình hướng đối tượng thể chỗ khả mơ hình hố hệ thống dựa đối tượng thực tế, khả đóng gói bảo vệ an toàn liệu, khả sử dụng lại mã nguồn để tiết kiệm chi phí tài nguyên; đặc biệt khả chia mã nguồn cộng đồng lập trình viên chuyên nghiệp Những điểm mạnh hứa hẹn thúc đẩy phát triển môi trường lập trình tiên tiến với cơng nghiệp lắp ráp phần mềm với thư viện thành phần có sẵn Một đề tài Java phải làm bật tính chất mơn học, có tính thực tiễn mang lại thiết thực triển khai thực tế Chính lý chúng em định lựa chọn đề tài Lập trình trò chơi trúc xanh để làm đề tài kết thúc mơn học • Chương trình có u cầu như: − Các chức trò chơi: tạo chơi, chơi lại, tạm dừng, chơi tiếp, tính điểm, thơng báo kết quả, khỏi trị chơi, hướng dẫn chơi, thay đổi giao diện − Yêu cầu đồ họa: trò chơi phải thiết kế cho dễ sử dụng, thiết kế hợp lý dễ thao tác − Xử lý kiện người chơi trị chơi: lật ơ, xóa ơ, kiện nhấn nút Trong q trình giảng dạy, nhờ có hướng dẫn tận tình thầy giáo Vũ Đức Minh với giúp đỡ củacác thầy cô khoa, chúng em hoàn thành tốt tập với đề tài Lập trình game trúc xanh viết ngơn ngữ Java Từ chúng em thấy trình ứng dụng tạo nào, đồng thời giúp chúng em nắm vững phương pháp thuật tốn, cách lập trình hướng đối tượng Java Trong trình làm đề tài dù cố gắng tìm hiểu khơng tránh khỏi sai sót chưa hồn thiện hết chức Chính chúng em mong đóng góp ý kiến thầy cô Chúng em xin chân thành cảm ơn! MỤC LỤC DANH MỤC HÌNH ẢNH CHƯƠNG TĨM TẮT CHƯƠNG TRÌNH 1.1 Mục tiêu để tài Khi rảnh rỗi sau làm việc căng thẳng người muốn tìm cho trị chơi hoạt động để giảm căng thẳng lấy lại tinh thần Có thể hoạt động thể thao, chơi trị chơi giải trí tùy thuộc vào quỹ thời gian người, với có quỹ thời gian muốn có trị chơi mang tính giải trí cao game Trúc xanh game đáp ứng nhu cầu Mục tiêu đề tài giúp người chơi tăng cường trí nhớ giác quan thấy thoải mái tinh thần sau chinh phục hết chứa hình Đề tài có mức chơi bình thường, khó dễ phù hợp với người chơi khơng tính trí tuệ người chơi phải tính tốn cho tổng số lần mở hình 1.2 Chức năng, cơng việc làm STT Chức năng, công việc Tạo giao diện thân thiện, dễ sử dụng Có thể chơi người người Random ảnh vào button Khi chơi tạm dừng chơi Tính điểm lưu điểm 10 người chơi có điểm số cao vào file Chọn mức độ dễ, trung bình, khó Hướng dẫn chơi Đã làm 1.3 Phạm vi nghiên cứu, phạm vi ứng dụng - Phạm vi nghiên cứu: tự nghiên cứu Phạm vi ứng dụng: ứng dụng máy cá nhân CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Sơ đồ thuật tốn Hình 1.1 Sơ đồ thuật tốn 2.2 Diễn giải chi tiết − − − − − − • Các biến sử dụng: Biến click: kiểm tra lần click hay lượt mở Biến Count: đếm số cịn lại chưa mở Trị chơi kết thúc Count =0 a, b: địa hàng cột ô lượt click thứ c, d: địa hàng cột ô lượt click thứ hai Biến diem: lưu tổng số điểm chơi Biến solanclick: lưu số lần click để mở hết ô chơi • Diễn giải sơ đồ: Khi trò chơi bắt đầu biến reset sơ đồ Vấn đề phải để xác định người chơi lật mở ô lần thứ hay thứ hai để xử lý Nếu lần mở tiến hành mở ơ, hủy kiện nhấn nút vào ô chọn Kiểm tra ấn nút lượt mở từ thứ hai trở phải xác định trường hợp có hai mở khơng lượt mở trước ta phải lật úp lại hai ô Nếu lần mở thứ hai lượt mở tiến hành mở ơ, sau so sánh với hình ảnh mở lượt click thứ Nếu giống lật hai ơ, hủy kiện nhấn nút vào hai ô Giảm biến đếm số cịn lại Đưa c= -1,d= -1 Tăng điểm thêm 10 Nếu không giống giảm điểm 5, lấy lại kiện cho nút mở lượt click thứ nhất, lấy vị trí để lật lại gán vào c, d Kiểm tra xem số cịn lại có khơng, kết thúc chơi thông báo điểm không lặp lại lượt click đến count =0 CHƯƠNG PHÂN TÍCH THIẾT KẾ 3.1 Phân tích chương trình u cầu Chương trình phải có giao diện thân thiện, dễ sử dụng Đảm bảo đủ chức cần thiết chơi mới, chơi lại, tạm dừng, chọn mức độ khó,… Chương trình xây dựng gồm menubar chứa chức trị chơi, panel để xem thơng tin điểm người chơi panel chứa 20 hình ảnh cho người chơi click Thanh menubar nằm cùng, đến panel chứa điểm panel chứa hình ảnh Panel panel chứa button ảnh, số lượng button dựa vào mức độ khó mà người chơi lựa chọn, có mức độ là: dễ, trung bình khó Mục tiêu Chương trình đảm bảo chức chơi mới, thốt, hướng dẫn, giới thiệu thơng tin trị chơi, chọn mức độ khó, chơi hai người người… Một số khó khăn giải - Làm tạo 20 button gồm 10 cặp mà cặp button có hình ảnh khác ngẫu nhiên - Hướng giải Sử dụng mảng, mảng giatri gồm 20 phần tử để lưu 20 giá trị hình ảnh, 20 giá trị chia thành 10 cặp giá trị giống Mục đích mảng giatri lưu trữ giá trị cho 20 button kia, nhiên giá trị chưa đưa ngẫu nhiên vào 20 button Vì vậy, sử dụng thêm mảng vitri gồm 20 phần tử để tạo vị trí Mảng vị trí tạo nhờ sử dụng hàm random, tạo mảng vị trí có giá trị ngẫu nhiên từ 0->20 Sử dụng mảng ta đưa 20 ảnh mảng giatri vào 20 button cách ngẫu nhiên 3.2 Thiết kế chương trình Khái quát chức - Menu: hiển thị menu chọn mức độ khó cách chơi người hay người - Chơi: o Chơi lại: chơi lại ván giống ván chơi o Tạm dừng: enables = false tất button để tạm dừng trò chơi o Chơi tiếp: enables = true tất button để tiếp tục trò chơi - o Điểm cao: hiển thị danh sách 10 người chơi có điểm cao Hướng dẫn: o Giới thiệu: giới thiệu thơng tin chương trình, người thực chương trình o Cách chơi: giới thiệu cách chơi chương trình Chi tiết chức 3.2.1 Chức chọn chế độ chơi Khi bắt đâu khởi động game có hai chế độ chơi người hai người Với chế độ chơi người có mức độ chơi dễ ( 4x5 ), trung bình (5x6) khó ( 6x6 ) Mức độ dễ với kích thước (4x5) có hình giúp cho người chơi làm quen dần với cách chơi sau người chơi chọn mức cao Người chơi xong ván hệ thống lưu điểm tên người chơi Chọn chế độ chơi 3.2.2 Chức tạo chơi Tạo chơi người chơi kết thúc trò chơi muốn chơi lại điểm thấp muốn chơi lại • Khó khăn: − Làm để tạo chơi mà không cần phải xử lý nhiều − Xác định biến reset lại, chức ảnh hưởng − Tạo lại ngẫu nhiên hình ảnh để thực chơi lại cho khơng giống với hình ảnh ban đầu − Lật lại tất ô trạng thái chưa lật − Xác định phương thức dùng • Hướng giải quyết: − Để xử lý nhiều tạo phương thức newgame( ) chứa tất code xử lý tạo lại chơi − Các biến reset lại: biến tính điểm, biến tính số lượt click, biến tính số đánh, biến lưu địa ô click Các chức bị ảnh hưởng: Tạm dừng, Chơi tiếp,… − Để lật lại ô trạng thái chưa lật: + Lấy hình ảnh đại diện cho hình chưa lật + setIcon tất nút hình − Các phương thức sử dụng: + addActionListener( ) + removeActionListener( ) + setText( ) + setIcon( ) Chức chơi lại, tạm dừng, chơi tiếp 3.2.3 Chức tạm dừng, chơi tiếp Tạm dừng chức cho phép người chơi vơ hiệu hóa chơi bận để tiếp tục chơi rảnh, giúp tránh ảnh hưởng không cần thiết • Khó khăn: − Xác định tạm dừng, chơi tiếp − Xác định phương thức sử dụng • Hướng giải quyết: − Xây dựng menu để thực tạm dừng chơi tiếp 10 − Khi người dùng bắt đầu chơi tạm dừng, sau tạm dừng chơi tiếp Khi tạm dừng khơng thể tạm dừng tiếp với chơi lại − Sử dụng phương thức setEnable( ) để thực ẩn menu tạm dừng chơi tiếp − Khi tạm dừng tất nút chơi ẩn, chơi tiếp tất nut chơi 3.2.4 Chức hướng dẫn Chức hướng dẫn giới thiệu Hướng dẫn phần thể cách chơi, thông tin chương trình − − − − • Khó khăn: Thể phần hướng dẫn cho trực quan Sử dụng phương thức • Hướng giải quyết: Tạo frame để thể hướng dẫn Thiết kế ảnh có thơng tin hướng dẫn cách chơi gắn làm Jlabel sau thêm label lên panel 3.2.5 Chức người chơi Với người tự chơi, sau khởi động game, chọn mục player sau chọn mức chơi từ dễ trung bình đến khó Trong chơi tạm dừng game tiếp tục chơi tiếp Sau chơi xong, máy lưu điểm tên người chơi số điểm thuộc top người chơi có số điểm cao Số điểm lưu vào fie gồm tên người chơi số điểm dành được: - Sử dụng FileInputStream để đọc file Sử dụng FileOutputStream để ghi file Tiến hành duyệt file diem.txt, gặp chỗ mà có điểm người chơi lớn điểm người chơi có file chèn điểm người chơi vào chỗ Lưu ý file diem chứa người chơi cao nhất, sử dụng biến đếm để đếm đủ người 11 3.2.6 Chức chơi người Đại viết hộ phần với :D 3.3 Chi phí thời gian, độ ổn định 3.3.1 Chi phí thời gian Đề tài xây dựng từ tháng 10 năm 2012 kết thúc vào tháng 11 năm 2012 thành viên nhóm Thời gian đầu xây dựng gặp chút khó khăn kỹ thuật tạo dựng hình ảnh, sau nhóm khắc phục hồn thành đề tài thời gian trước dự kiến ( nhóm dự kiến hồn thành vào tháng 12) 3.3.2 Độ ổn định Phần mềm viết tảng JDK hỗ trợ cho điều hành nên đề tài chạy ổn định hệ điều hành thông dụng win xp, win 7, win vista số hệ điều hành khác 12 CHƯƠNG KẾT QUẢ 4.1 Giao diện chương trình Hình 4.1 Giao diện chương trình Hình 4.2 Giao diện bắt đầu chơi menu chương trình 13 Hình 4.3 Giao diện hướng dẫn chơi Hình 4.4 Giao diện kết thúc lượt chơi 4.2 Hướng phát triển Với cách thức chơi đơn giản, khối liệu chức đầy đủ, giao diện thân thiện dễ hiểu với người Trò chơi đáp ứng yêu cầu hướng tới là: Tính ngẫu nhiên, hoạt động xác, với hướng dẫn dễ hiểu tạo dễ dàng chơi cho người chơi Đồng thời số xắp xếp cách ngẫu nhiên giúp người chơi rèn luyện trí nhớ cách tốt Thơng qua việc lập trình trị chơi chúng em hiểu thêm cách lập trình theo hướng đối tượng, cách tính tốn cho việc thiết kế hiểu rõ thuật toán xử lý Lập trình trị chơi trúc xanh, với ưu điểm đơn giản dễ chơi giúp cho người chơi rèn luyện trí nhớ, đơn giản làm trị chơi trở 14 lên đơn điệu hình ảnh đồ họa khơng bắt mắt gây nhàm chán cho người chơi chơi nhiều lần Nên hướng phát triển chúng em nâng cao khả đồ họa phần mềm trò chơi này, với nhiều hiệu ứng màu sắc bắt mắt hơn, đồng thời xây dựng thêm số chức như: lưu điểm người cao nhất, tăng độ khó theo level, chơi hai người… Nhưng hướng chủ yếu tăng hiệu ứng đồ họa để người chơi thấy cách trực quan với trò chơi, tránh cảm giác nhàm chán chơi Họ tên Công việc Trần Văn Đại Cách tính điểm thông báo Dư Văn Nguyện Xử lý ô Nguyễn Mạnh Giao diện Thắng 15 .. .Java ngơn ngữ lập trình hướng đối tượng (tựa C++) Sun Microsystem đưa vào thập niên 90.Chương trình viết ngơn ngữ lập trình java chạy hệ thống có cài máy ảo java (Java Virtual Machine) Java. .. Trong q trình giảng dạy, nhờ có hướng dẫn tận tình thầy giáo Vũ Đức Minh với giúp đỡ củacác thầy cô khoa, chúng em hoàn thành tốt tập với đề tài Lập trình game trúc xanh viết ngơn ngữ Java Từ... tốt Thơng qua việc lập trình trị chơi chúng em hiểu thêm cách lập trình theo hướng đối tượng, cách tính tốn cho việc thiết kế hiểu rõ thuật toán xử lý Lập trình trị chơi trúc xanh, với ưu điểm