Đồ án lập trình mạng-Xây dựng chương trình chơi game caro trên android

23 3.2K 13
Đồ án lập trình mạng-Xây dựng chương trình chơi game caro trên android

Đ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

Đồ án lập trình mạng-Xây dựng chương trình chơi game trên android Lập trình ứng dụng mạng lập trình socket androidgame caro trên android, java

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG VÀ TRUYỀN THÔNG  ĐỒ ÁN LẬP TRÌNH MẠNG Đề tài: ỨNG DỤNG CỜ CARO QUA MẠNG TRÊN ANDROID Sinh viên : Trần Quốc Nhật Trung Lớp : 12TLT.CNTT Cán bộ hướng dẫn : Ts. Huỳnh Công Pháp Đà Nẵng, 06/2014 MỤC LỤC Trang 2 DANH MỤC HÌNH VẼ Trang 3 Game cờ Caro qua mạng trên Android TỔNG QUAN ĐỀ TÀI 1. Giới thiệu đề tài Cùng với sự phát triển của hệ điều hành Android – một nền tảng mã nguồn mở cho các thiết bị di động do Google phát triển. Thúc đẩy các dòng điện thoại thông minh của nhiều hãng điện thoại lớn trong liên tiếp ra đời và sử dụng hệ điều hành này. Vì vậy việc phát triển ứng dụng trên nền tảng đang thu hút một lượng lớn lập trình viên trên toàn thế giới. Cùng xu thế đó em quyết định chọn đề tài “Ứng dụng cờ Caro qua mạng trên Android”. Cờ Caro thuộc thể loại trò chơi bàn cờ, thi đấu tí tuệ giữa hai người. Cờ Caro tại mỗi thời kì có những luật chơi khác nhau nhưng về cờ bản thì có các luật như sau: • Quân cờ được sử dụng là X và O. • Hai người đi luân phiên nhau, mỗi lần đi là một lượt và không trùng với ô đã có quân cờ. • Mỗi bên được xác định thắng khi tạo thành một hàng dọc, ngang hoặc chéo 5 quân cờ của mình. • Trò chơi kết thúc khi có một bên thắng hoặc không còn ô trống trên bàn cờ. 2. Mục tiêu đề tài Đề tài “Ứng dụng cở Caro qua mạng trên Android ” nhằm xây dựng một ứng dụng trên hệ điều hành Android cho phép hai người chơi có thể thi đấu cùng nhau thông qua đường truyền Internet. Trần Quốc Nhật Trung - 12TLT.CNTT Trang 4 Game cờ Caro qua mạng trên Android CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1. Giới thiệu trò chơi cờ Caro 1.1.1. Lịch sử nguồn gốc Cờ caro chính là môn cờ logic lâu đời và cổ xưa nhất trên Trái Đất. Cờ caro đã được sáng tạo từ nhiều nền văn minh khác nhau một cách độc lập. Nó bắt đầu xuất hiện từ năm 2000 trước CN ở sông Hoàng Hà, Trung Quốc. Một số nhà khoa học đã tìm thấy bằng chứng chứng minh Caro đã được phát minh ở Hy lạp cổ đại và ở Châu Mỹ trước thời Colombo. 1.1.2. Luật chơi cờ Caro Cờ Caro thuộc thể loại trò chơi bàn cờ, thi đấu tí tuệ giữa hai người. Cờ Caro tại mỗi thời kì có những luật chơi khác nhau nhưng về cờ bản thì có các luật như sau:  Quân cờ được sử dụng là X và O.  Hai người đi luân phiên nhau, mỗi lần đi là một lượt và không trùng với ô đã có quân cờ.  Mỗi bên được xác định thắng khi tạo thành một hàng dọc, ngang hoặc chéo 5 quân cờ của mình.  Trò chơi kết thúc khi có một bên thắng hoặc không còn ô trống trên bàn cờ. 1.2. Tổng quan về mạng máy tính 1.2.1. Khái niệm mạng máy tính Mạng máy tính là một tập hợp các máy tính được nối với nhau bởi đường truyền theo một cấu trúc nào đó và thông qua đó các máy tính trao đổi thông tin qua lại cho nhau. Đường truyền là hệ thống các thiết bị truyền dẫn có dây hay không dây dùng để chuyển các tín hiệu điện tử từ máy tính này đến máy tính khác. Các tín hiệu điện tử đó biểu thị các giá trị dữ liệu dưới dạng các xung nhị phân (on - off). Tất cả các tín hiệu được truyền giữa các máy tính đều thuộc một dạng sóng điện từ. Tùy theo tần số của sóng điện từ có thể dùng các đường truyền vật lý khác nhau để truyền các tín hiệu. Ở đây đường truyền được kết nối có thể là dây cáp đồng trục, cáp xoắn, cáp quang, dây điện thoại, sóng vô tuyến Các đường truyền dữ liệu tạo nên cấu trúc của mạng. 1.2.2. Các mô hình phân tầng mạng Quá trình trao đổi dữ liệu giữa hai máty tính diễn ra rất phức tạp bao gồm nhiều công đoạn. Tại máy gửi, trước khi dữ liệu có thể truyền trên các phương tiện truyền dưới dạng điện, sóng, ánh sáng. Dữ liệu phải trải qua quá trình biến đổi dữ liệu đầu vào (văn bản, hình ảnh, âm thanh ), mã hóa, đóng gói,xác định lộ trình gói tin và cuối cùng chuyển sáng các dạng tín hiệu có thể truyền tương ứng. Quá trình này xảy ra Trần Quốc Nhật Trung - 12TLT.CNTT Trang 5 Game cờ Caro qua mạng trên Android ngược lại đối với máy nhận dữ liệu.Do đó để các máy tính có thể trao đổi dữ liệu máy tính phải được thiết kế thiết kế trên một tiêu chuẩn nào đó.  Mô hình tham chiếu OSI (Open System Interconnection) Hình 1.1: Mô hình OSI  Mô hình TCP/IP Hình 1.2: Mô hình TPC/IP 1.2.3. Các mô hình ứng dụng mạng  Mô hình Client – Server Trần Quốc Nhật Trung - 12TLT.CNTT Trang 6 Game cờ Caro qua mạng trên Android Hình 1.3: Mô hình Client – Server  Mô hình mạng ngang hàng Hình 1.4: Mô hình Peer – to – peer 1.3. Mô hình Client – Server Mô hình Client - Server (hay còn gọi là mô hình khách chủ) là mô hình cờ bản và chủ đạo nhất trong các mô hình mạng. Xét cho cùng, tất cả các mô hình và công nghệ mạng phổ biến hiện nay như mô hình mạng ngang hàng (Peer – to – Peer), mô hình phân tán đề có nguồn gốc từ mô hình Client – Server. Hình 1.5: Mô hình Client – Server tổng quan Mô hình Client – Server tổng quan gồm có một chương trình đóng vai trò là Client và một chương trình đóng vai trò Server. Đối với mô hình này, một tiến trình Server sẽ giao tiếp và phục vụ nhiều tiến trình Client thông qua các phương tiện truyền Trần Quốc Nhật Trung - 12TLT.CNTT Trang 7 Game cờ Caro qua mạng trên Android thông trong môi trường mạng. Các tiến trình Client và Server có thể cùng chạy trên một hay khác máy tính. 1.3.1. Nguyên lý hoạt động Tiến trình Server luôn thụ động chờ lắng nghe yêu cầu từ phía Client. Do đó, theo nguyên lý hoạt động của mô hình này thì Server là tiến trình hoạt động trước để lắng nghe yêu cầu từ phía Client. Nguyên lý hoạt động của mô hình Client – Server gồm 4 bước.  Bước 1: Client chủ động yêu cầu gửi đến Server.  Bước 2: Server nhận và xử lý yêu cầu của Client.  Bước 3: Server phản hồi kết quả cho Client.  Bước 4: Client nhận và xử lý phản hồi từ Server. Hình 1.6: Nguyên lý hoạt động mô hình Client – Server 1.3.2. Ưu điểm nhược điểm mô hình Client – Server  Ưu điểm  Cơ sở dữ liệu tập trung nhưng được xử lý phân tán.  Nâng cao khả năng bảo mật.  Khả mở rộng hệ thống tốt.  Nhược điểm  Cần liên tục và sự ổn định đường truyền mạng.  Phụ thuộc quá lớn vào Server không tận dụng được tài nguyên hệ thống. 1.4. Giao thức TCP/IP Giao thức TCP/IP là giao thức truyền thông có kết nối và tin cậy. Là trước khi truyền dữ liệu giao thức TCP gửi và giao thức TCP nhận phải thiết lập một kênh kết nối. Trong quá trình truyền dữ liệu kênh kết nối này phải được duy trì. Quá trình thiết lập kênh kết nối được thực hiện bởi một quá trình gọi là bắt tay ba bước.  Bước 1: Giao thức TCP máy gửi phải yêu cầu thiết lập một kênh truyền bằng cách gửi một phân đọan (Segment) gọi là SYN đến giao thức TCP máy nhận. Trần Quốc Nhật Trung - 12TLT.CNTT Trang 8 Game cờ Caro qua mạng trên Android  Bước 2: Giao thức TCP máy nhận gửi trả lại một đoạn phân đoạn (Segment) gọi là ACK để xác nhận đã nhận thành công.  Bước 3: Giao thức TCP máy gửi tiếp tục gửi một phân đoạn ACK để xác nhận và sau đó là truyền dữ liệu. Hình 1.7: Quá trình bắt tay ba bước 1.5. Khái niệm Socket Socket được xem là là điểm giao tiếp của ứng dụng mạng, do đó chương trình Client/Server sẽ thực hiện hai thao tác cơ bản sau:  Để truyền dữ liệu, chương trình chỉ cần ghi dữ liệu vào socket.  Để nhận dữ liệu, chương trình đọc dữ liệu từ socket. Có 2 loại socket là TCP socket và UDP socket tương ứng với 2 giao thức TCP và UDP. Hình 1.8: Socket trong mô hình TCP/IP 1.6. Giới thiệu hệ điều hành Android 1.6.1. Android là gì ? Trần Quốc Nhật Trung - 12TLT.CNTT Trang 9 Game cờ Caro qua mạng trên Android Android là hệ điều hành(viết tắt HDH) được phát triển dựa trên nền tảng Linux, nó được thiết kế chủ yếu dành cho các thiết bị số sử dụng màn hình cảm ứng như điện thoại thông minh và máy tính bảng(và hiện nay là cả một số đầu phát HD). Android đang được phát triển bởi công ty Google cùng với liên minh thiết bị cầm tay mở rộng (viết tắt OHA). Ban đầu Android được phát triển bởi công ty liên hợp android, được google hỗ trợ tài chính và mua lại vào năm 2005. Android được công bố trong năm 2007 cùng với sự thành lập của liên minh thiết bị cầm tay mở rộng(OHA), một liên đoàn bao gồm 86 thành viên là các công ty hoạt động trong các mảng phần cứng, phần mềm, viễn thông dành cho việc thúc đẩy các tiêu chuẩn mở cho các thiết bị di động. 1.6.2. Các phiên bản HĐH Android Từ năm 2008, HDH Android đã được cập nhật rất nhiều và đã từng bước cải tiến hệ thống điều hành, bổ sung thêm các tính năng mới và sửa chữa các lỗi trong phiên bản trước. Mỗi bản phát hành chính được đặt tên theo thứ tự chữ cái sau một món tráng miệng hoặc thức ăn có đường. Phiên bản Tên mã Ngày phát hành 1.6 Donut 15/9/2009 2.0–2.1 Eclair 26/10/2009 2.2 Froyo 20/5/2010 2.3.3–2.3.7 Gingerbread 9/2/2010 2.3–2.3.2 Gingerbread 6/12/2010 3.1 Honeycomb 10/5/2011 3.2 Honeycomb 15/7/2011 4.0.x Ice Cream Sandwich 16/12/2011 4.1.x Jelly Bean 9/7/2012 4.2.x Jelly Bean 13/11/2012 4.3 Jelly Bean 25/7/2013 4.4 KitKat 10/2013 1.6.3. Các thành phần của ứng dụng Android Activity: là lớp thể hiện ứng dụng. Mỗi màn hình trong ứng dụng là một mở rộng của lớp Activity. Các Activity sử dụng các View tạo thành giao diện đồ họa tương tác người dùng để thể hiện thông tin và phản hồi hành động của người dùng. Service: là thành phần chạy ẩn, cập nhật nguồn dữ liệu và thể hiện các Activity, kích hoạt các Notification. Các Service thường thực hiện các xử lí thông thường như tiếp tục Activity sau khi các Activity này không hoạt động hoặc hiển thị. Trần Quốc Nhật Trung - 12TLT.CNTT Trang 10 [...]... 12TLT.CNTT Trang 17 Game cờ Caro qua mạng trên Android Hình 2.9: Thuật toán thread gửi dữ liệu Trần Quốc Nhật Trung - 12TLT.CNTT Trang 18 Game cờ Caro qua mạng trên Android 2.4.3 Thread nhận dữ liệu 2.5 2.5.1 Giao diện chương trình Chương trình Server Hình 3.1: Giao diện chương trình Server Trần Quốc Nhật Trung - 12TLT.CNTT Trang 19 Game cờ Caro qua mạng trên Android 2.5.2 Chương trình Client Giao diện... Client 2.3.4 Một số thuật toán chương trình chức năng  Chương trình đăng nhập Hình 2.4: Thuật toán đăng nhập  Chương trình đăng xuất Trần Quốc Nhật Trung - 12TLT.CNTT Trang 15 Game cờ Caro qua mạng trên Android Hình 2.5: Thuật toán Đăng xuất 2.4 Xây dựng chương trình Client 2.4.1 Xây dựng bàn cờ  Cấu trúc bàn cờ: bàn cờ có tất cả 100 ô được chia thành 9 dòng, 9 cột và được đánh số từ 0-99 như hình vẽ... công Trần Quốc Nhật Trung - 12TLT.CNTT Trang 20 Game cờ Caro qua mạng trên Android  Giao diện đợi người chơi chấp nhận lời mời Hình 3.4: Giao diện mời người chơi  Giao diện thông báo lời mời Hình 3 5: Giao diện thông báo lời mời Trần Quốc Nhật Trung - 12TLT.CNTT Trang 21 Game cờ Caro qua mạng trên Android  Giao diện chơi game Hình 3.6: Giao diện chơi game  Giao diện trò chuyện Hình 3.7: Giao diện... 12TLT.CNTT Trang 12 Game cờ Caro qua mạng trên Android 2.3 2.3.1 Xây dựng chương trình Server Tổ chức quản lý Client Khi một Client yêu cầu kết nối đến Server bằng cách khai báo một tên đăng nhập, nếu được chấp nhận Server sẽ lưu thông tin của Client để phục vụ liên lạc với Client này Hình 2.1: Cấu trúc danh sách Client 2.3.2 Tổng quát chương trình Server Hình 2.2: Thuật toán chương trình Server Hành... tiếp với nhau 2.1.2 Chương trình Client Đăng nhập: Người chơi sẽ cung cấp một tên đăng nhập và yêu cầu đăng nhập vào hệ thống Đăng xuất: Người chơi gửi yêu cầu để được đăng xuất khỏi hệ thống Chơi game: Người dùng sẽ chọn một trong số người chơi này để yêu cầu bắt đầu game, nếu người chơi đồng ý một ván đấu sẽ bắt đầu và chỉ kết thúc khi có một người thắng cuộc hoặc một trong hai người chơi xin thua Trần... tương tác được nhúng ngay trên màn hình chính Notification: là thành phần thông báo cho người dùng Hộp thoại thông báo cho người dùng mà không gián đoạn các Activity hiện thời Đây là kĩ thuật thông báo cho người dùng trong một Service hay một Broadcast Receiver CHƯƠNG 2: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH 2.1 2.1.1 Các chức năng chính Chương trình Server Đăng nhập: Chương trình Server sẽ nhận một tên... 12TLT.CNTT Trang 22 Game cờ Caro qua mạng trên Android CHƯƠNG 3: KẾT LUẬN VÀ ĐÁNH GIÁ 3.1 Kết quả đạt được  Hiểu và xây dựng được ứng dụng mạng cho phép truyền dữ liệu giữa các thiết bị người dùng theo mô hình Client – Server sử dụng giao thức TCP/IP  Cở bản hoàn thành các chức năng cho phép hai người dùng thi đấu cở Caro qua mạng 3.2 Tồn tại chưa giải quyết  Do kỹ thuật lập trình còn hạn chế, chưa... dùng gửi đến và kiểm tra nếu tên đăng nhập này đã được sử dụng chương trình Server sẽ thông báo cho người dùng chọn một tên đăng nhập khác, ngược lại cho phép người chơi đăng nhập vào hệ thống Đăng xuất: khi một người chơi gửi yêu cầu đăng xuất chương trình Server sẽ xóa các thông tin người chơi khỏi hệ thống Chuyển tiếp dữ liệu: Chương trình Server sẽ nhận dữ liệu từ Client này và chuyển tiếp dữ liệu... this.socComing = soc; } Public void run(){ } } New ClientThread(socket).start(); Trần Quốc Nhật Trung - 12TLT.CNTT Trang 13 Game cờ Caro qua mạng trên Android 2.3.3 Thread giao tiếp với Client Hình 2 3: Thuật toán giao tiếp với Client Trần Quốc Nhật Trung - 12TLT.CNTT Trang 14 Game cờ Caro qua mạng trên Android Hành động Lắng nghe Đọc dữ liệu Mã lệnh InputStreamReader inStream = new InputStreamReader(socComing.getInputStream());... trong hai người chơi xin thua Trần Quốc Nhật Trung - 12TLT.CNTT Trang 11 Game cờ Caro qua mạng trên Android Trò chuyện: Trong lúc một ván đấu đang diễn ra hai người người chơi có thể gửi tin nhắn cho nhau 2.2 Thread trong ứng dụng Thread là đơn vị nhỏ nhất của tiến trình được định thời bởi hệ điều hành và được bao hàm trong các tiến trình thực thi của máy tính Mỗi một thread có một callstack cho các phương . Trung - 12TLT.CNTT Trang 13 Game cờ Caro qua mạng trên Android 2.3.3. Thread giao tiếp với Client Hình 2. 3: Thuật toán giao tiếp với Client Trần Quốc Nhật Trung - 12TLT.CNTT Trang 14 Game cờ Caro. liệu Trần Quốc Nhật Trung - 12TLT.CNTT Trang 17 Game cờ Caro qua mạng trên Android Hình 2.9: Thuật toán thread gửi dữ liệu Trần Quốc Nhật Trung - 12TLT.CNTT Trang 18 Game cờ Caro qua mạng trên Android 2.4.3 4 Game cờ Caro qua mạng trên Android CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1. Giới thiệu trò chơi cờ Caro 1.1.1. Lịch sử nguồn gốc Cờ caro chính là môn cờ logic lâu đời và cổ xưa nhất trên Trái Đất. Cờ caro

Ngày đăng: 07/06/2014, 16:19

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • DANH MỤC HÌNH VẼ

  • TỔNG QUAN ĐỀ TÀI

  • CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

    • 1.1. Giới thiệu trò chơi cờ Caro

      • 1.1.1. Lịch sử nguồn gốc

      • 1.1.2. Luật chơi cờ Caro

      • 1.2. Tổng quan về mạng máy tính

        • 1.2.1. Khái niệm mạng máy tính

        • 1.2.2. Các mô hình phân tầng mạng

        • 1.3. Mô hình Client – Server

          • 1.3.1. Nguyên lý hoạt động

          • 1.3.2. Ưu điểm nhược điểm mô hình Client – Server

          • 1.4. Giao thức TCP/IP

          • 1.5. Khái niệm Socket

          • 1.6. Giới thiệu hệ điều hành Android

            • 1.6.1. Android là gì ?

            • 1.6.2. Các phiên bản HĐH Android

            • 1.6.3. Các thành phần của ứng dụng Android

            • CHƯƠNG 2: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH

              • 2.1. Các chức năng chính

                • 2.1.1. Chương trình Server

                • 2.1.2. Chương trình Client

                • 2.2. Thread trong ứng dụng

                • Thread là đơn vị nhỏ nhất của tiến trình được định thời bởi hệ điều hành và được bao hàm trong các tiến trình thực thi của máy tính. Mỗi một thread có một callstack cho các phương thức, đối số và biến cục bộ của thread đó.

                • Khai báo và khởi động Thread

                • 2.3. Xây dựng chương trình Server

                  • 2.3.1. Tổ chức quản lý Client

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

Tài liệu liên quan