Báo cáo môn học ngôn ngữ lập trình Java

20 2.4K 19
Báo cáo môn học ngôn ngữ lập trình Java

Đ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ôn học ngôn ngữ lập trình Java

Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh MỤC LỤC Lời mở đầu 1.1 Lý chọn đề tài 1.2Mục tiêu đề tài 1.3 Công nghệ sử dụng 1.4 Phạm vi nghiên cứu Phân công công việc đánh giá kết thành viên nhóm Nội dung báo cáo 3.1 Cơ sở lý thuyết 3.1.1 Giới thiệu 3.1.2 Một số tính chất ngơn ngữ java 3.1.2.1 Đơn giản 3.1.2.2 Hướng đối tượng 3.1.2.3 Độc lập phần cứng hệ điều hành 3.1.2.4 Mạnh mẽ 3.1.2.5 Bảo mật .7 3.1.2.6 Phân tán 3.1.2.7 Đa luồng 3.1.2.8 Linh động 3.2 Phân tích thiết kế hệ thống 3.2.1 Phân tích hệ thống .7 3.2.2 Thiết kế hệ thống 3.3 Kết 16 Kết luận .18 4.1 Đạt 18 4.2 Chưa đạt 20 Tài liệu tham khảo .20 DANH MỤC HÌNH ẢNH Hình 1: Bảng mơ tả phân cơng cơng việc Hình 2: Luồng xử lý rẽ nhánh chức Hình 3: Các lớp thành viên SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 1/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 4: Lớp Main Hình 5: Lớp Game Hình 6: Lớp Game thread Hình 7: Lớp Game panel Hình 8: Lớp Configuration Hình 9: Lớp Figure Hình 10: Lớp SquareBoad Hình 11: Lớp SquareBoad Component Hình 12: Mơ tả quan hệ lớp Hình 13: Bắt đầu trị chơi Hình 14: Q trình trị chơi SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 2/20 Báo cáo môn học ngôn ngữ lập trình JavaGVHD: Vũ Đức Minh Lời mở đầu 1.1 Lý chọn đề tài Công nghệ thông tin (CNTT) ngày có vai trị quan trọng sống ngày Việc ứng dụng CNTT vào lĩnh vực đời sống giúp công việc tiến hành nhanh chóng hiệu Có nhiều công việc phát triển song song với phát triển CNTT, số hiệu ứng game, hướng dịch vụ mang lại hiệu kinh tế lớn Chúng em chọn đề tài “Lập trình game xếp gạch ngơn ngữ java” nhằm tìm hiểu sâu ngơn ngữ java lập trình hướng đối tượng, từ viết ứng dụng cụ thể thử nghiệm làm sở củng cố kiến thức định hướng, kế hoạch xây dựng ứng dụng game cụ thể, phát triển theo hướng dịch vụ tương lai 1.2 Mục tiêu đề tài Hiểu khái niệm phân tích giải tốn lập trình hướng đối tượng: Xác định đối tượng lớp, quan hệ lớp hệ thống thông tin Mục tiêu đề tài mục đích nhằm nghiên cứu môi trường phát triển, ngôn ngữ java xây dựng ứng dụng cụ thể 1.3 Công nghệ sử dụng Trong xu phát triển công nghệ thông tin vũ bảo nay,đặc biệt ngành công nghệ phần mềm ,ngày địi hỏi trình độ cao kĩ thuật lập trình.Chính mà phương pháp lập trình hướng thủ tục cổ điển trước không đáp ứng nhu cầu đặt thời đại ,một phương pháp lập trình xây dựng theo nguyên lý Alan-Kay đời nhằm đáp ứng nhu cầu cấp thiết : “Phương pháp Lập Trình Hướng đối Tượng” Đồ án thiết kế theo phương pháp LTHDT ngôn ngữ Java ,do SunMicroSystem đưa vào năm 1991 Chính mà giải vướng mắc gặp phải thiết kế theo phương pháp lập trình thủ tục túy • Mã chương trình rõ ràng,dễ đọc , dễ hiểu đọng • Chương trình tổ chức thành Class lắp ghép lại với thành khối thống • Mỗi Class gồm có nhiều Method đảm nhận vai trị khác chương trinh • Chương trình có tính mềm dẻo cao • Có khả tái sử dụng tài nguyên SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 3/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh 1.4 Phạm vi nghiên cứu Nghiên cứu môi trường phát triển, ngơn ngữ java lập trình hướng đối tượng Tìm hiểu cách xây dựng phương thức, thuộc tính đối tượng java Phân công công việc đánh giá kết thành viên nhóm Tên thành viên Trần Thị Quỳnh Hạnh Công việc thực Kết Hồn thành Viết báo cáo Hồn thành Tìm hiểu tốn Hồn thành Xây dựng lớp xử lý Hồn thành Viết báo cáo Hồn thành Tìm hiểu tốn Hồn thành Xây dựng lớp, phương thức Ngơ Đức Hợi Hồn thành Xây dựng lớp giao diện Nguyễn Chí Cơng Tìm hiểu tốn Hồn thành Hình 1: Bảng mô tả phân công công việc Nội dung báo cáo 3.1 Cơ sở lý thuyết 3.1.1 Giới thiệu 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 SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Công - Ngô Đức Hợi Trang 4/20 Báo cáo môn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh 3.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 3.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” 3.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) 3.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 SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 5/20 Báo cáo môn học ngôn ngữ lập trình JavaGVHD: Vũ Đức Minh 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 3.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 tố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 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 sử dụng (garbage collection) SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 6/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh • Cơ chế bẫy lỗi Java giúp đơn giản hóa qúa trình xử lý lỗi hồi phục sau lỗi 3.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 số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 toàn trước thực thi khơng • Mức thứ tư kiểm số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 3.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 3.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 3.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 3.2 Phân tích thiết kế hệ thống 3.2.1 Phân tích hệ thống Quy trình thực trị chơi thao tác • Khởi động trị chơi • Hướng thứ nhất: Người chơi thực trị chơi, chương trình cộng điểm, đến giới hạn điểm, chương trình tự động nâng mức độ SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 7/20 Báo cáo môn học ngôn ngữ lập trình JavaGVHD: Vũ Đức Minh trị chơi lên Đến mức độ cao nhất, hệ thống thông báo kết thúc dừng trị chơi • Hướng thứ hai: Người chơi thực trị chơi, q trình chơi, người dùng muốn khởi tạo lại trị chơi • Hướng thứ ba: Người chơi thực trò chơi, trình chơi, người chơi muốn tạm dừng tiếp tục trị chơi Hình 2: Luồng xử lý rẽ nhánh chức SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 8/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh 3.2.2 Thiết kế hệ thống Hình 3: Các lớp thành viên SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngô Đức Hợi Trang 9/20 Báo cáo môn học ngôn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 4: Lớp Main SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngô Đức Hợi Trang 10/20 Báo cáo môn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 5: Lớp Game Hình 6: Lớp Game thread SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 11/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 7: Lớp Game panel SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 12/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 8: Lớp Configuration SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 13/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 9: Lớp Figure SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 14/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 10: Lớp SquareBoad Hình 11: Lớp SquareBoad Component SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Công - Ngô Đức Hợi Trang 15/20 Báo cáo môn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 12: Mô tả quan hệ lớp Lớp cha Lớp Múi tên lớp kế thừa lớp cha Quan hệ kết hợp có biến thể Quan hệ kết hợp khơng có biến thể 3.3 Kết Các chức chi tiết SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 16/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh • Bắt đầu chơi • Để bắt đầu trò chơi xếp gạch, người chơi click chuột vào nút “Bắt đầu” • Tạm dừng trị chơi: • Trong trình chơi xếp gạch, muốn tạm dừng trò chơi lại, người chơi nhấn nút “Tạm dừng” nhấn phím “P” • Để tiếp tục q trị chơi, người chơi nhấn nút “Tiếp tục” nhấn phím “P” • Hiển thị gạch: o Chức giúp người chơi biết trước lát gạch xuất thao tác kế tiếp, giúp người chơi định hướng dễ dàng o Để tắt mở chức này, người chơi nhấn phím “N” • Dịch chuyển đảo gạch: o Chức cho phép người chơi dịch chuyển đảo gạch theo chiều, hướng dạng thù hình mà mong muốn  Dịch sang trái: Nhấn phím  Dịch sang phải: Nhấn phím  Dịch nhanh xuống dưới: Nhấn phím  Đảo gạch: Nhấn phím • Tính điểm: o Chức tính điểm cho người chơi, người chơi xếp hàng đầy khung, hàng gạch tự biến người dùng cộng thêm 100 điểm • Mức độ hoàn thành: o Mức độ: Là chức làm tăng độ khó game, người chơi đạt 100 điểm mức độ tăng lên bậc, trình tiếp tục người chơi đích o Hồn thành: Khi người chơi đạt đến mức độ chương trình báo bạn hồn thành chơi trị chơi lại bắt đầu lại từ đầu SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 17/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh • Kết thúc: o Khi viên gạch chồng lên nhau, chạm tới đỉnh khung chữ Kết thúc trị chơi xuất Như người chơi kết thúc trò chơi, trò chơi khởi tạo lại Kết luận 4.1 Đạt Hiểu làm việc với môi trường phát triển, ngơn ngữ java Cơ hội tìm hiểu thực tế tốn Xây dựng chương trình cụ thể Hình 13: Bắt đầu trò chơi SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 18/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 14: Q trình trị chơi Hình 15: Kết thúc trị chơi SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngô Đức Hợi Trang 19/20 Báo cáo môn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh 4.2 Chưa đạt Chưa thực chức Lưu trò chơi Trên máy tính nhất, thời điểm chưa thực chức chơi hai người, người chơi bàn phím, người chơi chuột Chưa có chức đổi giao diện cho viên gạch theo ý người chơi Chưa có chức cho người chơi tự điều khiển mức độ trò chơi Tài liệu tham khảo [1] java.sun.com [2] Herbert Schildt Java A Beginner’s Guide Secon Edition McGraw-Hill - 2003 [3] Dr Harvey M Deitel - Paul J Deitel Java How Program, 4th Ed (Deitel) Prentice Hall - 2002 [4] Simon Roberts – Philip Heller – Michael Ernest Comple Java Certification – study guide BPB Publications – 2000 [5] Cay S Horstmann – Gary Cornell Core Java Volum Fundamentals The Sun Microsystems press 1997 [6] Cay S Horstmann – Gary Cornell Core Java Volum Advanced Features The Sun Microsystems press 1997 [7] codeproject.com SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 20/20 ... 13/20 Báo cáo môn học ngôn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 9: Lớp Figure SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 14/20 Báo cáo môn học ngôn ngữ lập trình JavaGVHD:... Trang 9/20 Báo cáo môn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 4: Lớp Main SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Công - Ngô Đức Hợi Trang 10/20 Báo cáo môn học ngơn ngữ lập trình JavaGVHD:... 11/20 Báo cáo mơn học ngơn ngữ lập trình JavaGVHD: Vũ Đức Minh Hình 7: Lớp Game panel SV:Trần Thị Quỳnh Hạnh - Nguyễn Chí Cơng - Ngơ Đức Hợi Trang 12/20 Báo cáo môn học ngôn ngữ lập trình JavaGVHD:

Ngày đăng: 02/11/2012, 11:45

Từ khóa liên quan

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

Tài liệu liên quan