You are on page 1of 10

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

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


LỜI MỞ ĐẦU...................................................................................................................5
CHƯƠNG 1: CƠ SỞ LÝ THUẾT...................................................................................7
1.1. Ngôn ngữ Java.........................................................................................................7
1.1.1. Ngôn ngữ lập trình.............................................................................................7
1.1.2. Lịch sử............................................................................................................... 7
1.1.3. Phương châm.....................................................................................................8
1.1.4. Công cụ..............................................................................................................8
1.2. Giới thiệu về chương trình.......................................................................................9
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG...........................................11
2.1. Phân tích................................................................................................................11
2.2. Yêu cầu..................................................................................................................11
2.3. Phân tích các chức năng của chương trình............................................................11
2.4. Khó khăn và hướng giải quyết..............................................................................12
CHƯƠNG 3: KẾT QUẢ.................................................................................................14
3.1. Giao diện của chương trình.....................................................................................14
3.2. Giao diện chức năng “Hướng dẫn”.........................................................................14
3.3. Giao diện chức năng “Tạm dừng”..........................................................................15
3.4. Giao diện chức năng “Chơi tiếp”............................................................................16
3.5. Giao diện chức năng “Thoát.”................................................................................16
3.6. Code chương trình..................................................................................................17
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.....................................................................25
TÀI LIỆU THAM KHẢO..............................................................................................26

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
Báo cáo môn Đồ án Java

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

Hình 2.1: Chức năng chương trình....................................................................................10


Hình 2.2: Phác họa giao diện chức năng........................................................................11Y
Hình 3.1: Giao diện chính của game.................................................................................13
Hình 3.2: Giao diện của chức năng hướng dẫn.................................................................14
Hình 3.3: Giao diện chức năng tạm dừng.........................................................................14
Hình 3.4: Giao diện chức năng chơi tiếp...........................................................................15
Hình 3.5: Giao diện chức năng thoát.................................................................................15

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
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
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.

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
Báo cáo môn Đồ án Java

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
đ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ệ

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
Báo cáo môn Đồ án Java

đ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 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à 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".
 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.

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
Báo cáo môn Đồ án Java

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;
}

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
Báo cáo môn Đồ án Java

for(int i = 0;i < 19; i++)


{
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
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.

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

You might also like