LẬP TRÌNH GAME RẮN SĂN MỒI BẰNG NGÔN NGỮ JAVA

29 2.8K 10
LẬP TRÌNH GAME RẮN SĂN MỒI BẰNG NGÔN NGỮ 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

Công nghệ thông tin (CNTT) ngày càng có vai trò quan trọng trong cuộc sống hàng ngày của chúng ta. Việc ứng dụng CNTT vào các lĩnh vực trong đời sống giúp công việc được tiến hành nhanh chóng và hiệu quả hơn. Có rất nhiều công việc mới phát triển song song cùng với CNTT, một trong số đó là lập trình game, một hướng đi dịch vụ mang lại hiệu quả kinh tế rất lớn. Em chọn đề tài “Lập trình game Rắn Săn Mồi bằng ngôn ngữ Java” nhằm tìm hiểu sâu hơn về ngôn ngữ java, từ đó viết một ứng dụng cụ thể nhằm củng cố kiến thức và làm quen với công việc lập trình trong tương lai.

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT - HÀN KHOA: CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP TỐT NGHIỆP Tên: “LẬP TRÌNH GAME RẮN SĂN MỒI BẰNG NGÔN NGỮ JAVA” Sinh viên thực hiện: Hồ Hoàng Linh Lớp: CCLT07B Họ tên GVHD: Đoàn Thanh Sơn Đơn vị thực tập: Công ty Finger Đà Nẵng , tháng năm 2016 Lập trình game Rắn Săn mồi ngôn ngữ Java LỜI MỞ ĐẦU Công nghệ thông tin (CNTT) ngày có vai trò quan trọng sống hà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 CNTT, số lập trình game, hướng dịch vụ mang lại hiệu kinh tế lớn Em chọn đề tài “Lập trình game Rắn Săn Mồi ngôn ngữ Java” nhằm tìm hiểu sâu ngôn ngữ java, từ viết ứng dụng cụ thể nhằm củng cố kiến thức làm quen với công việc lập trình tương lai Em xin chân thành cảm ơn! Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java MỤC LỤC LỜI MỞ ĐẦU MỤC LỤC DANH MỤC HÌNH ẢNH CHƯƠNG : GIỚI THIỆU VỀ CÔNG TY FINGER 1.1TỔNG QUAN VỀ CÔNG TY FINGER 1.2GIỚI THIỆU CHUNG 1.3LỊCH SỬ VÀ THÀNH TỰU CHÍNH 1.4LĨNH VỰC HOẠT ĐỘNG 1.5SƠ ĐỒ TỔ CHỨC BỘ MÁY CÔNG TY 1.6KHÁCH HÀNG CHÍNH 6 11 12 13 CHƯƠNG : CƠ SỞ LÝ THUYẾT 14 2.1SƠ LƯỢC VỀ NGÔN NGỮ JAVA 14 2.1.1Khái niệm 14 2.1.2Lịch sử đời 14 2.1.3Sự phát triển Java 15 2.1.4Đặc điểm 15 2.1.5Khả 15 2.2MỘT SỐ TÍNH CHẤT CỦA NGÔN NGỮ JAVA 16 2.2.1 Đơn giản 16 2.2.2 Hướng đối tượng 16 2.2.3 Độc lập phần cứng hệ điều hành 16 2.2.4 Mạnh mẽ .17 2.2.5 Bảo mật .17 2.2.6 Phân tán 18 2.2.7 Đa luồng 18 2.2.8 Linh động .18 CHƯƠNG : PHÂN TÍCH VÀ THIẾT KẾ 19 3.1 MÔ HÌNH HÓA YÊU CẦU 19 3.1.1 Xác định tác nhân 19 3.1.2 Xác định trường hợp sử dụng (use case) 19 3.1.2.1 Liệt kê trường hợp sử dụng 19 3.1.2.2 Đặc tả trường hợp sử dụng 19 3.1.2.3 Biểu đồ trường hợp sử dụng .20 3.2 MÔ HÌNH HÓA KHÁI NIỆM 20 3.2.1 Các gói hệ thống .20 3.2.1.1 Các lớp biên 20 3.2.1.2 Các lớp điều khiển .21 3.2.2 Xác định lớp đối tượng 21 3.3 BIỂU ĐỒ HOẠT ĐỘNG 23 3.4 MỘT SỐ THUẬT TOÁN SỬ DỤNG TRONG CHƯƠNG TRÌNH 23 CHƯƠNG : XÂY DỰNG CHƯƠNG TRÌNH 25 4.1TỔNG QUAN VỀ GAME RẮN SĂN MỒI 25 4.2GIAO DIỆN TRÒ CHƠI 25 4.2.1Giao diện .25 4.2.2 Giao diện chơi game 26 Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 4.2.3 Giao diện kết thúc .27 4.3 HƯỚNG DẪN SỬ DỤNG 27 4.3.1 Yêu cầu cấu hình 27 4.3.2 Màn hình 27 KẾT LUẬN 28 TÀI LIỆU THAM KHẢO 29 Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java DANH MỤC HÌNH ẢNH HÌNH 1: LOGO CÔNG TY FINGER HÌNH 2: LỊCH SỬ HÌNH THÀNH CÔNG TY FINGER HÌNH 3: SƠ ĐỒ TỔ CHỨC BỘ MÁY CÔNG TY 13 HÌNH 4: CÁC KHÁCH HÀNG CHÍNH CỦA CÔNG TY FINGER 13 HÌNH 5: ĐỘC LẬP PHẦN CỨNG VÀ HỆ ĐIỀU HÀNH 17 HÌNH 6: BIỂU ĐỒ TRƯỜNG HỢP SỬ DỤNG NGƯỜI CHƠI .20 HÌNH 7: CÁC LỚP BIÊN 21 HÌNH 8: CÁC LỚP ĐIỀU KHIỂN 21 HÌNH 9: CÁC LỚP ĐỐI TƯỢNG 22 HÌNH 10: BIỂU ĐỒ HOẠT ĐỘNG 23 HÌNH 11: GIAO DIỆN CHÍNH 25 HÌNH 12: GIAO DIỆN CHƠI GAME 26 HÌNH 13: GIAO DIỆN CHƠI GAME 27 HÌNH 14: GIAO DIỆN KẾT THÚC 27 Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java CHƯƠNG : GIỚI THIỆU VỀ CÔNG TY FINGER 1.1 Tổng quan công ty Finger Hình 1: Logo công ty Finger Tên công ty : Công Ty Finger Địa chỉ: - 서서서서서 서서서서 서서서서 24-1 서서서서 11 서 (zip 150-877) Điện thoại - 1544-9350 Fax - 070-8224-8769 Email: fin_biz@finger.co.kr Website: http://finger.co.kr/ 1.2 Giới thiệu chung Công ty Finger chuyên cung cấp giải pháp dịch vụ tài qua mobile internet, nắm giữ phát triển kỹ thuật Scraping hình nước vào tháng năm 2001, công ty tạo nên vị trí người lãnh đạo tiên phong ngành công nghiệp PFMS Dựa tảng kỹ thuật, công ty bước thời đại thông tin hóa giá trị dịch vụ tài quan trọng, cung cấp dịch vụ tốt kỹ thuật đại Công ty cổ phần Finger (FINANCE+MANAGER) dẫn đầu Digital Finance Paradigm sứ mạng nỗ lực để đáp ứng yêu cầu thay đổi không ngừng khách hàng,quyết tâm phát triển thành doanh nghiệp mạnh mẽ thoải mái nguyên lý tảng phổ biến 1.3 Lịch sử thành tựu Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java Hình 2: Lịch sử hình thành công ty Finger 2001 Thực dịch vụ “ my finger” thẻ ngoại hối cho hiệp hội thương mại KOTIS Xây dựng hệ thống xử lý khiếu nại cho công ty SamSung Card Thực dịch vụ “my finger” cho tổ chức chứng khoán đầu tư Hàn Quốc Thực dịch vụ “my finger” cho “ngân hàng JonBuk/ sinh mệnh SamSung” Thực dịch vụ “my finger” cho BC Card/ LG Card Thực dịch vụ “my finger” cho hãng Chollian, Unitel, Auction Thực dịch vụ “my finger” cho ngân hàng Busan/ Ngân hàng Hanmi Đạt sáng chế cho Screen scraping 2002 Ký hợp đồng cung cấp dịch vụ One Force Main cho công ty truyền thông Hanaro Cung cấp hệ thống thông báo nội dung nhận tiền theo thời gian thực cho công ty tour express Ký hợp đồng cung cấp dịch vụ quản lý tài sản cá nhân cho ngân hàng Kwang Ju Thực dịch vụ ‘Money@’ cho công ty Yongjin Comerce Ký hợp đồng xây dựng dịch vụ tổng hợp PFMS cho Housing & Commercial Bank Cung cấp giải pháp quản lý nợ tài sản cho công ty Posco Ký hợp đồng cung cấp PFMS công ty Takumi Nhật Finger Cung cấp giải pháp thông báo nhậntiền cho toàn chi nhánh Flea Market Cung cấp dịch vụ ‘Money@’ cho công ty Dacom Cyber pass Xây dựng dịch vụ version web PFMS cho ngân hàng ngoại hối Thực dịch vụ “ My finger” cho công ty Lycos Xây dựng dịch vụ version web PFMS cho ngân hàng Kookmin Thực dịch vụ “ My finger” cho công ty Edupia Thực dịch vụ “ My finger” cho công ty Netsgo Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java Thực dịch vụ “ My finger” cho công ty bảo hiểm Ssangyong Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 2003 Cung cấp dịch vụ chi trả điện tử cho công ty Dongbang / công ty All at Cung cấp giải pháp tổng hợp tài khoản không dây cho công ty paxnet Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho công ty Samsung capital Phát triển hệ thống quản lý quỹ cho công ty vận chuyển CJ Korea Express Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho công ty du lịch Hanjin Ký hợp đồng chương trình dịch vụ tổng hợp tài khoản cho ngân hàng ngoại hối Hàn Quốc Cung cấp hệ thống chi trả điện tử cho thẻ BC 2004 Cung cấp dịch vụ chứng nhận lai lịch cho ngân hàng Jeilbank Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho công ty SamSung Card Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho công ty dược Boryung Ký hợp đồng cung cấp dịch vụ PFMS cho công ty truyền thông Hanaro Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho công ty Tour 2000 Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho công ty Huyndai Card Ký hợp đồng nhận thầu hệ thống cho ngân hàng Kookmin Cung cấp hệ thống chi trả điện tử cho công ty Joy Dream Ký hợp đồng nâng cấp quản lý tài sản Monita paxnet Hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho công ty Tour Express 2005 Cung cấp dịch vụ kèm chi trả điện tử cho công ty hệ thống Dong Bang Ký hợp đồng cung cấp dịch vụ Myzone KT (PFMS) Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 10 Ký hợp đồng bảo tri dịch vụ quản lý quỹ cho công ty vận chuyển CJ Korea Express Cung cấp hệ thống thông báo nội dung nhận, rút tiền theo thời gian thực tế cho công ty Hanwha Tour Ký hợp đồng hệ thống hoán trả tự động cho công đoàn quản lý an toàn giao thông đường Đăng ký sáng chế “ hệ thống phương pháp quản lý tài sản khách hàng có sử dụng phương pháp Scraping Screen' 2006 Cung cấp giải pháp sổ chi tiêu điện tử tích hợp tài khoản thống kê Cung cấp máy Scraping cho ENC Ký hợp đồng bảo trì / vận hành với công ty Monita Ký hợp đồng phát triển kết nối tìm kiếm tài khoản có công ty Monita paxnet Ký hợp đồng phát triển Scarping sổ tiết kiện cho công ty paxne Vận hành phát triển thêm sổ chi tiêu mini SKT Moneta 2007 Xây dựng dịch vụ WorkSiteBank cho ngân hàng Shin Han Ký hợp đồng bảo trì / vận hành dịch vụ quản lý tài sản cá nhân cho ngân hàng Kook Min Xây dựng hệ thống đối tác kinh doanh cho ngân hàng tích hợp Shin Han Xây dựng premium Banking cho ngân hàng Shin han/ ngân hàng JoHung 2008 Xây dựng dịch vụ tìm kiếm tài khoản CMS ngoại quốc cho ngân hàng ShinHan Xây dựng dự án cải tiến Internet Banking nước cho ngân hàng Shin Han Xây dựng dịch vụ tổng hợp VM Mobile Banking cho ngân hàng doanh nghiệp Xây dựng hệ thống nhân Homepage quan cho ngân hàng Shin Han 2009 Chứng nhận viện nghiên cứu công ty (Hiệp hội công nghiệp Hàn Quốc) Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 15 2.1.3 Sự phát triển Java • 1990: Ngôn ngữ Oak tạo James Gosling dự án Green • Sun MicroSystems nhằm phát triển phần mềm cho thiết bị dân dụng • 1995: Oak đổi tên thành Java • 1996: trở thành chuẩn công nghiệp cho Internet 2.1.4 Đặc điểm • Ngôn ngữ hoàn toàn hướng đối tượng (Pure OOP) • Ngôn ngữ đa nền: "Viết lần , Chạy nhiều nền” • Ngôn ngữ đa luồng (multi-threading): xử lý tính toán song song • Ngôn ngữ phân tán (distributed): cho phép đối tượng ứng dụng phân bố thực thi máy tính khác • Ngôn ngữ động: cho phép mã lệnh chương trình tải từ máy tính máy người yêu cầu thực thi chương trình • Ngôn ngữ an toàn: hạn chế thao tác nguy hiểm cho máy tính thật • Ngôn ngữ đơn giản, dễ học, kiến trúc chương trình đơn giản, sáng 2.1.5 Khả • Ngôn ngữ bậc cao • Có thể dùng để tạo loại ứng dụng để giải vấn đề số, xử lý văn bản, tạo trò chơi, nhiều thứ khác • Có thư viện hàm hỗ trợ xây dựng giao diện (GUI) AWT, Swing, … • Có môi trường lập trình đồ họa JBuilder, NetBeans, Eclipse, … • Có khả truy cập liệu từ xa thông qua cầu nối JDBC • Hỗ trợ lớp hữu ích, tiện lợi lập trình ứng dụng mạng (Socket) truy xuất Web hay nhúng vào trang Web (Applet) • Hỗ trợ lập trình phân tán (Remote Method Invocation) cho phép ứng dụng xử lý phân tán máy tính khác • Lập trình thiết bị cầm tay (J2ME) • Xây dựng ứng dụng môi trường xí nghiệp (J2EE) Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 16 2.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 2.2.1 Đơn giản Những người thừa 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 đoá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”cũng file header (.h) • Loại bỏ cấu trúc “struct” “union” 2.2.2 Hướng đối tượng Java ngôn ngữ lập trình thần 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) 2.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: Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 17 Hình 5: Độc lập phần cứng hệ điều hành 2.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 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 quên 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ớ Quá 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) • Cơ chế bẫy lỗi Java giúp đơn giản hóa trình xử lý hồi phục sau lỗi 2.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 soát tính an toàn: • Ở mức thấp 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 soát xem bytecode Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 18 có đảm bảo quy tắc an toà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 suất trước nạp vào hệ thống 2.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 2.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 2.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 soát truy nhập đối tượng lúc chạy Điều cho phép khả liên kết mã động Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 19 CHƯƠNG : PHÂN TÍCH VÀ THIẾT KẾ 3.1 Mô hình hóa yêu cầu 3.1.1 Xác định tác nhân Người chơi 3.1.2 Xác định trường hợp sử dụng (use case) 3.1.2.1 Liệt kê trường hợp sử dụng - Khởi động trò chơi - Đóng trò chơi - Tùy chọn - Chơi game - Dừng game - Tính điểm (High score) 3.1.2.2 Đặc tả trường hợp sử dụng • Khởi động trò chơi: - Tác nhân: Người chơi - Mô tả: Khi bắt đầu chơi người chơi cần phải khởi động trò chơi • Đóng trò chơi: - Tác nhân: Người chơi - Mô tả: Để đảm bảo an toàn thông tin, dung lượng máy, kết thúc trò chơi, người chơi phải đóng trò chơi • Tùy chọn: - Tác nhân: Người chơi - Mô tả: Người chơi thực bấm phím Space để chơi game • Chơi game: - Tác nhân: Người chơi - Mô tả: Giao diện trò chơi mở ra, người chơi chơi • Dừng game: - Tác nhân: Người chơi Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java - 20 Mô tả: Khi chơi game nhấn phím Space để tạm dừng nhấn lại phím Space để tiếp tục chơi game • Tính điểm: - Tác nhân: Người chơi - Mô tả: Dừng game hiển thị số điểm đạt game kết thúc 3.1.2.3 Biểu đồ trường hợp sử dụng  Biểu đồ trường hợp sử dụng Người chơi Dong Tro Choi Khoi Dong Tro Choi Tuy Chon Choi Game Nguoi Choi Dung Game Tinh Diem Hình 6: Biểu đồ trường hợp sử dụng Người chơi 3.2 Mô hình hóa khái niệm 3.2.1 Các gói hệ thống 3.2.1.1 Các lớp biên Lớp biên lớp nằm đường biên hệ thống với phần giới lại Nó biểu mẫu, báo cáo giao diện Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 21 Trò chơi Rắn Săn Mồi có lớp biên sau: FrmKhoiDongTroChoi FrmChoiGame FrmDongTroChoi FrmDungGame FrmTuyChon FrmTinhDiem Hình 7: Các lớp biên 3.2.1.2 Các lớp điều khiển Lớp điều khiển lớp làm nhiệm vụ điều khiển hoạt động lớp khác Tương ứng với Use Case có lớp điều khiển làm nhiệm vụ gửi thông điệp cho lớp liên quan Trò chơi Rắn Săn Mồi có lớp điều khiển sau: CtlKhoiDongTroChoi CtlChoiGame CtlDongTroChoi CtlDungGame CtlTuyChon CtlTinhDiem Hình 8: Các lớp điều khiển 3.2.2 Xác định lớp đối tượng Mô hình khái niệm hay gọi mô hình đối tượng cách biểu diễn khái Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 22 niệm (đối tượng), thực thể phạm vi toán Dựa vào việc áp dụng phương pháp khác nhau, xác định lớp đối tượng trò chơi Rắn Săn Mồi sau: - RanAnMoiJava: Lớp chứa đối tượng khởi tạo bắt đầu trò chơi - GameScreen: Lớp chứa hàm vẽ giao diện, vẽ rắn, vẽ khung - Data: Lớp load hình ảnh resource để cắt nhỏ ảnh - ConRan: Lớp chứa thuộc tính rắn lúc khởi tạo, lấy tọa độ mồi, tốc độ, vẽ rắn - Animation: Tạo ảnh động cho rắn di chuyển ConRan ConRan() resetGame() setVector() toaDoCoNamTrongThanRan() Point layToaDoMoi() int getCurrentSpeed() update() veRan() GameScreen GameScreen() run() paintBg() veKhung() paint() RanAnMoi RanAnMoi() keyTyped() keyPressed() keyReleased() Animation addImage() update() Image getCurrentImage() Data loadImage() loadAllAnim() Hình 9: Các lớp đối tượng Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 23 3.3 Biểu đồ hoạt động Play Choi game Hình 10: Biểu đồ hoạt động 3.4 Một số thuật toán sử dụng chương trình  Thuật toán lấy tọa độ mồi ngẫu nhiên public Point layToaDoMoi(){ Random r = new Random(); int x; int y; do{ x= r.nextInt(19); Khoa: Công nghệ thông tin – Lớp: CCLT07B Hồ Hoàng Linh Lập trình game Rắn Săn mồi ngôn ngữ Java 24 y = r.nextInt(19); }while(toaDoCoNamTrongThanRan(x,y)); return new Point(x,y); }  Thuật toán dừng trò chơi đầu rắn đụng thân rắn: for(int i = 1;i

Ngày đăng: 03/07/2017, 20:51

Từ khóa liên quan

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

Tài liệu liên quan