báo cáo đồ án môn JAVA

20 4.2K 23
báo cáo đồ án môn 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

LỜI CẢM ƠN Đồ án môn học với những môn lập trình là khá phổ biến với sinh viên khoa Tin để tự thống kê kiến thức và lên ý tưởng cho những chương trình của mình. Đó là yêu cầu và cũng là thách thức đối với sinh viên khi làm quen với thực hành từ những kiến thức lý thuyết sách vở. Để cho em có thể lắm chắc kiến thức và tiếp cận thực tế với một sản phẩm phần mềm, em đã nhận được sự giúp đỡ tận tình từ thầy Vũ Đức Minh giáo viên hướng dẫn em trong đồ án này, cùng với sự góp ý của một số thành viên trong lớp để đố án của em được hoàn thành. Nhưng do có những hạn chế về kiến thức và kinh ngiệm tìm hiểu thực tế chưa có nên đồ án của em còn nhiều sai sót. Em rất mong nhận được sự chỉ bảo, giúp đỡ của các thầy cô giáo và các bạn để bài của em được hoàn thiện hơn. Điều quan trọng là những ý kiến của thầy cô giáo sẽ giúp em có thêm hiểu biết và kinh nghiệm để phục vụ cho những đồ án sau này. Cuối cùng em xin gửi lời cảm ơn đến thầy hướng dẫn Vũ Đức Minh đã giúp em trong quá trình làm đồ án vừa qua. Em xin chân thành cảm ơn! Báo cáo môn Đồ án Java MỤC LỤC Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 2 Báo cáo môn Đồ án Java DANH MỤC HÌNH ẢNH, SƠ ĐỒ Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 3 Báo cáo môn Đồ án Java LỜI MỞ ĐẦU Game cho phép người chơi thỏa sức khám phá và tìm hiểu kiến thức trong thế giới ảo. Bên cạnh đó còn là khả năng cho phép con người thỏa sức tương tác với bạn bè, được tăng cường khả năng giao lưu cộng đồng. Ngay những ngày đầu còn trẻ, việc chơi đùa đóng một vai trò rất quan trọng, đó là cách học sơ khai của con người. Qua những trò chơi, chúng ta khám phá được bản thân, mối quan hệ với bố mẹ, bạn bè, và thế giới xung quanh mình. Bên cạnh sự phát triển những mối quan hệ đó, các trò chơi cũng sẽ giúp chúng ta phát triển những kỹ năng vận động và logic Chẳng hạn như chơi trò gia đình, nó sẽ tạo nhận thức cho trẻ suy nghĩ về mái ấm, vai trò của bố mẹ Mặc khác, ngày nay với sự phát triển của xã hội công việc làm con người luôn mệt mỏi thì game lại là một trò chơi giải trí hữu hiệu. Tóm tắt đồ án: Để thuận tiện cho việc giải trí với thời gian ngắn và mọi người có thể tranh thủ chơi trong giờ nghỉ giải lao, hay đơn giản là dành cho các em nhỏ mới hình thành nhận thức. Với đề tài này em nghiên cứu và tìm hiểu cách lập trình một Game đơn giản bằng ngôn ngữ Java. Lý do chọn đề tài: Với nhu cầu giải trí thiết yếu của con người thì game là một sản phẩm không thể thiếu. Trong phần lớn trường hợp, trò chơi video không nguy hiểm đối với trẻ em. Thậm chí chúng còn có thể đóng góp tích cực vào quá trình phát triển các kỹ năng quan trọng như tư duy sáng tạo, sắp xếp kế hoạch, hợp tác với người khác, tìm hiểu tri thức mới và giải quyết vấn đề. Chúng giúp trẻ học được nhiều thực tế trong cuộc sống, nhưng không phải hầu hết trò chơi đó phù hợp với lứa tuổi trẻ em. Chính vì lẽ đó, em viết game này với kiến thức ít ỏi mà mình thu nhận được nhằm mục đích tạo ra một game đơn giản dành cho trẻ em, đồng thời có thể vận dụng được kiến thức cơ bản mà em có nghiên cứu và làm ra đề tài này để củng cố kiến thức về lập trình ngôn ngữ Java, tạo nền móng cho các đề tài lớn sau này. Vì vậy em chọn đề tài: “Game Tìm Đường” Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 4 Báo cáo môn Đồ án Java Mục tiêu của đề tài: Nội dung của đề tài tập trung vào các kiến thức căn bản nhất của lập trình java, giúp thực hành được các kiến thức từ những bước đầu tiếp cận với công nghệ mới này và mang tính chất tham khảo học hỏi. Đề tài có nói đến các vấn đề: • Những căn bản về ngôn ngữ Java: Như làm việc với button, menubar, menuiteam, các biến, hằng… • Bước đầu với các lệnh điều khiển: Các câu lệnh rẽ nhánh, vòng lặp… • Mảng. • Đối tượng và lớp. .Phạm vi ứng dụng: Sử dụng với các bài tập ứng dụng củng cố kiến thức như bài tập lớn. Game “Tìm Đường” không thể đưa vào thực tế vì một sản phẩm phần mềm không chỉ là mã máy hay chương trình nguồn của phần mềm. Một sản phẩm phần mềm bao gồm toàn bộ chương trình và các tài liệu, liên quan đến việc phát triển, bảo trì, kiểm thử và hướng dẫn sử dụng phần mềm đó. Để đưa được vào sử dụng phần mềm phải đáp ứng được những yêu cầu khắt khe của khách hàng như giao diện đẹp, đảm bảo chất lượng khi chơi như không bị lỗi làm gián đoạn cuộc chơi Phạm vi nghiên cứu: Xoay quanh những bài học đã học ở giáo trình, bước đầu dùng lại ở các lệnh đơn giản. CHƯƠNG 1: CƠ SỞ LÝ THUẾT 1.1. Ngôn ngữ Java 1.1.1. Ngôn ngữ lập trình. Java (đọc như "Gia-va") là một 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 vì biên dịch mã nguồnthành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy. Bằng cách này, Java thường chạy chậm hơn những ngôn ngữ lập trình thông dịch khác như C++, Python, Perl, PHP, C# Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn. Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn. Dùng bộ thư viện chuẩn KFC, nhiều Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 5 Báo cáo môn Đồ án Java đoạn code Java chỉ mất vài dòng trong khi C phải mất cả trang giấy. Lập trình C rất hay xảy ra lỗi và khó sửa. Trong Java, hiện tượng dò rỉ bộ nhớ hoàn toàn có thể tránh bằng cách định nghĩa vài preprocessor directives như #define 1.1.2. Lịch sử. Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems năm1991. Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi; do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn ngữ đó thay choC++, nhưng các tính năng giống Objective C. Không nên lẫn lộn Java với JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C. Công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên. Tháng 04/2011, công ti Sun Microsystems tiếp tục cho ra bản JDK 1.6.24. Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows. Ngoài ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triển môi trường thực thi Java cho những hệ điều hành khác như BEA, IBM, HP . Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS. Những chi tiết về ngôn ngữ, máy ảo và API của Java được giữ bởi Cộng đồng Java (doSun quản lý). Java được tạo ra vào năm 1991 do một số kỹ sư ở Sun, bao gồm ông James Gosling, một phần của Dự án Xanh (Green Project). Java được phát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorld năm1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java. Về sau Java được được hỗ trợ trên hầu hết các trình duyệt như Internet Explorer (Microsoft), Firefox (Mozilla), Safari (Apple)… Java được sử dụng chủ yếu trên môi trường NetBeans và Oracle. Sau khi Oracle mua lại công ty Sun Microsystems năm 2009-2010, Oracle đã mô tả họ là "người quản lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và minh bạch". 1.1.3. Phương châm. • Nó sẽ được "đơn giản, hướng đối tượng và quen thuộc". • Nó sẽ được "mạnh mẽ và an toàn". Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 6 Báo cáo môn Đồ án Java • Nó sẽ được "kiến trúc trung lập và di động". • Nó sẽ được thực thi với "hiệu suất cao". • Nó sẽ được "thể hiện, phân luồng và năng động". • Phiên bản. 1.1.4. Công cụ NetBean IDE là một “môi trường phát triển tích hợp“ (Integrated Development Environment) kiểu như Visual Studio của Microsoft và được xem là một một bộ ứng dụng “must- download” dành cho các nhà phát triển phần mềm. NetBean IDE hỗ trợ nhiều hệ điều hành khác nhau như Windows, Mac, Linux, và Solaris. NetBean bao gồm một IDE mã nguồn mở và một nền tảng ứng dụng cho phép nhà phát triển nhanh chóng tạo nên các ứng dụng dành cho web, doanh nghiệp, desktop và thiết bị di động bằng các ngôn ngữ lập trình Java, C/C++, JavaScript, Ruby, Groovy, và PHP. NetBeans IDE 7 cung cấp nhiều tính năng mới như shortcut tìm kiếm trong toàn bộ IDE gọi là QuickSearch, giao diện thận thiện hơn với người dùng, và tính năng tự động biên dịch khi lưu (Compile on Save). Ngoài việc hỗ trợ Java mọi phiên bản (Java SE, Java EE, Java ME), NetBean IDE còn là công cụ lý tưởng cho việc phát triển phần mềm bằng các ngôn ngữ PHP, C/C++, Groovy and Grails, Ruby and Rails, Ajax and JavaScript. 1.2. Giới thiệu về chương trình. Chương trình gồm một mảng 2 chiều 5x5 gồm 3 bức ảnh: mặt mếu, hình con thỏ, và chiếc cửa. Nhiệm vụ của chúng ta là đi tìm đường để dẫn các hình mặt mếu về chiếc cửa nhà mình bằng cách đi qua những ô còn trống(chưa có hình), chỉ được di chuyển vào những ô chưa có hình và đi theo hình dấu cộng(+) và các ô phải liền nhau. Khéo léo tính toán các bước di chuyển để từng bước dắt những người đi lạc đường về đúng nhà mình. Bạn sẽ dành chiến thắng nếu dắt được hết các người đi lạc về đúng nhà. Lưu ý khi đi bạn chỉ được đi vào những ô còn trồng và đi theo hình chữ thập không được đi tắt theo đường chéo. Kỹ thuật đổ ảnh ngẫu nhiên vào trong mảng: • Sử dụng hàm random mảng ảnh (lấy trong thư mục đã buil). int random(int n) { Random rd=new Random(); return (int)(n*rd.nextDouble()); } boolean testonly(int a[],int n,int value) { for(int i=0;i<a.length;i++) if(a[i]==value) return true; return false; } for(int i = 0;i < 19; i++) Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 7 Báo cáo môn Đồ án Java { do { tg = random(24); }while(testonly(mang,19,tg)); mang[i] = tg; } • Chuyển mảnh 2 chiều về thành mảng một chiều ứng với mảng ảnh đã khai báo. for(int i = 0; i < 19;i++) arr[(int)mang[i]/5][mang[i]%5].setIcon( new ImageIcon(Toolkit.getDefaultToolkit().getImage( getClass().getResource(giatri[random(9)])))); arr[4][4].removeActionListener(this); Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 8 Báo cáo môn Đồ án Java CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1. Phân tích 2.2. Yêu cầu Chương trình phải có đủ các chức năng cơ bản: Hướng dẫn, thoát, chơi tiếp, tạm dừng. Giao diện thân thiện: Có nhiều hình thù ngộ ngĩnh, sắp xếp dễ nhìn, thuận lợi cho việc tìm kiếm chứ năng. Dễ chơi: Luật chơi đơn giản, hướng dẫn cụ thể. Thời gian giới hạn: Lập kế hoạch hợp lý để viết code và hoàn thiện chương trình. 2.3. Phân tích các chức năng của chương trình. Hình 2.: Chức năng chương trình. Chức năng chương trình: • Hướng dẫn: Sau khi chọn chơi trò chơi, giao diện trò chơi sẽ được hiển thị Trong menu “Xem” có menu “Hướng dẫn” sẽ hiển thị ra một bảng hướng dẫn các bước chơi game. Giúp người chơi biết cách chơi. • Tạm dừng: Khi đang chơi game người chơi có thể tạm dừng để giữ nguyên các bước đã đi trong một khoảng thời gian để chơi tiếp, thì ta có thể chọn chức năng “Tạm dừng” trong menu “Chơi”. • Chơi tiếp: Khi đang ở chế độ tạm dừng thì ta sẽ có chế độ để tiếp tục cuộc chơi với các bước vừa đi ta chọn chức năng “Chơi tiếp” trong menu “Chơi”. • Thoát: Khi không muốn chơi tiếp trò chơi mà cũng không muốn giữ lại các bước đi cũ ta chọn chức năng “Thoát”. Hệ thống sẽ tự động thoát chương trình nhường chỗ cho các hoạt động khác. Hướng giải quyết các chức năng: • Hướng dẫn: Tạo một bẳng messgebox để hiện thị hướng dẫn cách chơi khi người chơi chọn chức năng “Hướng dẫn”. • Tạm dừng: Chặn mọi hoạt động có ảnh hưởng tới trò chơi, lưu lại các bước đã đi. Khóa tất cả các ô button trong game để không thể tác động đến các bước đã đi, và không được chọn chức năng tạm dừng nữa. Như vậy ta lên dùng các lệnh ẩn hiện các menu chức năng, tước bỏ các sự kiện click vào các button. • Chơi tiếp: Khi đang ở chế độ tạm dừng thì người chơi có thể chọn chức năng chơi tiếp khi đã sẵn sàng. Khi đó ta khôi phục lại hoạt động của các button. • Thoát: Hiển thị thông báo hỏi có hay không thoát chương trình. Phác họa giao diện chức năng: Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 9 Game Tìm Đường ThoátChơi tiếpTạm dừng Hướng dẫn Báo cáo môn Đồ án Java Tên Game Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Ảnh Hình 2.: Phác họa giao diện chức năng. - Trong menu “Xem” có chức năng: “Hướng dẫn” và “Thoát”. - Trong menu “Chơi” có chức năng: “Chơi tiếp ” và “Tạm dừng”. 2.4. Khó khăn và hướng giải quyết. Tạo mảng ảnh random vào trong button. Nó không thể chọn theo kiểu chỉ đường dẫn trực tiếp vào khi thiết kế vì như thế thì các ảnh ở mỗi lần chơi là cố định không tạo được sự thay đổi trong mỗi lần chơi, sẽ làm người chơi nhàm chán. Khi cho ảnh vào thì khai báo mảng ảnh là mảng một chiều còn mảng button để chứa ảnh lại là mảng 2 chiều 5x5. Hướng giải quyết: Tạo một thư viện ảnh trong thư mục build -> classes -> TimDuong ->Images. Sau đó trong chương trình tạo một mảng ảnh bao gồm các ảnh đã có trong thư viện ảnh vừa tạo. Viết một hàm random ảnh, để tạo cho sự thay đổi ở mỗi lần chơi sẽ có các bước đi các hướng giải quyết là khác nhau. Biến đổi mảng button 2 chiều về mảng 1 chiều theo công thức: • Mảng[chỉ số các phần tử] (1) • Mảng[chỉ số hàng ][chỉ số cột] (2) • Để chuyển (2) về dạng (1) ta có: • Mảng[chỉ số các phần tử]= Mảng[(int)chỉ số hàng /5] [chỉ số cột %5] Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 10 Chơi Xem [...]... Lớp Đ4-Tin 14 Báo cáo môn Đồ án Java 3.6 Code chương trình package javaapplication2; import java. awt.*; import java. awt.event.*; import javax.swing.*; import java. lang.Thread; import java. net.URL; import java. util.*; import java. util.logging.Level; import java. util.logging.Logger; import javax.swing.Timer; import javax.swing.ImageIcon; import javax.swing.text.StyledEditorKit; public class JavaApplication2.. .Báo cáo môn Đồ án Java Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 11 Báo cáo môn Đồ án Java CHƯƠNG 3: KẾT QUẢ 3.1 Giao diện của chương trình Hình 3.: Giao diện chính của game Mô tả chức năng: Người chơi có thể tùy chọn các chức... static void main(String[] args) { JavaApplication2 hong = new JavaApplication2(); hong.chayluon(); } } Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 18 Báo cáo môn Đồ án Java KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Sau một thời gian tìm hiểu và nghiên cứu đề tài “Game Tìm Đường” nhằm áp dụng những kiến thức cơ bản trong ngôn ngữ lập trình Java Trong quá trình nghiên cứu và... giải quyết bài toán triệt để với mức độ lớn hơn Chương trình xây dựng chưa có tính thực tế cao, chưa đáp ứng được các yêu cầu trong thực tế Hướng phát triển : Phát triển ứng dụng thành một game chơi bổ ích và lý thú Hà Nội, Tháng 01-2013 Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 19 Báo cáo môn Đồ án Java TÀI LIỆU THAM KHẢO [1] Giáo trình ngôn ngữ Java – Trường Đại... Hồng – Lớp Đ4-Tin 13 Báo cáo môn Đồ án Java 3.4 Giao diện chức năng “Chơi tiếp” Hình 3.: Giao diện chức năng chơi tiếp Mô tả: Sau khi đã chọn chức năng “Tạm dừng” để dừng chương trình, ta chọn chức năng “Chơi tiếp” để tiếp tục hoạt động của chương trình 3.5 Giao diện chức năng “Thoát.” Hình 3.: Giao diện chức năng thoát Mô tả: Sau khi đã chọn chức năng “Thoát” hệ thống sẽ ra thông báo hỏi Yes hay No... ” chương trình 3.2 Giao diện chức năng “Hướng dẫn” Giảng viên hướng dẫn: Vũ Đức Minh Sinh viên thực hiện: Đặng Thị Hồng – Lớp Đ4-Tin 12 Báo cáo môn Đồ án Java Hình 3.: Giao diện của chức năng hướng dẫn Mô tả: Sau khi chọn chức năng “Hướng dẫn” sẽ ra một bảng thông báo hướng dẫn cách chơi 3.3 Giao diện chức năng “Tạm dừng” Hình 3.: Giao diện chức năng tạm dừng Mô tả: Người chơi chọn chức năng tạm dừng... it[2].setEnabled(false);//an nut tam dung for(int i=0;i . vào trong mảng: • Sử dụng hàm random mảng ảnh (lấy trong thư mục đã buil). int random(int n) { Random rd=new Random(); return (int)(n*rd.nextDouble()); } boolean testonly(int a[],int n,int. { Random rd=new Random(); JButton arr[][]; JFrame fr; JPanel panel; MenuBar mnb; Menu mn[]; MenuItem it[]; int index; String giatri[]={"Images/anh6.png","Images/anh6.png","Images/anh5.png",. giatri[]={"Images/anh6.png","Images/anh6.png","Images/anh5.png", "Images/anh5.png","Images/anh6.png","Images/anh5.png","Images/anh5.png", "Images/anh5.png", "Images/anh5.png"};

Ngày đăng: 03/07/2015, 22:51

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • MỤC LỤC

  • DANH MỤC HÌNH ẢNH, SƠ ĐỒ

  • LỜI MỞ ĐẦU

  • CHƯƠNG 1: CƠ SỞ LÝ THUẾT

    • 1.1. Ngôn ngữ Java

      • 1.1.1. Ngôn ngữ lập trình.

      • 1.1.2. Lịch sử.

      • 1.1.3. Phương châm.

      • 1.1.4. Công cụ

      • 1.2. Giới thiệu về chương trình.

      • CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

        • 2.1. Phân tích

        • 2.2. Yêu cầu

        • 2.3. Phân tích các chức năng của chương trình.

        • 2.4. Khó khăn và hướng giải quyết.

        • CHƯƠNG 3: KẾT QUẢ

          • 3.1. Giao diện của chương trình.

          • 3.2. Giao diện chức năng “Hướng dẫn”.

          • 3.3. Giao diện chức năng “Tạm dừng”.

          • 3.4. Giao diện chức năng “Chơi tiếp”.

          • 3.5. Giao diện chức năng “Thoát.”

          • 3.6. Code chương trình.

          • KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

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

Tài liệu liên quan