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.
Trang 1HỮ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
Đơn vị thực tập: Công ty Finger
Trang 2LỜI MỞ ĐẦU
Công nghệ thông tin (CNTT) ngày càng có vai trò quan trọng trong cuộc sống hàngngà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ôngviệ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áttriể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ểusâ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
Em xin chân thành cảm ơn!
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 1
MỤC LỤC 2
DANH MỤC HÌNH ẢNH 4
CHƯƠNG 1 : GIỚI THIỆU VỀ CÔNG TY FINGER 5
1.1 T ỔNG QUAN VỀ CÔNG TY F INGER 5
1.2 G IỚI THIỆU CHUNG 5
1.3 L ỊCH SỬ VÀ THÀNH TỰU CHÍNH 5
1.4 L ĨNH VỰC HOẠT ĐỘNG 9
1.5 S Ơ ĐỒ TỔ CHỨC BỘ MÁY CÔNG TY 10
1.6 K HÁCH HÀNG CHÍNH 11
CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT 12
2.1 S Ơ LƯỢC VỀ NGÔN NGỮ J AVA 12
2.1.1 Khái niệm 12
2.1.2 Lịch sử ra đời 12
2.1.3 Sự phát triển của Java 13
2.1.4 Đặc điểm 13
2.1.5 Khả năng 13
2.2 M ỘT SỐ TÍNH CHẤT CỦA NGÔN NGỮ J AVA 14
2.2.1 Đơn giản 14
2.2.2 Hướng đối tượng 14
2.2.3 Độc lập phần cứng và hệ điều hành 14
2.2.4 Mạnh mẽ 15
2.2.5 Bảo mật 15
2.2.6 Phân tán 15
2.2.7 Đa luồng 15
2.2.8 Linh động 16
CHƯƠNG 3 : PHÂN TÍCH VÀ THIẾT KẾ 17
3.1 M Ô HÌNH HÓA YÊU CẦU 17
3.1.1 Xác định các tác nhân 17
3.1.2 Xác định các trường hợp sử dụng (use case) 17
Trang 43.1.2.1 Liệt kê các trường hợp sử dụng 17
3.1.2.2 Đặc tả các trường hợp sử dụng 17
3.1.2.3 Biểu đồ trường hợp sử dụng 18
3.2 M Ô HÌNH HÓA KHÁI NIỆM 18
3.2.1 Các gói trong hệ thống 18
3.2.1.1 Các lớp biên 18
3.2.1.2 Các lớp điều khiển 19
3.2.2 Xác định các lớp đối tượng 19
3.3 BIỂU ĐỒ HOẠT ĐỘNG 21
3.4 MỘT SỐ THUẬT TOÁN SỬ DỤNG TRONG CHƯƠNG TRÌNH 21
CHƯƠNG 4 : XÂY DỰNG CHƯƠNG TRÌNH 23
4.1 T ỔNG QUAN VỀ GAME R ẮN S ĂN M ỒI 23
4.2 G IAO DIỆN TRÒ CHƠI 23
4.2.1 Giao diện chính 23
4.2.2 Giao diện chơi game 24
4.2.3 Giao diện kết thúc 25
4.3 H ƯỚNG DẪN SỬ DỤNG 25
4.3.1 Yêu cầu cấu hình 25
4.3.2 Màn hình chính 25
KẾT LUẬN 26
TÀI LIỆU THAM KHẢO 27
Trang 5DANH MỤC HÌNH ẢNH
Hình 1: Logo công ty Finger 5
Hình 2: Lịch sử hình thành công ty Finger 5
Hình 3: Sơ đồ tổ chức bộ máy công ty 11
Hình 4: Các khách hàng chính của công ty Finger 11
Hình 5: Độc lập phần cứng và hệ điều hành 14
Hình 6: Biểu đồ trường hợp sử dụng Người chơi 18
Hình 7: Các lớp biên 19
Hình 8: Các lớp điều khiển 19
Hình 9: Các lớp đối tượng 20
Hình 10: Biểu đồ hoạt động 21
Hình 11: Giao diện chính 23
Hình 12: Giao diện chơi game 24
Hình 13: Giao diện chơi game 24
Hình 14: Giao diện kết thúc 25
Trang 6CHƯƠNG 1 : GIỚI THIỆU VỀ CÔNG TY FINGER
1.1 Tổng quan về công ty Finger
Hình 1: Logo công ty Finger
Tên công ty : Công Ty Finger
1.2 Giới thiệu chung
Công ty Finger chuyên cung cấp các giải pháp và dịch vụ tài chính qua mobile
và internet, nắm giữ và phát triển kỹ thuật Scraping màn hình trong nước vào tháng 4năm 2001, công ty đã tạo nên một vị trí như là người lãnh đạo tiên phong trong ngànhcông nghiệp PFMS Dựa trên nền tảng kỹ thuật, công ty đã đi đúng bước trong thời đạithông tin hóa và giá trị của dịch vụ tài chính là rất quan trọng, cung cấp các dịch vụ tốtnhất bằng các kỹ thuật hiện đại nhất
Công ty cổ phần Finger chúng tôi (FINANCE+MANAGER) dẫn đầu về DigitalFinance Paradigm trong sứ mạng của mình và sẽ luôn nỗ lực để đáp ứng các yêu cầuthay đổi không ngừng của khách hàng,quyết tâm phát triển thành một doanh nghiệpmạnh mẽ và thoải mái trong nguyên lý nền tảng phổ biến
1.3 Lịch sử và thành tựu chính
Trang 7Hình 2: Lịch sử hình thành công ty Finger
2001
Thực hiện dịch vụ “ my finger” về thẻ ngoại hối cho hiệp hội thương mạiKOTIS
Xây dựng hệ thống xử lý khiếu nại cho công ty SamSung Card
Thực hiện dịch vụ “my finger” cho tổ chức chứng khoán đầu tư Hàn Quốc Thực hiện dịch vụ “my finger” cho “ngân hàng JonBuk/ sinh mệnh SamSung” Thực hiện dịch vụ “my finger” cho BC Card/ LG Card
Thực hiện dịch vụ “my finger” cho hãng Chollian, Unitel, Auction
Thực hiện dịch vụ “my finger” cho ngân hàng Busan/ Ngân hàng Hanmi
Đạt được bằng sáng chế cho Screen scraping
Cung cấp giải pháp quản lý nợ và tài sản cho công ty Posco
Ký hợp đồng cung cấp PFMS giữa công ty Takumi Nhật và Finger
Cung cấp giải pháp thông báo nhậntiền cho toàn chi nhánh của 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 hiện 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 hiện dịch vụ “ My finger” cho công ty Edupia
Thực hiện dịch vụ “ My finger” cho công ty Netsgo
Trang 8Thực hiện dịch vụ “ My finger” cho công ty bảo hiểm Ssangyong
Trang 9Cung 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ế chocô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ế chocô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ốiHà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ế chocô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ế chocô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ế chocô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ế chocô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 tyTour Express
2005
Cung cấp dịch vụ đi 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)
Trang 10Ký hợp đồng bảo tri dịch vụ quản lý quỹ cho công ty vận chuyển CJ KoreaExpress
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ế chocô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 giaothông đường bộ
Đăng ký bằng sáng chế “ hệ thống và 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ử và 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 và 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àngKook 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 ngoài cho ngân hàng ShinHan
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 của các cơ quan cho ngân hàng Shin Han
2009
Chứng nhận viện nghiên cứu của công ty (Hiệp hội công nghiệp Hàn Quốc)
Trang 11Xây dựng hệ thống Internet Banking cho chi nhánh Trung Quốc của ngân hàngShinHan
Hoàn tất xây dựng dịch vụ KT ShowSmartBanking
Chọn công ty xây dựng dịch vụ tổng hợp CMS và hoàn tất xây dựng
Xây dựng lại hệ thống Internet Banking Global cho ngân hàng Shin Han
Xây dựng dịch vụ IFRS cho SFG, ngân hàng Shin Han
Xây dựng dịch vụ quản lý tài sản cá nhân Citi-SKT (Mobile Money)
Nhận được giải thưởng công ty phần mềm tiêu biểu của Đại Hàn Dân Quốc(Giải thưởng ưu tú trong lĩnh vực SW)
Đăng ký bằng sán chế “ hệ thống tạo lý thuyết tài chính và phương pháp”
2010
Hoàn tất xây dựng dịch vụ coupon, bất động sản smart phone cho ngân hàngShin Han
Hoàn tất xây dựng dịch vụ tìm tài khoản tổng hợp Smart Phone LGT
Hoàn tất xây dựng dịch vụ SmartPhone Banking cho ngân hàng Shin Han Hoàn tất xây dựng dịch vụ tổng hợp CMS
Xây dựng Internet Banking Global America Shin Han
Dịch vụ Banknig iPhong cho ngân hàng doanh nghiệp
Nhận được giải thưởng công ty phần mềm tiêu biểu của Đại Hàn Dân Quốc(Giải thưởng ưu tú trong lĩnh vực SW)
Đăng ký bằng sáng chế cho “ hệ thống và phương pháp phê duyệt có sử dụngMobile Money”
1.4 Lĩnh vực hoạt động
Công ty Finger trên nền tảng kỹ thuật cung cấp dịch vụ tài chính thông quakênh Cyber , đang cung cấp/ phát triển các giải pháp tài chính Smartphone và quản lýquỹ tổng hợp chuyên dùng cho các doanh nghiệp ở các cơ quan tài chính trong nước Lĩnh vực kinh doanh chính của công ty có chia làm 3 mảng dịch vụ dựa trên giải phápmobile và giải pháp web tài chính với đối tượng khách hàng là các cá nhân, doanhnghiệp, tổ chức công cộng Ngoài ra , công ty cũng có năng lực kỹ thuật chuyên môntrong lĩnh vực và giải pháp tùy chỉnh đa dạng sử dụng kỹ thuật scraping màn hình
Trang 12Tài chính
doanh
nghiệp
Kinh doanh Mobile
Quản lý công quỹ Quản lý vốn Giải pháp IT
Smartwallet
Tài chínhkhác
TabletBankingservice
Car calling
ForestFinger
ItemsHunter
Free market
Hệ thống hỗ trợquản lý tài sản(MIDAS on AMS)
Hệ thống dịch vụlien kết bên ngoài(F-DIS)
Hệ thống thanhtoán Internet
Quản lý vốntích hợp
Quản lý quỹdoanh nghiệp(CMS)
Dịch vụ quản lýtài sản cá nhân(PFMS)
Quản lý góp/
phân bổ quỹ
Quản lý phínghiên cứu (F-RCMS)
Dịch vụ tìmkiếm thương mại(CM)
Tìm kiếm côngphá sản, nghỉkinh doanh
Giải pháp modul
Standard firmbanking module
Transit firmbanking module
Modul kết nốiSAP
Modul kết nốiVAN
Giải phápframework
ApplicationFrame Work for C/S
1.5 Sơ đồ tổ chức bộ máy công ty
Công ty Finger có viện nghiên cứu Smart và 5 bộ phận chính với khoản 110nhân viên
Mỗi phòng ban đều có nhân lực chuyên môn nhiều kinh nghiệm phong phútrong lĩnh vực tài chính Các nhân viên cũng đang nỗ lực để phát triển các dịch vụ tàichính
Trang 13Hình 3: Sơ đồ tổ chức bộ máy công ty
1.6 Khách hàng chính
Công ty Finger là công ty tiên phong trong lĩnh vực dịch vụ tài chính phát triểntrên Smart App và quản lý vốn của doanh nghiệp cũng như cá nhân Công ty hiện cóhơn 70 khách hàng chính là các công ty về xuất bản /du lịch, cơ quan công/bảohiểm/Card/ngân hàng và có khoản 40,000 doanh nghiệp hiện đang sử dụng dịch vụ docông ty phát triển
Hình 4: Các khách hàng chính của công ty Finger
Trang 14CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT
2.1 Sơ lược về ngôn ngữ Java
2.1.1 Khái niệm
Java được biết đến như một ngôn ngữ hướng đối tượng (OO - object-oriented),bạn có thể sử dụng ngôn ngữ này để lập trình hướng đối tượng Điều này rất khác sovới lập trình thủ tục, và có thể hơi lạ lùng đối với hầu hết các lập-trình-viên-không-hướng-đối-tượng Bước đầu tiên bạn phải hiểu đối tượng là gì, vì đó là khái niệm cơ sởcủa OOP
2.1.2 Lịch sử ra đời
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems
năm 1991 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ữ đó thaychoC++, 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 SunMicrosystems đang giữ bản quyền và phát triển Java thường xuyên Tháng 04/2011,công ty 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" ("WriteOnce, Run Anywhere" (WORA)) Chương trình phần mềm viết bằng Java có thể chạytrê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ềukiệ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 SunMicrosystems 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 thiJava 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 đồngJava (do Sun 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ànhvà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 SunWorldnăm 1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java Về sau Java được hỗ trợ trênhầ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 tySun 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à
Trang 152.1.3 Sự phát triển của Java
1990: Ngôn ngữ Oak được tạo ra bởi James Gosling trong dự án Green của
Sun MicroSystems nhằm phát triển phần mềm cho các 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 một lần , Chạy trên nhiều nền”
Ngôn ngữ đa luồng (multi-threading): xử lý và tính toán song song
Ngôn ngữ phân tán (distributed): cho phép các đối tượng của một ứng dụngđược phân bố và thực thi trên các máy tính khác nhau
Ngôn ngữ động: cho phép mã lệnh của một chương trình được tải từ một máytính về máy của người yêu cầu thực thi chương trình
Ngôn ngữ an toàn: hạn chế các 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, trong sáng
2.1.5 Khả năng
Ngôn ngữ bậc cao
Có thể được dùng để tạo ra các loại ứ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ều thứ khác
Có các thư viện hàm hỗ trợ xây dựng giao diện (GUI) như AWT, Swing, …
Có các môi trường lập trình đồ họa như JBuilder, NetBeans, Eclipse, …
Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC
Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket)cũng như truy xuất Web hay nhúng vào trong trang Web (Applet)
Hỗ trợ lập trình phân tán (Remote Method Invocation) cho phép một ứng dụng
có thể được xử lý phân tán trên các máy tính khác nhau
Lập trình trên thiết bị cầm tay (J2ME)
Xây dựng các ứng dụng trong môi trường xí nghiệp (J2EE)