XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

26 653 1
XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Đ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

MỤC LỤC LỜI MỞ ĐẦU DANH MỤC CÁC HÌNH ẢNH VÀ SƠ ĐỒ Hình 1.1: Các biên dịch chương trình hệ thống Hình 1.2: Biên dịch hệ thống java Hình 2.1 Biểu đồ Usecase Hình 2.2 Biểu đồ trình tự bắt đầu chơi game Hình 2.3 Biểu đồ trình tự tự động chơi game Hình 2.4 Biểu đồ trình tự thêm ảnh Hình 2.5 Biểu đồ trình tự cài đặt game Hình 2.6 Bài tốn mơ tả hàm ước lượng Heuristic Hình 3.1 Giao diện chương trình Hình 3.2 Các chức chương trình Hình 3.3 Giao diện bắt đầu chơi game Hình3.4 : Giao diện thiết lập độ khó cho trị chơi Hình 3.5 : Giao diện game Win Hình 3.6 : Giao diện hỏi người chơi có muốn Autorun khơng Hình 3.7 : Giao diện game tự động chơi Hình 3.8 : Giao diện Add Image Hình 3.9 : Giao diện cài đặt trị chơi Hình 3.10 : Giao diện hướng dẫn cho người chơi TÓM TẮT ĐỀ TÀI Java ngơn ngữ lập trình dạng lập trình hướng đối tượng (OOP) Khác với phần lớn ngôn ngữ lập trình thơng thường, thay biên dịch mã nguồn thành mã máy thông dịch mã nguồn chạy, Java thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau mơi trường thực thi (runtime environment) chạy Bằng cách này, Java thường chạy chậm ngơn ngữ lập trình thơng dịch khác C++, Python, Perl, PHP, C# Ngơn ngữ lập trình Java giới thiệu vào năm 1990 Sau khơng lâu, ngôn ngữ sử dụng rộng rãi phổ biến lập trình viên chuyên nghiệp nhà phát triển phần mềm Để hiểu rõ Java nhóm chúng em tìm hiểu xây dựng chương trình đơn giản “Game Xếp Hình” Hay cịn gọi Puzzle, có nghĩa câu đố, trò chơi thuộc thể loại game trí tuệ Trị chơi giống trị chơi xếp hình, với kích thước trị chơi ô, trạng thái ban đầu khởi tạo ngẫu nhiên Nhiệm vụ người chơi xếp chữ số cho đạt trạng thái win cho sau: Người chơi dịch chuyển số theo hướng lên xuống,sang trái phải cạnh trống.Độ khó trị chơi qui định giới hạn thời gian chơi số lần dịch chuyển.Nghĩa người chơi chơi hết thời gian giới hạn hay số lần dịch chuyển giới hạn bị thua Người chơi cố gắng xếp ô trạng thái win nhanh tốt dùng lần dịch chuyển tốt Nội dung báo cáo “Game Xếp Hình” bao gồm: Cơ sở lý thuyết Quá trình xây dựng game Kết Hạn chế thiếu xót hướng phát triển Cơ sở lý thuyết 1.1 Giới thiệu ngôn ngữ Java: Java ngơn ngữ lập trình Sun Microsystems giới thiệu vào tháng năm 1995 Từ đó, trở thành cơng cụ lập trình lập trình viên chuyên nghiệp Java xây dựng tảng C C++, sử dụng cú pháp C đặc trưng hướng đối tượng C++ Vào năm 1991, nhóm kỹ sư Sun Microsystems có ý định thiết kế ngơn ngữ lập trình để điều khiển thiết bị điện tử tivi, máy giặt, lò nướng,… Mặc dù C C++ có khả làm việc trình biên dịch lại phụ thuộc vào loại CPU Trình biên dịch thường phải tốn nhiều thời gian để xây dựng nên đắt, để loại CPU có trình biên dịch riêng tốn Do nhu cầu thực tế địi hỏi ngôn ngữ chạy nhanh, gọn, hiệu độc lập thiết bị tức chạy nhiều loại CPU khác nhau, môi trường khác “Oak” đời vào năm 1995 đổi tên thành Java Mặc dù mục tiêu ban đầu cho Internet đặc trưng không phụ thuộc thiết bị nên Java trở thành ngôn ngữ lập trình cho Internet 1.2 Một số tính chất ngơn ngữ Java: Java ngơn ngữ lập trình phát triển từ ngơn ngữ lập trình C/C+ + Nó kế thừa, phát huy mạnh ngôn ngữ C/C++ lược bỏ cú pháp phức tạp C/C++ Ngơn ngữ lập trình Java có số đặc trưng tiêu biểu: đơn giản, hướng đối tượng, độc lập phần cứng hệ điều hành, mạnh mẽ, bảo mật, phân tán, đa luồng linh động 1.2.1 Đơn giản: Những người thiết kế mong muốn phát triển ngôn ngữ dễ học quen thuộc với đa số người lập trình Do Java loại bỏ đặc trưng phức tạp C C++ như: - Loại bỏ thao tác trỏ, thao tác định nghĩa chồng tốn tử - Khơng cho phép đa kế thừa mà sử dụng giao diện - Không sử dụng lệnh “goto” file header (.h) - Loại bỏ cấu trúc “struct” “union” 1.2.2 Hướng đối tượng: Java ngơn ngữ lập trình hướng đối tượng, chương trình viết Java phải xây dựng đối tượng Nếu C/C++ ta tạo hàm (chương trình khơng gắn với đối tượng nào) Java ta tạo phương thức (chương trình gắn liền với lớp cụ thể) Trong Java không cho phép đối tượng có tính đa kế thừa mà thay giao diện (interface) 1.2.3 Độc lập phần cứng hệ điều hành: Đối với ngôn ngữ lập trình truyền thống C/C++, phương pháp biên dịch thực sau : Hình 1.1: Các biên dịch chương trình hệ thống Với phần cứng khác nhau, có trình biên dịch khác để biên dịch mã nguồn chương trình cho phù hợp với phần cứng Do vậy, chạy phần cứng khác bắt buộc phải biên dịch lại mã nguồn Đối với chương trình viết Java, trình biên dịch Javac biên dịch mã nguồn thành dạng bytecode Sau đó, chạy chương trình phần cứng khác nhau, máy ảo Java dùng trình thơng dịch Java để chuyển mã bytecode thành dạng chạy phần cứng tương ứng Do vậy, thay đổi phần cứng, biên dịch lại mã nguồn Java Hình 1.2: Biên dịch hệ thống java 1.2.4 Mạnh mẽ: Java ngôn ngữ yêu cầu chặt chẽ kiểu liệu - Kiểu liệu phải khai báo tường minh - Java không sử dụng trỏ phép toán trỏ - Java kiểm tra tất truy nhập đến mảng, chuỗi thực thi để đảm bảo truy nhập khơng ngồi giới hạn kích thước - Trong mơi trường lập trình truyền thống, lập trình viên phải tự cấp phát nhớ, trước chương trình kết thúc phải tự giải phóng nhớ cấp Vấn đề nảy sinh lập trình viên qn giải phóng nhớ xin cấp trước Trong chương trình Java, lập trình viên khơng phải bận tâm đến việc cấp phát nhớ Q trình cấp phát, giải phóng thực tự động, nhờ dịch vụ thu nhặt đối tượng khơng cịn sử dụng (garbage collection) - Cơ chế bẫy lỗi Java giúp đơn giản hóa trình xử lý lỗi hồi phục sau lỗi 1.2.5 Bảo mật: Java cung cấp môi trường quản lý thực thi chương trình với nhiều mức để kiểm sốt tính an tồn: - Ở mức thứ nhất, liệu phương thức đóng gói bên lớp Chúng truy xuất thông qua giao diện mà lớp cung cấp - Ở mức thứ hai, trình biên dịch kiểm soát để đảm bảo mã an toàn, tuân theo nguyên tắc Java - Mức thứ ba đảm bảo trình thơng dịch chúng kiểm sốt xem bytecode có đảm bảo quy tắc an tồn trước thực thi khơng - Mức thứ tư kiểm soát việc nạp lớp vào nhớ để giám sát việc vi phạm giới hạn truy xuất trước nạp vào hệ thống 1.2.6 Phân tán: Java thiết kế để hỗ trợ ứng dụng chạy mạng lớp mạng (java.net) Hơn nữa, Java hỗ trợ nhiều chạy khác nên chúng sử dụng rộng rãi công cụ phát triển Internet - nơi sử dụng nhiều khác 1.2.7 Đa luồng Chương trình Java cung cấp giải pháp đa luồng (Multithreading) để thực thi công việc đồng thời Chúng cung cấp giải pháp đồng luồng Đặc tính hỗ trợ đa luồng cho phép xây dựng ứng dụng mạng chạy hiệu 1.2.8 Linh động Java thiết kế ngôn ngữ động để đáp ứng cho mơi trường mở Các chương trình Java chứa nhiều thơng tin thực thi nhằm kiểm sốt truy nhập đối tượng lúc chạỵ Điều cho phép khả liên kết mã động Quá trình xây dựng chương trình: Xác định yêu cầu: 2.1.1 Yêu cầu chức năng: Game xếp hình (hay cịn gọi Puzzle) trị chơi điều khiển 2.1 khối trượt khung đánh số thứ tự ngẫu nhiên với ô bị thiếu Nhiệm vụ trượt khối Các khối trượt số hình ảnh cho kết dãy số xếp tăng giảm dần, hình ghép lại từ miếng nhỏ thành hình ban đầu 2.1.2 Yêu cầu phi chức năng: Giao diện game đơn giản, thân thiện dễ sử dụng với người chơi 2.2 Thiết kế chương trình: 2.2.1 Biểu đồ Usecase: Hình 2.1 Biểu đồ Usecase 2.2.2 Biểu đồ trình tự: 2.2.2.1 Biểu đồ trình tự New game: Hình 2.2 Biểu đồ trình tự bắt đầu chơi game 2.2.2.2 Biểu đồ trình tự Solve: Hình 2.3 Biểu đồ trình tự tự động chơi game 2.2.2.3 Biểu đồ trình tự Add image: Hình 2.4 Biểu đồ trình tự thêm ảnh 2.2.2.4 Biểu đồ trình tự Tool: Hình 2.5 Biểu đồ trình tự cài đặt game 10 Begin Thông báo thành công; Kết thúc; End; For v kề u Begin g(v) = g(u) + k(v,u); f(v) = g(v) + h(u); Đặt v vào ds L cho L tăng dần theo hàm f; father(v)

Ngày đăng: 04/08/2020, 00:50

Hình ảnh liên quan

Hình 1.1: Các biên dịch chương trình hệ thống - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 1.1.

Các biên dịch chương trình hệ thống Xem tại trang 4 của tài liệu.
Hình 1.2: Biên dịch hệ thống java - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 1.2.

Biên dịch hệ thống java Xem tại trang 5 của tài liệu.
Game xếp hình (hay còn gọi là Puzzle) là một trò chơi điều khiển các khối trượt trong một khung được đánh số thứ tự ngẫu nhiên với một ô bị  thiếu - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

ame.

xếp hình (hay còn gọi là Puzzle) là một trò chơi điều khiển các khối trượt trong một khung được đánh số thứ tự ngẫu nhiên với một ô bị thiếu Xem tại trang 7 của tài liệu.
Hình 2.2 Biểu đồ trình tự bắt đầu chơi game - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 2.2.

Biểu đồ trình tự bắt đầu chơi game Xem tại trang 8 của tài liệu.
Hình 2.3 Biểu đồ trình tự tự động chơi game - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 2.3.

Biểu đồ trình tự tự động chơi game Xem tại trang 9 của tài liệu.
Hình 2.4 Biểu đồ trình tự thêm ảnh - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 2.4.

Biểu đồ trình tự thêm ảnh Xem tại trang 10 của tài liệu.
Hình 2.5 Biểu đồ trình tự cài đặt game - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 2.5.

Biểu đồ trình tự cài đặt game Xem tại trang 10 của tài liệu.
Hình 2.6 Bài toán mô tả hàm ước lượng Heuristic - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 2.6.

Bài toán mô tả hàm ước lượng Heuristic Xem tại trang 13 của tài liệu.
Hình 3.1 Giao diện chính của chương trình - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.1.

Giao diện chính của chương trình Xem tại trang 15 của tài liệu.
Hình 3.2 Các chức năng chính của chương trình - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.2.

Các chức năng chính của chương trình Xem tại trang 16 của tài liệu.
Hình 3.3 Giao diện bắt đầu chơi game - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.3.

Giao diện bắt đầu chơi game Xem tại trang 17 của tài liệu.
Hình3.4 : Giao diện thiết lập độ khó cho trò chơi - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.4.

Giao diện thiết lập độ khó cho trò chơi Xem tại trang 18 của tài liệu.
Hình 3.5 : Giao diện game khi Win. - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.5.

Giao diện game khi Win Xem tại trang 19 của tài liệu.
Hình 3.6 : Giao diện hỏi người chơi có muốn Autorun không. - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.6.

Giao diện hỏi người chơi có muốn Autorun không Xem tại trang 20 của tài liệu.
Hình 3.7 : Giao diện khi game đang tự động chơi - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.7.

Giao diện khi game đang tự động chơi Xem tại trang 21 của tài liệu.
Hình 3.8 : Giao diện Add Image. - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.8.

Giao diện Add Image Xem tại trang 22 của tài liệu.
Hình 3.9 : Giao diện cài đặt trò chơi. - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.9.

Giao diện cài đặt trò chơi Xem tại trang 23 của tài liệu.
Hình 3.10 : Giao diện hướng dẫn cho người chơi. - XÂY DỰNG CHƯƠNG TRÌNH GAME xếp HÌNH (PUZZLE)

Hình 3.10.

Giao diện hướng dẫn cho người chơi Xem tại trang 24 của tài liệu.

Mục lục

  • DANH MỤC CÁC HÌNH ẢNH VÀ SƠ ĐỒ

  • TÓM TẮT ĐỀ TÀI

  • 1. Cơ sở lý thuyết

    • 1.1 Giới thiệu về ngôn ngữ Java:

    • 1.2.3 Độc lập phần cứng và hệ điều hành:

    • 2. Quá trình xây dựng chương trình:

      • 2.1 Xác định yêu cầu:

      • 2.1.1 Yêu cầu chức năng:

      • 2.1.2 Yêu cầu phi chức năng:

      • 2.2.2 Biểu đồ trình tự:

      • 2.2.3 Thiết kế thuật toán :

      • 2.2.4 Thiết kế giao diện người dùng

      • 3. KẾT QUẢ:

        • 3.1 Chương trình hoàn chỉnh:

        • 3.2 Các khó khăn gặp phải và cách giải quyết:

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

Tài liệu liên quan