1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án chuyên ngành xây dựng trò chơi cờ tướng

54 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Xây Dựng Trò Chơi Cờ Tướng
Tác giả Bùi Quốc Dũng, Bùi Phúc Thịnh
Người hướng dẫn ThS. Đoàn Minh Khuê
Trường học Trường Đại Học Đà Lạt
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án chuyên ngành
Thành phố Đà Lạt
Định dạng
Số trang 54
Dung lượng 5,24 MB

Nội dung

Muc dich nghién cuu Trong bài tiêu luận này, chúng ta sẽ nghiên cứu cách thiết kê và xây dựng trò chơi cờ tướng dựa trên nền tảng Java thông qua thư viện JavaFX nhằm tạo giao điện cho t

Trang 1

TRUONG DAI HOC DA LAT KHOA CONG NGHE THONG TIN

Trang 2

CHƯƠNG 1 TỔNG QUAN NGHIÊN CỨU

1 Tổng quan về tình hình nghiên cứu

3.2 JaVaFX ch nh nh nn nh nhe nhe He Ho kh kh khe 8

4.1 Giải thuật minimax cece eee eeeeeeeee errr 9

4.2 Cắt tỉa Alpha-Beta Lee 10

CHUONG 2 GiAO DIEN UNG DUNG

1.1 Tạo bàn cờ thông qua vòng lặp 26

1.2 Quy định cách di chuyển của các quân cờ 26

1.3 Kết thúc ván cờ - ch nh se 29

2 Trang chơi với máy

29

Trang 3

3 Trang choi online

Trong suốt quá trình học tập và hoàn thành đồ án này, nhóm chúng em đã nhận được

rất nhiều sự hướng dẫn tận tình quý báu của thay cô, của anh chị cùng khoa Với lòng

biết ơn sâu sắc, nhóm em xin được bảy tỏ lời cảm ơn đên:

Ban piám hiệu trường Đại Học Đà Lạt, khoa Công Nghệ Thông Tin đã tạo điều kiện

dé nhóm em hoàn thành được đồ án chuyên nganh cua minh

Đặc biệt, nhóm chúng em xin gửi lời cảm ơn chân thành đến người thầy Đoàn Minh

Khuê đã hướng dẫn, siúp đỡ, động viên và tạo mọi điều kiện để nhóm chúng em hoàn

thành tốt được đồ án chuyên ngành này Cảm ơn các anh chị khóa trên đã hỗ trợ, giúp

đỡ nhóm chúng em trong quá trình thực hiện đồ án chuyên ngành

Tuy nhiên trong quá trình làm đồ án, do kiến thức nhóm chúng em vẫn còn nhiều hạn

chế nên không thê tránh khỏi thiếu sót khi trình bài và đánh giá vấn đề Nhóm chúng

em rất mong nhận được sự góp ý, đánh giá của thầy cô để đồ án chuyên ngành của

nhóm sẽ thêm phân hoàn thiện hơn

Kính chúc thầy cô sức khỏe, thành công trong con đường sự nghiệp

Sinh viên

Trang 4

Bùi Quốc Dũng

Bùi Phúc Thịnh

Trang 5

MO DAU

1 Muc dich nghién cuu

Trong bài tiêu luận này, chúng ta sẽ nghiên cứu cách thiết kê và xây dựng trò

chơi cờ tướng dựa trên nền tảng Java thông qua thư viện JavaFX nhằm tạo giao điện

cho trò chơi, cách lập trình các hướng đi của quân cờ, các tính năng bao gồm hai

người chơi, chơi với máy đơn, chơi trực tuyến Từ đó có thê giúp nắm vững về xây

dựng giao diện trone JavaEX, cách triển khai các thuật toán quy định cách di chuyên

của từng quân cờ, nghiên cứu và triển khai hệ thống trí tuệ nhân tạo để chơi cờ tướng,

quản lý dự án trong Java

2 Mục tiêu

Tìm hiểu được ngôn ngữ lập trình hướng đối tượng Java và thư viện JavaFX

Tìm hiểu được cách xây dựng giao diện ứng dụng và lập trình cho các chức năng của

trò chơi thông qua ngôn ngữ Java Tìm hiểu về cơ sở dữ liệu My§QL Nắm kiến thức

về lập trình, tìm hiểu được cách vận dụng API, Component có sẵn

3 Các chức năng dự kiến

- Hiển thị các quân cờ và bản cờ trực quan, sinh động

- Dễ dàng theo dõi vị trí và quy tắc di chuyên của các quân cờ

- Hién thị thông báo chiến thắng, thua cuộc hoặc hòa

- Chơi cờ tướng với 2 người chơi, chơi với máy đơn, chơi trực tuyến

- Bảng xếp hạng trong chế độ chơi trực tuyến

- Lưu lại vị trí bàn cờ trong chế độ 2 người chơi để tiếp tục sau này

4 Đối tượng hướng đến

Những người chơi bộ môn cờ tướng muôn chơi với bạn bè, máy tính và trực

tuyến

Cộng đồng chơi cờ tướng trực tuyến, nơi có thể giao lưu và bảng xếp hạng

Trang 6

Những người muốn học cách lập trình bằng ngôn ngữ Java va thu vién JavaFX,

nghiên cứu và phát triển trí tuệ nhân tạo

5 Phương pháp thực hiện

- Tìm hiểu và học cách lập trình bằng ngôn ngữ Java, thư viện JavaFX

- Tìm hiểu và học cách lập trình trí tuệ nhân tạo

- Thiết kế cơ sở dữ liệu với MySQL

- Thiết kế trò chơi

- Vận dụng Component và API có san tir Java

- Triên khai và kiêm thử

Trang 7

CHUONG 1 TONG QUAN NGHIEN CUU

1 Tổng quan về tình hình nghiên cứu

Trong nghiên cứu này xây dựng một giao diện game về cờ tướng thông qua

ngôn noữ JavaFX Việc xây dựng một game giúp cho người dùng có thê giải trí thông

qua việc khám phá các thế cờ, chơi cùng máy tính và có thể chơi cùng với người khác

thông qua Internet đã được phát triển nhiều trong thời thế hiện nay

2 Tổng quan về Cờ tướng

Cờ tướng là một trò chơi trí tuệ truyền thống bắt nguồn từ Trung Quốc Trò

chơi này được chơi rộng rãi trong nhiều quốc gia Châu Á và có nhiều biến thể khác

nhau Về bàn cờ trong cờ tướng được chơi trên bản cờ hình vuông với kích thước

9x10, bàn cờ sẽ được chia làm hai phần bằng nhau với ở giữa là một phần trống hay

còn gọi là “Sông” Môi đội có 16 quân cờ, bao g6m tướng, sỹ, tượng, mã, xe và tốt

- Quân Tướng: Đây là quân quan trọng nhất khi một trong hai người chơi bắt

được Tướng, trò chơi sẽ kết thúc với chiến thắng thuộc về người bắt được Tướng chỉ

di chuyên 1 bước theo đường ngang hoặc dọc trong phạm vi 6 2x2

Trang 8

Hình 2 Khu vực giới hạn của quân Tướng

- Quân Sỹ: Di chuyên một bước theo đường chéo trong phạm vi ô giới hạn của

- Quân Xe: Di chuyển theo đường ngang hoặc đọc theo nhiều ô nhưng không

thê nhảy qua quân cờ

- Quân Pháo: Di chuyên như quân Xe tuy nhiên có thể bắt quân cờ địch bang

cách nhảy qua một quân cờ bắt kỳ

- Quân Tốt: Di chuyên một bước theo đường dọc, khi di qua “Sông” có thé di

ngang

Trò chơi có thê kết thúc Hòa nêu hai người chơi chỉ còn lại Tướng và không có

cách nào đề chiêu tướng

3 Tổng quan về Java

Java là một ngôn ngữ lập trình phô biến được thiết kế dùng cho việc phát triển

ứng dụng chạy trên nhiều nên tảng khác nhau Java hỗ trợ lập trình đa nhiệm thông

qua việc sử dụng luồng (thread), đồng thời Java là ngôn ngữ lập trình hướng đối tượng

thúc đây sử dụng OPP với cú pháp rõ ràng, dễ đọc và dễ bảo trì Với hệ sinh thái

framework réng lon nhu Spring, Java FX giup ngwoi dung linh hoạt trong việc lựa

chon

Trang 9

<=_

Java

Hinh 3 Java

Đề có thể thuận tiện cho lập trình, xây dựng ứng dụng việc cài đặt JDK (Java

Development Kít) cung cấp môi trường phát triển ứng dụng nhằm hỗ trợ cho việc

cung cấp các thư viện, các framework phát triển ứng dụng đồ họa và giao diện người

dùng như JavaFX

3.1 HashMap

HashMap là một trong nhiều cách để tô chức đữ liệu trong chương trình Thông

qua thuat toan Hashing, đối tượng sẽ trả về một giá trị đại diện nào đó nhằm lưu trữ

giá trị khi cần thiết

- Su dung ham bam (hash function): HashMap su dung mot ham bam (hash

function) dé gán khóa (key) với một chỉ số trong một mảng (array) Điều này cho phép

tìm kiếm các giá trị nhanh chóng dựa trên key

-Cặp key-value: Mỗi phần tử trong HashMap được lưu trữ đưới dạng một cặp

key-value Các khóa (key) được sử dụng để truy xuất giá tri trong tng

-Cho phép giá trị trùng lặp: HashMap cho phép giá trị trùng lặp, nhưng

không cho phép key trùng lặp Trường hợp xuất hiện key trùng lặp, giá trị trước đó có

key sẽ bị phi đè

-Cho phép null: HashMap cho phép sử dụng key và value null Điều nảy có

nehĩa là có thể lưu trữ một giá trị null bằng key null và ngược lại

-Không thứ tự: Các phần tử trone HashMap không được sắp xếp theo bất kỳ

thứ tự nào mà có thể thay đổi khi thêm hoặc xóa Nếu bạn muốn s1ữ thứ tự chèn, có

thé str dung LinkedHashMap

Trang 10

- Không đồng bộ: HashMap không đồng bộ, tức là nó không an toàn cho môi trường đa luồng Nếu bạn cần sử dụng HashMap trong môi trường đa luỗng, có thể sử dụng ConcurrentHashMap

- Tự động điều chỉnh kích thước: Khi số lượng phần tử trong HashMap vượt quá ngưỡng tải trọng (load factor) của nó, HashMap sẽ tự động điều chỉnh kích thước

Jo |+ |2 |3 4 [5 le |7 |s [9 [10] 41] 12] 13

115 118 {“sachin”} {‘vishal”}

JavaFX là một thư viện sử dụng trong ngôn ngữ lập trình Java, bao gồm các

201 dé hoa, công cụ hé tro đề tạo, kiếm tra và triển khai ứng dụng trên nhiều loại thiết

bị JavaFX ra đời nhằm mục đích phát triển ứng đụng như một khung giao diện đỗ họa người dùng JavaFX có dung lượng nhẹ, tốc độ phần cứng được gia tăng

JavaFX cung cấp bộ API đa dạng để phát triển giao diện đồ họa người như:

- javafx.base: Gồm các lớp cơ bản đề xây dựng ứng dụng

- javafx.controls: Chứa các thành phần điều khiến giao điện người dùng như nút,

- javafx.fxml: chứa các lớp làm việc với ngôn ngữ đánh dấu FXML năng cấp GUI

Trang 11

- javafx.graphics: Chứa các lớp và gói về đồ họa

- Javafx.media: Chứa các lớp làm việc với âm thành và video

- javafx.swing: Tich hop JavaFX va thu vién Swing

- javafx.web: Tich hợp trình duyệt web vào ứng dụng JavaFX

4 Tổng quan về trí tuệ nhân tạo AI

4.1 Giải thuật minimax

Thuật toán minimax là một thuật toán đánh giá giá trị của các Node trong Game Tree nhằm tìm ra nước đi tối ưu nhất Thuật toán nảy được sử dụng rộng rãi trong trò chơi có hai người như TIc- Tac-Toe, cờ tướng, cờ vua

Thuật toán minimax duyệt qua cây trò chơi và đánh giá giá trị của các nút Mỗi nút lá đại diện cho việc kết thúc trò chơi, gia tri cua nut được tính bang viéc xem al thang hoặc thua Thuật toán minimax thường vận dụng vảo trò chơi có hai người chơi, hữu hạn số lượng nước đi và không có yếu tố ngẫu nhiên như cờ tướng Thuật toán

minimax thường dùng để giải quyết các trò chơi nhằm tìm ra con đường tôi ưu nhất

Thuật toán minimax có nhược điểm là thời gian tính toán và do số lượng nước đi nhiều như cờ tướng số lượng nút có thê tăng lớn dẫn đến không gian lưu trữ phát triển nhanh chóng Thuật toán minimax có thể sử dụng các kỹ thuật để giảm bớt số lượng nút trong cây trò chơi nhằm giảm số lượng nút và tối ưu thời gian tính toán như kỹ thuật cắt tỉa Alpha-Beta

Hình 5 Mô tả v`êthuật toán minimax qua trò Tic Tac Toe

Trang 12

4.2 Cat tia Alpha-Beta

Thuật toán Alpha-Beta là một thuật toán tìm kiếm nang cao cua minimax, lam giảm số lượng các node của cây trong cây trò chơi bằng cách giảm số lượng các nút thuật toán sẽ nhanh chóng đưa ra kết quả Trong đó Alpha là lựa chọn tốt nhất của bat

kỳ điểm nào trên Max, Beta là lựa chọn tốt nhất của bất kì điểm nào trên Min

Trang 13

CHUONG 2 GiAO DIEN UNG DUNG

1 Trang chinh cua chuong trinh

- Câu lệnh gọi thư viện JavaFX để sử dụng trong mã nguồn:

import Piece.*; //Tai hinh falnh cho giao diện trò

import javafx.scene.layout.Pane; /Lớp chứa đối

tượng và giao diện

import javafx.scene.image.Image; Lop làm việc

import javax.swing.JFrame; //Lớp JFrame

import controllers.main.*; //Lớp đi`§ khi đaị

Khi người dùng thực hiện việc truy cập vào trò choi, giao dién được hiển thị ở

hình Trang được hiển thị với hình nền trực quan dễ nhìn đồng thời hiến thị 4 nút với

các chức năng khác nhau Môi nút có chức năng như sau:

- Start: Tạo màn chơi mới hai người

Trang 14

- Load: Thực hiện việc quay lại màn chơi cũ với màn chơi hai người

- Quit: Thực hiện chức năng thoát khỏi chương trình

- PVE: Thực hiện chức năng tạo màn chơi mới với máy

Mã nguồn tạo giao diện nút trong trang chính của trò chơi như sau:

// Phương thức tạo nút với hình ảnh đặt trưng

public Button createButton(String image_location) {

return new Button("", createImageView(image_location, false));

//Phương thức thiết lập giao diện người dùng cho màn hình chính

public void setupStartMenu(Stage primaryStage) {

ImageView background = createImageView("/Images/main_menu.png", true);

pve_button.setOnMouseClicked(e -> { }):

Button pvp_button = createButton("/Images/pvp.png");

pvp_button.setOnMouseClicked(e -> { });

Trang 15

createButton("/Images/load.png");

load_button.setOnMouseClicked(e -> { });

Button quit_button = createButton("/Images/quit.pne");

quit_button.setOnMouseClicked(e -> { System.exit(0); });

Pane pane = new Pane();

pane getChildren().addAll(background,

start_button, load_button, quit_button,

pve_button,pvp_button);

start_button.relocate(300 * RATIO, 720 * RATIO);

pve_button.relocate(800 * RATIO, 890 * RATIO);

pvp_button.relocate(1200 * RATIO, 890 * RATIO);

load_button.relocate(800 * RATIO, 720 * RATIO);

quit_button.relocate(1300 * RATIO, 720 * RATIO);

start_screen = new Scene(pane);

start_screen.getStylesheets().add("/css/start_menu.css");

primaryStage.setScene(start_screen);}}

Trang 16

+9 |

Hình 6 Trang chủ của trò chơi

2 Trang chơi với máy tính

Sau khi người nhấp vào button “PVE” giao diện chơi với máy được khởi động, trang chơi với máy được hiến thị ở góc trên bên trái của màn hình Ở đây người chơi được hiển thị với quân đỏ là quân của bản thân Máy tính được mặc định là quân đen

ở phía đối diện Người chơi có thể thực hiện việc quay lại nước đi của bản thân bằng nút “BackSpace” Khi người chơi thực hiện xong nước ổi của bản thân, máy tính sẽ thực hiện tính toán các trường hợp bằng cách tính các nước đi có thể kết thúc ván cờ

mà máy thăng nhanh nhất

Khi trò chơi kết thúc, giao diện hiển thị thông báo “Bạn thắng” hoặc “Máy thắng” Sau đây là mã nguồn ví dụ về việc xây đựng cơ chế của trang chơi với máy tính:

public static void main(String[] args){

//Tao déi tượng chứa trò chơi

final JFrame mainFrame = new JFrame("Chinese

Chess");

Trang 17

//Tạo đối tượng quản ly trang thai game va giao dién ban co final MainUI gameboard = new MainUIQ;

// Phương thức khi người dùng nhấp chuột trái

public void mousePressed(MouseEvent e) {

// Kiém tra xem hiện có phải lượt của người dùng không

if(gameboard.gameS tate getCurrSide()!

Trang 18

Point p = gameboard.posOnGrid(e.getPoint());

// Néu ngwoi ding dang chon quan co thi kiém tra xem nuéc di co hop

lệ không

if(gameboard.waitForSelection){

// Doi ngwoi dung chon quân cờ

if(gameboard.gameState.is ValidSelection((int) p.getYQ,

(int) gameboard.selectedPos.getX(), (int)

p.getY(), (int) p.getX())){

/⁄/ Thực hiện nước đi

Trang 19

gameboard.gameState.makeMove((int)

gameboard.selectedPos.getY (),

(int) gameboard.selectedPos.getX(),

(int) p.getY(), (int)p.getX());

/Lưu lại thông tin quân cờ di chuyên của người dùng System.out.printIn("player move =

// Néu may thang thi in thong bao

elseif(over==gameboard.gameState MIN_PLAYER) message

Trang 20

int input = JOptionPane.show OptionDialog(mainFrame,

message ,"Message" JOptionPane.OK_OPTION JOptionPane.INFOR

MATION_MESSAGE., null null null);

gameboard.gameState.isGameOver();

// Kiém tra xem ván cờ đã kết thúc chưa if(over!=-1){

Trang 21

gameboard.repaint();}

@Override // Tao ban sao của trạng thái các quân cờ và thực hiện thuật toán tính toán nước

gameState.setS tate(gameboard.gameS tate getGameState());

gameState.setCurrSide(gameboard gameS tate getCurrSide());

GameTree agent = new GameTree(gameState, gameboard.SEARCH_TIME);

‘ido work

long start = System.currentTimeMillis(); /⁄

Bắt đầu tính toán nước đi của AI

Move nextBestMove = agent.nextMove(); // Goi

thuật toán tính toán

long end = System.currentTimeMillis();//Két thúc tính toán nước di

Trang 22

System.out.println("ai move =

"+(end-start)/1000.0+" s"); // Xuất thông tin nước đi

public void keyPressed(KeyEvent e) {

// nêu người dùng nhắn nut “Backspace

if(e.getKeyCodeQ==KeyEvent VK_BACK_SPACE){

System.out.println("revert move");

Trang 23

gameboard.gameState.revertOneMove();// Quay về nước đi

trước đó của người dùng

if(gameboard.gameS tate getCurrSide()!

mainFrame.add(gameboard); // Thêm bàn cờ vào cửa sô

mainFrame.setVisible(true); // Hiền thị cửa số trò chơi

}

Trang 24

Hinh 7 Giao dién choi voi may

3 Trang 2 người chơi

Câu lệnh gọi thư viện JavaFX để sử dụng trong chương trình:

import Piece.*;

import javafx.scene.image.Image;

Trang 25

import java.util ArrayList;

Sau khi người chơi thực hiện nhấp vao button “Start”, giao dign trò chơi sẽ chuyên sang giao dién co tuéng với hai n8ười

Tại đây ta tạo phuong thire Board dé hién thị được giao diện trò chơi, trong day

ta sẽ khởi tạo hình ảnh bàn cờ hiển thị đè lên trên các ô cờ trong bản cờ (được nói đến tại chương 3 mục l1) nhằm tạo giao dién tre quan

public ImageView createImageView(String

image_location, boolean background) {

// Goi hinh ảnh từ đường dẫn

Image image = new Image(image_location);

/ Tạo đối tượng chứa hình ảnh ImageView image_view = new ImageView(image);

Trang 26

// Néu là hình nền thì thiết lập chiều rộng của hình ảnh

if (background) { image_view.setFitWidth(1920 * RATIO);

// Néu khéng phai la hình nền thì thiết lập tý lệ hình ảnh gốc nhân với tỷ

lệ RATIO

} else { Image_ view.setFIWIidthqmage.getWidthQ * RATIO);

t // Thiét lap thuộc tính tý lệ khung hình

Trong đoạn mã mô tả trên ta sử dụng đặc điểm của JavaFX để hiển thị hình ảnh một

cách chính xác và hiệu quả hơn vì trong giao diện phải sử dụng nhiều hình ảnh hiển

thị khác ngoài ảnh bản cờ như hình ảnh quân cờ Tận dụng “setPreserveRatio”,

“setSmooth” và “setCache” ta đảm bảo được hình ảnh bàn cờ không bị thay đôi đồng

thoi giup xu ly hình ảnh hiệu quả và mượt mà hơn, không bị thay đổi khi cài đặt các

hình ảnh khác

Trang 27

Hinh 8 Giao dién ban co 2 người chơi Trong đó người chơi sẽ tự quy định ai sẽ là quân đỏ đồng nghĩa với việc di trước Trong trò chơi cũng sẽ hiển thị thông báo đề giúp người chơi nắm bắt được hiện tại đang đến lượt quân mảu nào Trong đoạn mã sau đây sẽ xây dựng cách thức chuyên đổi giữa hai lượt chơi:

Ngày đăng: 13/01/2025, 13:58

HÌNH ẢNH LIÊN QUAN

Hình  1.  Cở  tướng - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 1. Cở tướng (Trang 7)
Hình  2.  Khu  vực  giới  hạn  của  quân  Tướng - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 2. Khu vực giới hạn của quân Tướng (Trang 8)
Hình  5.  Mô  tả  v`êthuật  toán  minimax  qua  trò  Tic  Tac  Toe - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 5. Mô tả v`êthuật toán minimax qua trò Tic Tac Toe (Trang 11)
Hình  6.  Trang  chủ  của  trò  chơi - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 6. Trang chủ của trò chơi (Trang 16)
Hình  9.  Hiển  thị  lượt  của  quân  đỏ - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 9. Hiển thị lượt của quân đỏ (Trang 28)
Hình  10.  Hiển  thị  lượt  của  quân  đen - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 10. Hiển thị lượt của quân đen (Trang 28)
Hình  11.  Hiển  thị  quân  bị  bất - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 11. Hiển thị quân bị bất (Trang 29)
Hình  12.  Nút  lưu  lại  thế  cở - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 12. Nút lưu lại thế cở (Trang 30)
Hình  14.  Giao  diện  tổng  quát  chế  độ  2  người  chơi - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 14. Giao diện tổng quát chế độ 2 người chơi (Trang 30)
Hình  13.  Nút  thoát  khỏi  chế  độ  2  người  chơi  Giao  diện  tông  quát  của  trang  nói  trên  được  thê  hiện  trong  hình  sau: - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 13. Nút thoát khỏi chế độ 2 người chơi Giao diện tông quát của trang nói trên được thê hiện trong hình sau: (Trang 30)
Hình  15.  Giao  diện  chế  độ  PVP  Sau  khi  đăng  nhập  người  dùng  sẽ  thấy  danh  sách  các  người  chơi  đang  online - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 15. Giao diện chế độ PVP Sau khi đăng nhập người dùng sẽ thấy danh sách các người chơi đang online (Trang 31)
Hình  14.  Giao  diện  hai  phía  ngươi  chơi  (chế  độ  PVP) - Đồ án chuyên ngành xây dựng trò chơi cờ tướng
nh 14. Giao diện hai phía ngươi chơi (chế độ PVP) (Trang 32)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN