Tải bản đầy đủ (.doc) (23 trang)

“Game Caro online”, đồ án java

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 (728.91 KB, 23 trang )

Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
TRƯỜNG ĐẠI HỌC TRÀ VINH
KHOA KĨ THUẬT VÀ CÔNG NGHỆ
  

BÁO CÁO ĐỒ ÁN MÔN HỌC
LẬP TRÌNH ỨNG DỤNG PHÂN TÁN ĐỐI TƯỢNG
ĐỀ TÀI
Giảng Viên: NGUYỄN BẢO ÂN
Sinh Viên Thực Hiện
NGUYỄN VĂN AN <110108167>
LÊ PHÚ AN <110108168>
HUỲNH VĂN ĐÔ<110108177>
LÊ THỊ TÚ <110108314>
LÊ NGỌC HƯỜNG <110108184>

Lập trình ứng dụng PTĐT Trang
1
Trà Vinh, Tháng 1/2012
Trà Vinh, Tháng 1/2012
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………


…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
Giáo Viên Hướng Dẫn
Nguyễn Bảo Ân
Lập trình ứng dụng PTĐT Trang
2
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
LỜI CẢM ƠN
Trong thời gian học trong lớp và thảo luận, nhóm chúng em gặp không ít những khó
khăn. Nhưng nhờ sự hướng dẫn và giúp đỡ tận tình của thầy và các bạn đã giúp nhóm chúng
em hoàn thành bài báo cáo được tốt. Trước tiên chúng em xin chân thành cảm ơn thầy
Nguyễn Bảo Ân đã trực tiếp chỉ dẫn những kiến thức và hướng dẫn tận tình để nhóm chúng

em hoàn thành bài báo cáo này.
Nhóm em xin chân thành cảm ơn thầy và giáo viên Khoa Công Nghệ Thông Tin
Trường Đại Học Trà Vinh đã hướng dẫn và truyền đạt những kiến thức cơ bản cho nhóm
chúng em làm cơ sở và nền tảng để thực hiện đề tài này.Em cũng xin chân thành cảm ơn sự
giúp đỡ và những đóng góp quý báo của các bạn trong lớp đã giúp nhóm chúng em hoàn
thành đề tài này. Do kiến thức còn giới hạn nên không tránh được những sai sót khuyết điểm
do đó nhóm chúng em rất mong nhận được sự đóng góp ý kiến của thầy và các bạn từ đó
nhóm chúng em rút ra những kinh nghiệm để hoàn thành tốt hơn trong những bài làm lần
sau.
Xin chân thành cảm ơn !
Sinh viên thực hiện:
1. Nguyễn Văn An.
2. Lê Phú An
3. Huỳnh Văn Đô
4. Lê Thị Tú
5. Lê Ngọc Hường
Lập trình ứng dụng PTĐT Trang
3
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
MỤC LỤC
LỜI CẢM ƠN 3
LỜI MỞ ĐẦU
Ngày nay, do nhu cầu đời sống của con người ngày càng được nâng cao, trong đó nhu
cầu giải trí của con người được quan tâm đến rất nhiều. Trong đó việc giải trí bằng Game
máy tính ngày càng phát triển nhanh và lan rộng ra do sự lôi cuốn rất mạnh mẽ của nó. Hầu
như ai đã sử dụng máy tính đều đã giải trí bằng một số game nào đó trên máy tính. Có thể
nói Game là một thể loại phong phú nhất trong tất cả các loại chương trình trên máy tính.
Trong qua quá trình học tập và miệt mài nghiên cứu về chuyên môn của ngành,
nhóm chúng em đã tiếp thu được một số kiến thức hữu ích cho bản thân, nhằm đánh giá kết
quả đã đạt được trong quá trình học tập, nhóm em đã hoàn thành bài báo cáo của môn học

này.
Hình thức trình bày và nội dung của bài báo cáo có nhiều mặt còn thiếu sót mong
nhận được sự đóng góp ý kiến từ phía thầy cô và các bạn nhằm để bổ sung vào lỗ hỏng kiến
thức cho hình thức và nội dung của bài báo cáo được đầy đủ hơn và sau đó là áp dụng cho
những môn học sau được tốt hơn.
Ngày nay hầu hết tất cả các game điều chơi online trên Internet. Với một lượng
người chơi khổng lồ. Nhằm đáp ứng yêu cầu của người chơi hôm nay nhóm chúng em đã lập
trình “Game Caro online”.Nhằm mục đích giúp cho người chơi giải trí.
Xin chân thành cảm ơn!
Lập trình ứng dụng PTĐT Trang
4
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
NỘI DUNG
CHƯƠNG I: GIỚI THIỆU
1. Lý do chọn đề tài
Ngày nay, do nhu cầu đời sống của con người ngày càng được nâng cao, trong đó nhu
cầu giải trí của con người được quan tâm đến rất nhiều. Trong đó việc giải trí bằng Game
máy tính ngày càng phát triển nhanh và lan rộng ra do sự lôi cuốn rất mạnh mẽ của nó. Hầu
như ai đã sử dụng máy tính đều đã giải trí bằng một số game nào đó trên máy tính. Có thể
nói Game là một thể loại phong phú nhất trong tất cả các loại chương trình trên máy tính cho
nên nhóm chúng em chọn đề tài “game caro online”.
Thứ nhất là giúp cho người chơi giải trí.
Thứ hai, trong quá trình học tập nhóm chúng em được sự tận tình chỉ bảo của thầy
Nguyễn Bảo Ân, đã truyền đạt cho nhóm chúng em những kiến thức hữu ích để nhóm chúng
em được hoàn thành báo cáo tốt hơn.
Thứ ba, việc viết game bằng ngôn ngữ Java cung cấp cho nhóm chúng em có khả năng
tiếp cận, tìm hiểu ngôn ngữ mới, nâng cao kinh nghiệm lập trình để sau này có thể tìm có thể
tham gia vào các dự án lớn hơn.
2. Mục tiêu, kết quả đề tài
Giúp cho người chơi có thể giải trí.

Xây dựng được một chương trình game caro online có thể chơi trên mạng, có thể chơi
nhiều cặp với nhau.
Lập trình ứng dụng PTĐT Trang
5
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
1. Sơ lược về hệ thống mạng máy tính và hệ phân tán
a. Hệ thống mạng máy tính
- Các thiết bị truyền dẫn kết nối các máy tính cục bộ và trên diện rộng và liên lạc
với nhau qua các giao thức.
- Hệ thống mạng máy tính có ở khắp nơi như:
+ Hệ thống mạng mobile.
+ Hệ thống mạng trong doanh nghiêp.
+ Hệ thống mạng trong các nhà máy.
+ Hệ thống mạng tại nhà.
- Hệ thống mạng tập trung vào các gói tin, định tuyến…
b. Hệ phân tán
- Hệ phân tán là một tập hộp các máy tính độc lập sao cho mỗi user trong hệ
thống giống như một máy tính riêng lẽ.
=> Tồn tại nhiều máy tính xử lý độc lập.
- Hệ phân tán tập trung vào các ứng dụng, mọi hệ phân tán phụ thuộc vào các
dịch vụ được cung cấp bởi hệ thống mạng máy tính.
2. Các giao thức mạng
a. Giao thức IP
- IP là một số nguyên 32 bit, thường được biểu diễn dưới dạng một dãy 4 số nguyên
cách nhau bởi dấu chấm. Một số nguyên trong địa chỉ IP là một byte, thường được gọi là
một octet (8 bits).
- Một địa chỉ IP gồm có 3 phần
+ Phần đầu tiên là địa chỉ mạng (network address).
Lập trình ứng dụng PTĐT Trang

6
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
+ phần thứ cuối cùng là địa chỉ máy (host address).
+ phần còn lại (nếu có) là địa chỉ mạng con (subnet address).
- Địa chỉ IP được chia ra làm 5 lớp mạng (lớp A, B, C, D và E) trong đó 4 lớp đầu được sử
dụng còn lớp E dành để nghiên cứu, lớp D dung cho việc phát triển các thông tin
broadcast/multicast, lớp A,B,C được dung trong cuộc sống hàng ngày.
b. Giao thức TCP
- TCP là giao thức truyên thông định hướng kết nối, việc truyền trong mạng là tin cậy
dựa trên các tính năng retransmission, flowcontrol và kiểm tra lỗi.
- TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và các ứng dụng kết
quả, trong đó có WWW, thư điện tử và Secure Shell.
- Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa giao thức IP bên dưới và
một ứng dụng bên trên. Các ứng dụng thường cần các kết nối đáng tin cậy kiểu đường
ống để liên lạc với nhau, trong khi đó, giao thức IP không cung cấp những dòng kiểu đó, mà
chỉ cung cấp dịch vụ chuyển gói tin không đáng tin cậy. TCP làm nhiệm vụ của tầng giao
vận trong mô hình OSI đơn giản của các mạng máy tính.
- Các ứng dụng gửi các dòng gồm các byte 8-bit tới TCP để chuyển qua mạng. TCP
phân chia dòng byte này thành các đoạn có kích thước thích hợp (thường được quyết định
dựa theo kích thước của đơn vị truyền dẫn tối đa của tầng liên kết dữ liệu của mạng mà máy
tính đang nằm trong đó). Sau đó, TCP chuyển các gói tin thu được tới giao thức IP để gửi nó
qua một liên mạng tới mô đun TCP tại máy tính đích. TCP kiểm tra để đảm bảo không có
gói tin nào bị thất lạc bằng cách gán cho mỗi gói tin một "số thứ tự". Số thứ tự này còn được
sử dụng để đảm bảo dữ liệu được trao cho ứng dụng đích theo đúng thứ tự. Mô-đun TCP tại
đầu kia gửi lại "tin báo nhận" cho các gói tin đã nhận được thành công; một "đồng hồ" tại
nơi gửi sẽ báo thời gian nếu không nhận được tin báo nhận trong khoảng thời gian bằng
một round-trip time, và dữ liệu (được coi là bị thất lạc) sẽ được gửi lại. TCP sử
dụng checksum (giá trị kiểm tra) để xem có byte nào bị hỏng trong quá trình truyền hay
không; giá trị này được tính toán cho mỗi khối dữ liệu tại nơi gửi trước khi nó được gửi, và
được kiểm tra tại nơi nhận.

Lập trình ứng dụng PTĐT Trang
7
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
c. Giao thức UDP
- UDP là một trong những giao thức cốt lõi của giao thức TCP/IP. Dùng UDP, chương
trình trên mạng máy tính có thể gởi những dữ liệu ngắn được gọi là datagram tới máy khác.
UDP không cung cấp sự tin cậy và thứ tự truyền nhận mà TCP làm; các gói dữ liệu có thể
đến không đúng thứ tự hoặc bị mất mà không có thông báo. Tuy nhiên UDP nhanh và hiệu
quả hơn đối với các mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thời gian. Do bản
chất không trạng thái của nó nên nó hữu dụng đối với việc trả lời các truy vấn nhỏ với số
lượng lớn người yêu cầu.
3. Mô hình Client, Servers
- Mô hình client/server là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất
rộng rãi và là mô hình của mọi trang web hiện có. Ý tưởng của mô hình này là máy con
(đóng vài trò là máy khách) gửi một yêu cầu để máy chủ (đóng vai trò người cung ứng dịch
vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách.
Lập trình ứng dụng PTĐT Trang
8
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
4 . Lập trình Socket
- Socket là một phương pháp để thiết lập kết nối truyền thông giữa một chương trình yêu
cầu dịch vụ ( client) và một chương trình cung cấp dịch vụ (server) trên mạng LAN, WAN
hay Internet và đôi lúc là giữa những quá trình ngay bên trong máy tính. Mỗi socket có thể
được xem như một điểm cuối trong một kết nối. Một socket trên máy yêu cầu dịch vụ có địa
chỉ mạng được cấp sẵn để “gọi” một socket trên máy cung cấp dịch vụ. Một khi socket đã
được thiết lập phù hợp, hai máy tính có thể trao đổi dịch vụ và dữ liệu.
- Để tạo 1 ứng dụng sử dụng socket thì cần phải có server và client.
- Server và client sẽ gửi và nhận dữ liệu thông qua socket cụ thể: Client sẽ gửi yêu cầu có
các tham số đến server, server nhận được các tham số và sẽ xử lý ở server rồi truyền trả lại
cho client kết quả (1 ví dụ đơn giản là : client sẽ nhập 1 String và gửi nó cho server và server

sẽ đảo ngược String đó rồi trả lại cho client , cứ nhập như vậy cho đến khi Client đã chuỗi
"quit" thì sẽ thoát )
(File client)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package socketdaochuoi;
import java.io.*;
import java.net.Socket;
/*
*
* @author Admin
*/
public class Client {
public static void main(String args[])
Lập trình ứng dụng PTĐT Trang
9
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
{
try {
String cau1;// Cau duoc gui toi server
String ketQua;//Cau duoc server xu ly va tra lai la in hoa
BufferedReader inFormUser= new BufferedReader(new InputStreamReader(System.
in));// Tao input stream
Socket clientSocket= new Socket("172.16.1.1",8989);// Tao clinent socket de ket noi
toi server
DataOutputStream sendToServer= new DataOutputStream(clientSocket.getOutputStr
eam());// Tao output stream ket noi toi socket
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(client

Socket.getInputStream()));
while(true)
{
cau1 = inFormUser.readLine();// Nhap vao 1 cau
sendToServer.writeBytes(cau1+'\n');// gui toi server
if (cau1.equalsIgnoreCase("quit"))// Gap chuoi quit
break;
ketQua = inFromServer.readLine();// Nhan lai tu server
System.out.println("FROM SERVER: "+ketQua);
}
clientSocket.close();//Dong ket noi
} catch (IOException e) {
System.out.println("Exception Client: "+e.getMessage());
}
}
}
Lập trình ứng dụng PTĐT Trang
10
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
(File Servers)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package socketdaochuoi;
import java.io.*;
import java.net.*;
/*
*
* @author Admin

*/
public class Server {
public static void main(String args[])
{
try {
String cau;// Cau tu client gui toi
String ketQua = "";// Cau sau khi xu ly xong tra ve client
ServerSocket ss = new ServerSocket(8989);// Tao cong 8989 de server lang nghe
while (true)// Cho client ket noi
{
// Khong dung multithread
Socket connectionSocket= ss.accept();
BufferedReader fromClient= new BufferedReader(new InputStreamReader(conne
ctionSocket.getInputStream()));// Tao input stream
DataOutputStream sendToClient= new DataOutputStream(connectionSocket.getO
utputStream());// Tao output stream
Lập trình ứng dụng PTĐT Trang
11
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
// Thread.sleep(5000);// Giả sử server phải xử lý mất 5s
while (true)
{
cau = fromClient.readLine();
System.out.println("FROM CLIENT: "+cau);// In ra chuỗi server nhận đc từ clie
nt
if (cau.equalsIgnoreCase("quit"))
break;
// Dao chuoi nhan duoc
StringBuilder str = new StringBuilder(cau);
ketQua = str.reverse().toString();

sendToClient.writeBytes(ketQua + '\n');
}
// Su dung multithread
// Khi co 1 client gui yeu cau toi thi se tao ra 1 thread phuc vu client do
// new ThreadSocket(ss.accept()).start();
}
} catch (IOException e) {
System.out.println("Exception: " + e.getMessage());
}
//catch (InterruptedException ie)
{
}
}
}
Lập trình ứng dụng PTĐT Trang
12
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
CHƯƠNG III: CHƯƠNG TRÌNH GAME
1. Mô tả ứng dụng
- Viết chương trình để thực hiện trò chơi đánh cờ caro trên mạng.
- Cho phép nhiều người chơi ở những máy khác nhau ở mọi nơi trên internet.
- Máy Server tạo ra một Socket phục vụ kết nối từng cặp người tham gia chơi cờ caro.
Theo từng ván cờ. Mỗi phiên là một luồng đảm bảo sự trao đổi giữa 2 người chơi và xác
định trạng thái ( thắng/ thua) của ván cờ.
- Trong hai người chơi có thể chat nói chuyển với nhau.
- Trong mỗi ván cờ người đầu kết nối với server được gọi là người thứ nhất được gán
với ký hiệu ‘X’ còn người thứ 2 được gán với ký hiệu là ‘O’. Họ thay phiên nhau đánh vào
những ô khác nhau ( nhấn vào ô màn mình định đánh) để nhanh chóng đạt được số ô thẳng
hang theo hàng ngang, hàng dọc và đường chéo. Người nào đánh được số ô đó trước, người
đó thắng cờ. Số ván cờ được tạo trên client.

2. Phân tích ứng dụng
Dựa vào bài toán ta phải thực hiện những công việc sau:
- Tạo ra 1 Server cho game caro.
- Tạo ra 1 Client cho game caro.
- Máy Server tạo ra 1 Socket phục vụ kết nối từng cặp Client chơi.
* Luật chơi của game được thiết lập như sau:
- Client kết nối trước thì được gọi là người chơi 1 và được đánh trước.
- Client kết nối sau thì được gọi là người chơi 2 và đánh sau.
- Client nào đánh được số ô trên hàng dọc, hàng ngang và đường chéo lớn hơn hoặc bằng 5
ô thì thắng cuộc.
- Client của 2 người cùng chơi với nhau chat nói chuyện với nhau.
Lập trình ứng dụng PTĐT Trang
13
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
3. Giải thuật quét ma trận
Khi một trong hai người chơi đánh quân cờ của mình, từ điểm vừa đánh ta xét theo chiều
dọc, chiều ngang và hai đường chéo. Nếu có một dãy liên tiếp năm quân cờ (hoặc nhiều hơn)
giống nhau thì thông báo người chơi đó đã chiến thắng và người còn lại đã bị thua.
Khởi tạo biến đếm bằng 1.
- Xét theo chiều dọc:
+ Từ điểm vừa đánh quân cờ, ta tăng dòng lên một đơn vị đồng thời giữ nguyên giá trị
cột.
+ Trong khi, dòng lớn hơn bằng 0 và nhỏ hơn 15 và cột lớn hơn bằng không và nhỏ hơn
15 và quân cờ tại vị trí mới này giống với quân cờ tại vị trí vừa đánh. Ta tăng biến đếm lên
một đơn vị đồng thời tiếp tục tăng dòng lên một đơn vị và giữ nguyên giá trị cột, tiếp tục
vòng lặp. Ngược lại, thoát khỏi vòng lặp.
+ Từ điểm vừa đánh quân cờ, ta giảm dòng xuống một đơn vị đồng thời giữ nguyên giá
trị cột.
+ Trong khi, dòng lớn hơn bằng 0 và nhỏ hơn 15 và cột lớn hơn bằng không và nhỏ hơn
15 và quân cờ tại vị trí mới này giống với quân cờ tại vị trí vừa đánh. Ta tăng biến đếm lên

một đơn vị đồng thời tiếp tục giảm dòng xuống một đơn vị và giữ nguyên giá trị cột, tiếp tục
vòng lặp. Ngược lại, thoát khỏi vòng lặp.
- Xét theo chiều ngang:
+ Từ điểm vừa đánh quân cờ, ta tăng cột lên một đơn vị đồng thời giữ nguyên giá trị
dòng.
+ Trong khi, dòng lớn hơn bằng 0 và nhỏ hơn 15 và cột lớn hơn bằng không và nhỏ hơn
15 và quân cờ tại vị trí mới này giống với quân cờ tại vị trí vừa đánh. Ta tăng biến đếm lên
một đơn vị đồng thời tiếp tục tăng cột lên một đơn vị và giữ nguyên giá trị dòng, tiếp tục
vòng lặp. Ngược lại, thoát khỏi vòng lặp.
Lập trình ứng dụng PTĐT Trang
14
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
+ Từ điểm vừa đánh quân cờ, ta giảm cột xuống một đơn vị đồng thời giữ nguyên giá trị
dòng.
+ Trong khi, dòng lớn hơn bằng 0 và nhỏ hơn 15 và cột lớn hơn bằng không và nhỏ hơn
15 và quân cờ tại vị trí mới này giống với quân cờ tại vị trí vừa đánh. Ta tăng biến đếm lên
một đơn vị đồng thời tiếp tục giảm cột xuống một đơn vị và giữ nguyên giá trị dòng, tiếp tục
vòng lặp. Ngược lại, thoát khỏi vòng lặp.
- Xét theo đường chéo chính:
+ Từ điểm vừa đánh quân cờ, ta tăng dòng lên một đơn vị đồng thời giảm cột xuống một
đơn vị.
+ Trong khi, dòng lớn hơn bằng 0 và nhỏ hơn 15 và cột lớn hơn bằng không và nhỏ hơn
15 và quân cờ tại vị trí mới này giống với quân cờ tại vị trí vừa đánh. Ta tăng biến đếm lên
một đơn vị đồng thời tiếp tục tăng dòng lên một đơn vị và giảm cột xuống một đơn vị, tiếp
tục vòng lặp. Ngược lại, thoát khỏi vòng lặp.
+ Từ điểm vừa đánh quân cờ, ta giảm dòng xuống một đơn vị đồng thời tăng cột lên một
đơn vị.
+ Trong khi, dòng lớn hơn bằng 0 và nhỏ hơn 15 và cột lớn hơn bằng không và nhỏ hơn
15 và quân cờ tại vị trí mới này giống với quân cờ tại vị trí vừa đánh. Ta tăng biến đếm lên
một đơn vị đồng thời tiếp tục giảm dòng xuống một đơn vị và tăng cột lên một đơn vị, tiếp

tục vòng lặp. Ngược lại, thoát khỏi vòng lặp.
- Xét theo đường chéo phụ:
+ Từ điểm vừa đánh quân cờ, ta tăng dòng lên một đơn vị đồng thời tăng cột lên một đơn
vị.
+ Trong khi, dòng lớn hơn bằng 0 và nhỏ hơn 15 và cột lớn hơn bằng không và nhỏ hơn
15 và quân cờ tại vị trí mới này giống với quân cờ tại vị trí vừa đánh. Ta tăng biến đếm lên
một đơn vị đồng thời tiếp tục tăng dòng lên một đơn vị và tăng cột lên một đơn vị, tiếp tục
vòng lặp. Ngược lại, thoát khỏi vòng lặp.
Lập trình ứng dụng PTĐT Trang
15
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
+ Từ điểm vừa đánh quân cờ, ta giảm dòng xuống một đơn vị đồng thời giảm cột xuống
một đơn vị.
+ Trong khi, dòng lớn hơn bằng 0 và nhỏ hơn 15 và cột lớn hơn bằng không và nhỏ hơn
15 và quân cờ tại vị trí mới này giống với quân cờ tại vị trí vừa đánh. Ta tăng biến đếm lên
một đơn vị đồng thời tiếp tục giảm dòng xuống một đơn vị và giảm cột xuống một đơn vị,
tiếp tục vòng lặp. Ngược lại, thoát khỏi vòng lặp.
- Trả về biến đếm.
Nếu quét hết ma trận mà không có người chơi nào giành chiến thắng thì thông báo hai
người chơi hòa nhau.
Lập trình ứng dụng PTĐT Trang
16
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
4. Giao diện chương trình
4.1 Giao diện Servers
- Giao diện server chờ kết nối
- Giao diện server khi có người chơi tham gia vào servers
Lập trình ứng dụng PTĐT Trang
17
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ

-Giao diện server khi hai đối thủ thách đấu với nhau

- Giao diện server khi người chơi đã thoát games

Lập trình ứng dụng PTĐT Trang
18
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
4.2. Giao diện client
- khi chay client lên thì có phần điền tên người tham gia khi điền xong
click vào nút tham gia xuất hiện danh sách người chơi bên dưới
- sau đây là kết quả khi hai client tham gia.
Lập trình ứng dụng PTĐT Trang
19
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
- Hai đối thủ khi thách đấu với nhau, nếu trong danh sách người chơi bạn muốn chơi với
người nào thì click chuôt vào người đó.sau đây là kết quả thách đấu của hai đối thủ thách
đấu
Lập trình ứng dụng PTĐT Trang
20
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
- Sau khi hai đối thủ thách đấu nếu muốn chơi thì chọn (Yes) và không thì chọ (No),
kết quả hai đối thủ chấp nhận lời thách đấu sẽ hiện lên hai bàn cờ của hai đối thủ có thể
đánh được.
- Kết quả thắng, thua của hai đối thủ và trong khi hai đối thủ thi đấu có thể chat nói
chuyện với nhau.
Lập trình ứng dụng PTĐT Trang
21
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
Chú ý: nếu bạn muốn chơi tiếp nửa thì chon (Yes) va không chơi thì chọn (No)
CHƯƠNG VI: KẾT LUẬN

1. Ưu điểm
- Xây dựng được các chức năng của một chương trinh games như danh sách
người chơi, chat.
- Cho phép nhiều cặp chơi dánh cùng lúc với nhau.
- Có thể cho từng cặp chơi chat nói chuyện với nhau.
2. Khuyết điểm
- Giao diện chưa than thiện với người sử dụng.
- Chưa tối ưu kích cở của bàn cờ.
- Trao đổi giửa client và server chưa được tốt.
- Chưa kiểm soát được hết lỗi.
3.Hướng phát triển
- Cần bổ sung nhiều chức năng để chương trình game được hoàn chỉnh hơn.
- Tìm hiểu và hoàn thiện một số chức năng của chưng trình game chưa được thực
hiện.
- Tìm hiểu thêm về ngôn ngữ java.
- Mở rộng chương trình và đưa chương trình vào thực tế.
Lập trình ứng dụng PTĐT Trang
22
Trường Đại Học Trà Vinh Khoa Kỹ Thuật – Công Nghệ
TÀI LIỆU THAM KHẢO
- />- Lập trình hướng đối tượng với JAVA của tác giả ĐOÀN VĂN BAN.
- Lập trình JAVA nâng cao của tác giả ĐOÀN VĂN BAN.
- Bài giảng môn lập trình mạng của tác giả NGUYỄN CAO ĐẠT Đại học BÁCH
KHOA Tp HỒ CHÍ MINH.
- Chapter 7- Networking – Đoàn Văn Ban (2003 Prentice Hall, Inc. All right reserved).
- Ivor Horton’s Beginning Java
TM
2, JDK
TM
5 Edition.

Lập trình ứng dụng PTĐT Trang
23

×