BÁO CÁO ĐỒ ÁN :Tìm Hiểu JAVA Và Xây Dựng Game Mario - 123doc

Tải bản đầy đủ (.docx) (50 trang)
  1. Trang chủ
  2. >>
  3. Luận Văn - Báo Cáo
  4. >>
  5. Công nghệ thông tin
BÁO CÁO ĐỒ ÁN :Tìm Hiểu JAVA Và Xây Dựng Game Mario

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (927.71 KB, 50 trang )

BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN----------BÁO CÁO BTLĐỒ ÁN CHUYÊN NGÀNH CNPMĐề tài : Tìm Hiểu JAVA Và Xây Dựng Game MarioGiảng viên hướng dẫn :Ths. Nguyễn Văn TỉnhNhóm thực hiện :Nhóm 21Mai Huy CảnhNgô Văn AnTrần Văn TamHà Nội, tháng 11 năm 2015LỜI CẢM ƠNNgày nay, cùng với sự vươn lên của đất nước, hòa vào đó Công nghệ thông tinlà một ngành đã có những bước phát triển mạnh mẽ không ngừng và nó đã trở thànhchiếc chìa khóa dẫn đến thành công cho nhiều cá nhân, tổ chức. Với những ứng dụng củamình, công nghệ thông tin đã góp phần mang lại nhiều lợi ích mà không ai có thể phủnhận được. Đặc biệt là trong lĩnh vực quản lý kinh tế, công nghệ thông tin đã góp phầntạo ra sự thay đổi nhanh chóng cho bộ mặt xã hội.Trong quá trình thực hiện đề tài nhóm đã gặp phải không ít khó khăn và trở ngại,tuy nhiên, với sự giúp đỡ của bạn bè, cùng sự hướng dẫn tận tình, chỉ bảo cặn kẽ củagiảng viên Ths. Nguyễn Văn Tỉnh, cuối cùng chúng em cũng đã cố gắng hoàn thành đềtài này với tất cả sự cố gắng và nỗ lực. Chúng em xin được gửi lời cảm ơn tới nhữngngười bạn đã góp ý và giúp đỡ nhóm, và đặc biệt là cảm ơn thầy, người đã giúp chúng tôixác định được những yêu cầu và mục tiêu đề tài, truyền dạy các kĩ năng nghiệp vụ cũngnhư hướng dẫn cho chúng tôi cách thức thực hiện đề tài..Do kiến thức thực tế và hiểu biết còn hạn chế nên trong quá trình hoàn thành báocáo không tránh khỏi sai sót, nhóm chúng em rất mong sự góp ý đóng góp của thầy vàcác bạn để nhóm có thể hoàn thiện bài tập lớn được tốt hơn.Chúng em xin chân thành cảm ơn!Nội DungMỞ ĐẦU1. Đề tàiTên đề tài:- Tìm hiểu về Java Xây dựng Game Mario2. Lý do chọn đề tài.- Hiện nay, ngành Công nghệ thông tin đã có những bước phát triển nhanh chóngvề ứng dụng của nó trong mọi lĩnh vực trong cuộc sống trên phạm vi toàn thếgiới nói chung và việt nam nói riêng. Công nghệ thông tin là một phần khôngthể thiếu của cuộc sống văn minh, góp phần đẩy mạnh công cuộc công nghiệphóa hiện đại hóa đất nước. Việc ứng dụng những thành quả của khoa học côngnghệ vào trong đời sống, trong công tác là hết sức thiết yếu. Ứng dụng củacông nghệ thông tin kết hợp với truyền thông hóa được xem là một trong nhữngyếu tố mang tính quyết định trong hoạt động của công ty, các tổ chức,. . . nóđóng vai trò quan trọng và không thể thiếu. Công nghệ thông tin và truyềnthông hóa góp phần làm thay đổi suy nghĩ, lối mòn tư duy của mỗi con người,3nó giúp con người năng động hơn, kết nối nhanh hơn ở mọi lúc mọi nơi làmtăng mức độ hiệu quả, năng suất của công việc.-Java là một công nghệ xây dựng các ứng dụng phần mềm có vị trí rất lớn trongnhững năm cuối thế kỉ 20, đầu thế kỉ 21. Nó được coi là công nghệ mang tínhcách mạng và khả thi nhất trong việc tạo ra các ứng dụng có khả năng chạythống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần. Là một ngôn ngữbậc cao như C, C++, Perl, SmallTalk,.. cho nên có thể được dùng để tạo ra cácứng dụng để giải quyết các vấn đề về số, xử lý văn bản, tạo ra trò chơi, và nhiềuthứ khác-Trong quá trình tìm hiểu chúng em thấy rất hứng thú với Bộ công cụ hỗ trợ việctạo giao diện người dùng (GUI). Swing là một bộ công cụ tiện ích, là một phầncủa ngôn ngữ lập trình Java tổng thể nó hỗ trợ cho người dùng tạo ra các cửa sổwindows, các layout cho phần mềm, tạo ra các control cho phép người dùngtương tác nên chúng em đã quyết định sử dụng bộ công cụ này của Java để xâydựng game Mario để thấy rõ được khả năng mạnh mẽ của nó.3. Mục đích - mục tiêu của đề tài. Mục đích:- Nắm chắc được được kỹ năng và kiến thức về lập trình.- Tìm hiểu về lập trình hướng đối tượng trong java.- Tìm hiểu về bộ công cụ Swing trong java để xây dựng game.- Nắm bắt được quy trình làm game hoàn chỉnh và theo tiêu chuẩn. Mục tiêu:- Vận Dụng được tính chất của lập trình Hướng Đối Tượng.- Ứng dụng của Swing vào việc xây dựng Game Mario.4. Bố cục đề tài.Nội dung gồm 2 phần :Phần I: Mở đầu4- Phần này bao gồm các thông tin về đề tài như:+ Tên đề tài.+ Mục đích.+ Lý do để xây dựng đề tài.Phần II: Nội dung (gồm 3 chương)- Chương I: Tìm hiểu về JavaChương này nhóm tiền hành tìm hiểu về ngôn ngữ lập trình hướng đối tượngJava. Về phương pháp lập trình hướng đối tượng trong Java, bộ công cụ hỗ trợviệc tạo giao diện người dùng, một số thuộc tính cần dung trong java Swingphục vụ cho nhóm làm game Mario Chương II: Tìm hiểu về quy trình làm game- Trong chương này, nhóm sẽ nêu ra các quy trình làm game hoàn chỉnh: từ khibắt đầu một dự án cho đến khi sản phẩm được kiểm tra và đóng gói để sẵn sàngđưa ra thị trường phục vụ người dùng . Chương III: Xây dựng game- Chương này sẽ bao gồm kịch bản Game và các đối tượng được xây dựngtrong Game.5PHẦN I: TÌM HIỂU JAVAI. Giới thiệu về java.1. Lịch sử java.- Năm 1990, James Gosling, Bill Joy, Patrick Naughton (Sun MicroSystem) pháttriển ngôn ngữ Oak (có nghĩa là “Cây xồi”; do bên ngoài cơ quan của ông-Gosling có trồng nhiều loại cây này).Năm 1995 đổi tên thành Java.Ngày 27 tháng 1 năm 2010, Sun bị hãng Oracle Corporation mua với giáUS$7,4 tỷ, theo một thỏa ước ký ngày 20 tháng 4 2009. Một tháng sau đó, Sunđược nhập với Oracle USA để trở thành Oracle America, Inc.2. Java là gì?- Là một ngôn ngữ OOP đầy đủ, không thể viết 1 ứng dụng hướng thủ tục trong-Java.Có thể giải các họ bài toán như những ngôn ngữ lập trình khác.Sử dụng 2 cơ chế: Thông dịch | Biên dịch.Viết mã một, chạy nó bất cứ nơi nào, bất cứ lúc nào, mãi mãi.3. Đặc điểm của java- Đơn giản ( simple). Tương tự như C++ nhưng bỏ bớt các đặc tính phức tạp củaC++ như: quản lý bộ nhớ, pointer, overload toán tử, không dùng include, bỏ-struct, union.Hướng đối tượng (OO). Mọi thứ trong Java là đối tượngPhân tán (Distributed). Nhắm đến phân bố ứng dụng trên mạng, ứng dụng độc-lập platform.Mạnh (Robust). Định kiểu mạnh, tường minh, kiểm tra lúc biên dịch và kiểm trakhi thông dịch trước khi thực thi -> Giới hạn được lỗi; kiểm tra truy xuất phầntử của mảng, chuỗi lúc thực thi, kiểm tra ép kiểu run-time. Có trình gom rác –-garbage collection- programmer không cần phải lo toan đến việc hủy đối tượng.Bảo mật (Secure): Kiểm tra an toàn code trước khi thực thi, có nhiều mức kiểmtra bảo mật à Môi trường thực thi an toàn Mức 1: Mức ngôn ngữ: Nhờ tính bao gói dữ liệu của OOP, không chophép truy cập trực tiếp bộ nhớ mà phải thông qua method. Mức 2: Mức Compiler, kiểm tra an toàn cho code trước khi biên dịch.6 Mức 3: Mức Interpreter, trước khi bytecode được thực thi, được kiểm tra-an toàn. Mức 4: Mức Class, các class trước khi nạp được kiểm tra an toàn.Hiệu xuất cao, đa luồng, linh động ….v….v7Hình ảnh: mức độ an toàn của các ngôn ngữ.84. JVM là gì?- JVM- Java Virtual Machine : là trung tâm của Java- Là một phần mềm giả lập một máy tính trong đó : có tập lệnh định nghĩa các tácvụ5. Các phiên bản JDK-JDK 1.0 (23 tháng 01, 1996)-JDK 1.1 (19 tháng 2, 1997)-JDK 1.1.5 (Pumpkin) 03 tháng 12, 1997-JDK 1.1.6 (Abigail) 24 tháng 4, 1998-JDK 1.1.7 (Brutus) 28 tháng 9, 1998JDK 1.1.8 (Chelsea) 08 tháng 4, 1999J2SE 1.2 (Playground) 08 tháng 12, 1998J2SE 1.2.1 (không có) 30 tháng 3, 1999J2SE 1.2.2 (Cricket) 08 tháng 7, 1999-J2SE 1.3 (Kestrel) 08 tháng 5, 2000-J2SE 1.3.1 (Ladybird) 17 tháng 5, 2001-J2SE 1.4.0 (Merlin) 06 tháng 02, 20029o J2SE 1.4.1 (Hopper) 16 tháng 9, 2002o J2SE 1.4.2 (Mantis) 26 tháng 6, 2003-J2SE 5 (1.5.0) (Tiger) 30 tháng 9, 2004-Java SE 6 (còn gọi là Mustang), được công bố 11 tháng 12 năm 2006, thông tinchính tại Các bản cập nhật 2 và 3 được đưa ra vàonăm 2007, bản cập nhật 4 đưa ra tháng 1 năm 2008.-JDK 6.18, 2010-Java SE 7 (còn gọi là Dolphin), được bắt đầu từ tháng 8 năm 2006 và công bốngày 28 tháng 7 năm 2011.-JDK 8, 18 tháng 3 năm 2014-Phiên bản dự kiến tiếp theo: Java 9 dự kiến ra đời năm 2016II. Tìm hiểu Java.1. Khái niệm lớp và đối tượng.- Đối tượng (Object): vật,người,… cụ thể- Đối tượng = Properties + Methods- Lớp (class): Mô hình (template) mô tả cho 1 nhóm đối tượng. Đối tượng là 1-hiện hữu, thực thể (instance) của class.Một lớp có thể là lớp con (derived class- lớp dẫn xuất, lớp thừa kế, lớp mở-rộng-extend) của 1 lớp khác -> Quan hệ cha-conClass Hierarchy- Phân cấp các class:Cấu trúc 1 lớp cùng các lớp con của nó(tree)2. Từ khóa và cách đặt tên-Từ khóa cho các kiểu dữ liệu cơ bản : byte, short, int, long, float, double, char,boolean-Từ khóa cho phát biểu lặp: do, while, for, break, continue-Từ khóa cho phát biểu rẽ nhánh: if, else, switch, case, default, break-Từ khóa đặc tả đặc tính một method: private, public, protected, final, static,-abstract, synchronized, volatile, strictfp.Hằng (literal): true, false, null.Từ khóa liên quan đến method: return, void.10-Từ khoá liên quan đến package: package, import.3. Kiểu dữ liệuVí dụ: Dùng các ký tự đặc tả việc buộc phải xem xét trị thuộc 1 kiểu nàođó: i, I, l, L, f, F, d, D, nhưng L thường dùng thay cho l vì sợ nhầm với 1.178  int (default)45.62  double (default)178L  long44.21f  float11.19e8  double (default)‘z’  char , hằng klý tự để trong cặp nhát đơn (single quote character)Nhận xét: Gần như C++.4. Toán tử trong java.- Toán tử số họcToán tửMô tả+CộngTrả vể giá trị tổng hai toán hạng-TrừTrả về giá trị của phép trừ11/ChiaTrả về giá trị là thương của phép chia*NhânTrả về giá trị là tích hai toán hạng%Phép lấy modulGiá trị trả về là phần dư của phép chia++Tăng dầnTăng giá trị của biến lên 1. Vd: a++ tương đương a=a+1–Giảm dầnGiảm giá của biến 1 đơn vị. vd: a—tương đương a= a-1Cộng và gán giá trị Cộng các giá trị của toán hạng bên trái vào toán+=hạng bên phải và gán giá trị trả về vào toán hạng bên trái. Vd: c+=a tương đươngc =c+a-=Trừ và gán giá trị Trừ các giá trị của toán hạng bên trái vào toán toán hạng bênphải và gán giá trị trả về vào toán hạng bên trái.Vd: c -= a tương đương c = c – aNhân và gán Nhân các giá trị của toán hạng bên trái với toán toán hạng bên phải và*=/=%=-gán giá trị trả về vào toán hạng bên trái. Vd:c *= a tương đương c = c*aChia và gán Chia giá trị của toán hạng bên trái cho toán toán hạng bên phải và gángiá trị trả về vào toán hạng bên trái. D: c /= a tương đương c = c/aLấy số dư và gán Chia giá trị của toán hạng bên trái cho toán toán hạng bên phải vàgán giá trị số dư vào toán hạng bên trái. Ví dụ c %= a tương đương c = c%aToán tử Bit: Các toán tử dạng bit cho phép ta thao tác trên từng bit riêng biệttrong các kiểu dữ liệu nguyên thuỷ.Toán tử~&|Mô tảPhủ định bit (NOT)Trả về giá trị phủ định của một bít.Toán tử AND bítTrả về giá trị là 1 nếu các toán hạng là 1 và 0 trongcác trường hợp khácToán tử OR bítTrả về giá trị là 1 nếu một trong các toán hạng là 1 và 0trong các trường hợp khác12Toán tử Exclusive OR bítTrả về giá trị là 1 nếu chỉ một trong các toán^hạng là 1 và trả về 0 trong các trường hợp khác.Dịch sang phải bítChuyển toàn bộ các bít cuả một số sang phải một vị>>trí, giữ nguyên dấu của số âm.Toán hạng bên trái là số bị dịch còn sốbên phải chỉ số vị trí mà các bít cần dịchDịch sang trái bítChuyển toàn bộ các bít cuả một số sang trái một vị m Mỗi CPU chạy n/m luồng.-Với 1 CPU chạy đồng thời k luồng với k>1. Các luồng được quản lý bằng 1hàng đợi, mỗi luồng được cấp phát thời gian mà CPU thực thi là ti (cơ chế time24slicing – phân chia tài nguyên thời gian). Luồng ở đỉnh hàng đợi được lấy ra đểthực thi trước, sau ti thời gian của mình, luồng này được đưa vào cuối hàng đợivà CPU lấy ra luồng kế tiếp.-Với máy chỉ có 1 CPU mà lại chạy k luồng  Hiệu suất mỗi chương trình sẽkém.Sơ đồ:Trạng thái luồng-Một luồng sau khi sinh ra (born) không được chạy ngay mà chỉ là sẵn sàng(ready) chạy. Chỉ khi nào phương thức start() được gọi thì luồng mới thực thi(chạy code phương thức run()).-Luồng đang thực thi có thể bị tạm ngưng bằng phương thức sleep() một thờikhoảng và sẽ lại ready sau khi đáo hạn thời gian. Luồng đang ngủ không sửdụng tài nguyên CPU.-Khi nhiều luồng cùng được thực thi, nếu có 1 luồng giữ tài nguyên mà khôngnhả ra sẽ làm cho các luồng khác không dùng được tài nguyên này (đói tàinguyên). Để tránh tình huống này, Java cung cấp cơ chế Wait-Notify(đợi-nhận25

Tài liệu liên quan

  • Báo cáo đề tài Báo cáo đề tài "Tìm hiểu WAP và công cụ tìm kiếm hỗ trợ thiết bị di động"
    • 183
    • 637
    • 0
  • Đồ án tìm hiểu joomla và xây dụng trang web bộ môn KTHT Đồ án tìm hiểu joomla và xây dụng trang web bộ môn KTHT
    • 68
    • 495
    • 0
  • Báo cáo đồ án trí tuệ nhân tạo: Xây dựng chương trình mô tả không gian trạng thái của toán chiếc balô loại 2 giải quyết theo giải thuật Gene với  phương pháp chọn Rank Báo cáo đồ án trí tuệ nhân tạo: Xây dựng chương trình mô tả không gian trạng thái của toán chiếc balô loại 2 giải quyết theo giải thuật Gene với phương pháp chọn Rank
    • 10
    • 1
    • 4
  • Báo cáo đồ án trí tuệ nhân tạo: Xây dựng chương trình giải quyết bài toán chơi cờ vua theo phương pháp Minimax Báo cáo đồ án trí tuệ nhân tạo: Xây dựng chương trình giải quyết bài toán chơi cờ vua theo phương pháp Minimax
    • 9
    • 3
    • 34
  • Báo cáo đồ án trí tuệ nhân tạo : xây dựng chương trình sử dụng MLP đa lớp để tìm đường phân lớp 2 tập điểm là các điểm trên không gian 2 chiều Báo cáo đồ án trí tuệ nhân tạo : xây dựng chương trình sử dụng MLP đa lớp để tìm đường phân lớp 2 tập điểm là các điểm trên không gian 2 chiều
    • 22
    • 1
    • 3
  • Báo cáo đồ án trí tuệ nhân tạo: xây dựng chương trình sử dụng Radial basis functions networks để tìm đường phân lớp 2 tập điểm trên không gian Báo cáo đồ án trí tuệ nhân tạo: xây dựng chương trình sử dụng Radial basis functions networks để tìm đường phân lớp 2 tập điểm trên không gian
    • 10
    • 768
    • 0
  • Báo cáo đồ án trí tuệ nhân tạo: Xây dựng chương trình tìm kiếm đường đi từ một đỉểm nào đó trên bản đồ đến một điểm khác trên bản đồ bằng phương pháp tìm kiếm Greedy Best First Search Báo cáo đồ án trí tuệ nhân tạo: Xây dựng chương trình tìm kiếm đường đi từ một đỉểm nào đó trên bản đồ đến một điểm khác trên bản đồ bằng phương pháp tìm kiếm Greedy Best First Search
    • 13
    • 1
    • 9
  • Báo cáo đồ án trí tuệ nhân tạo: Xây dưng chương trình nhận dạng số viết tay dùng mạng noron Báo cáo đồ án trí tuệ nhân tạo: Xây dưng chương trình nhận dạng số viết tay dùng mạng noron
    • 20
    • 1
    • 6
  • Báo cáo đồ án trí tuệ nhân tạo: Xây dựng chương trình giải quyết bài toán không gian trạng thái trò chơi cờ vua theo phương pháp cắt tỉa Anpha-Beta Báo cáo đồ án trí tuệ nhân tạo: Xây dựng chương trình giải quyết bài toán không gian trạng thái trò chơi cờ vua theo phương pháp cắt tỉa Anpha-Beta
    • 9
    • 1
    • 9
  • Báo cáo đồ án trí tuệ nhân tạo: xây dựng chương trình giải quyết bài toán chiếc ba lô loại 1 theo giải thuật gen và phương pháp chọn là bánh xe roulette Báo cáo đồ án trí tuệ nhân tạo: xây dựng chương trình giải quyết bài toán chiếc ba lô loại 1 theo giải thuật gen và phương pháp chọn là bánh xe roulette
    • 11
    • 841
    • 1

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

(997.83 KB - 50 trang) - BÁO CÁO ĐỒ ÁN :Tìm Hiểu JAVA Và Xây Dựng Game Mario Tải bản đầy đủ ngay ×

Từ khóa » đồ án Game Java