“Game Caro online”, đồ án java

23 1.6K 1
“Game Caro online”, đồ án 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

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

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 [...]... đượ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... 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... 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... đá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... 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 +... đơ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... 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... 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... 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... 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

Ngày đăng: 19/05/2014, 07:25

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

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

Tài liệu liên quan