Tải bản đầy đủ (.docx) (30 trang)

Báo cáo đồ án cơ sở ngành mạng nguyên lý hệ điều hành tìm hiểu cơ chế điều khiển chuột xây dựng ứng dụng tự động xử lý chuột lập trình mạng xây dựng trò chơi vẽ hình đoán chữ online

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 (436.84 KB, 30 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

ĐỒ ÁN CƠ SỞ NGÀNH MẠNG
ĐỀ TÀI:
Nguyên lý hệ điều hành: Tìm hiểu cơ chế điều khiển chuột.

Xây dựng ứng dụng tự động xử lý chuột.
Lập trình mạng: Xây dựng trị chơi vẽ hình đốn chữ
online.


MỤC LỤC

MỞ ĐẦU..................................................................................................................1
PHẦN I: NGUYÊN LÝ HỆ ĐIỀU HÀNH.............................................................2
TIÊU ĐỀ: TÌM HIỂU CƠ CHẾ ĐIỀU KHIỂN CHUỘT. XÂY DỰNG ỨNG
DỤNG TỰ ĐỘNG XỬ LÝ CHUỘT.......................................................................2
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.................................................................2
1. Windows Messages và Message queues.......................................................2
2. Hook............................................................................................................... 4
3. SendInput......................................................................................................5
CHƯƠNG 2:

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG.............................6

1. Phát biểu bài toán.........................................................................................6


2. Các chức năng...............................................................................................6
3. Các luồng dữ liệu..........................................................................................7
4. Thiết kế chương trình...................................................................................7
CHƯƠNG 3:

TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ............................10

1. Triển khai....................................................................................................10
2. Demo............................................................................................................10
3. Đánh giá kết quả.........................................................................................12
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.........................................................13
1. Kết luận.....................................................................................................13
2. Hướng phát triển......................................................................................13
PHẦN II: LẬP TRÌNH MẠNG............................................................................14
TIÊU ĐỀ: XÂY DỰNG TRỊ CHƠI VẼ HÌNH ĐỐN TỪ ONLINE..............14
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT...............................................................14
1. TCP/IP.........................................................................................................14
2. Mơ hình Client-Server................................................................................14
CHƯƠNG 2:

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG...........................15

1. Phát biểu bài toán.......................................................................................15
2. Các chức năng.............................................................................................15
2


3. Thiết kế chương trình.................................................................................16
CHƯƠNG 3:


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ............................19

1. Triển khai....................................................................................................19
2. Demo client..................................................................................................19
3. Đánh giá kết quả.........................................................................................21
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.........................................................23
1. Kết luận.......................................................................................................23
2. Hướng phát triển........................................................................................23
TÀI LIỆU THAM KHẢO.....................................................................................24
PHỤ LỤC............................................................................................................... 25
1. Mã nguồn.....................................................................................................25

3


DANH SÁCH HÌNH ẢNH

Hình 1. Sơ đồ luồng dữ liệu của ứng dụng điều khiển chuột....................................7
Hình 2. Sơ đồ thuật tốn của ứng dụng điều khiển chuột.........................................8
Hình 3. Demo giao diện chính điều khiển chuột.....................................................10
Hình 4. Giao diện ghi lịch sử..................................................................................11
Hình 5. File được tạo..............................................................................................11
Hình 6. Giao diện phát lại.......................................................................................11
Hình 7. Sơ đồ thuật tốn trị chơi............................................................................17
Hình 8. Giao diện đăng nhập..................................................................................19
Hình 9. Giao diện chính..........................................................................................20
Hình 10. Giao diện chờ chọn từ..............................................................................20
Hình 11. Giao diện người đốn...............................................................................21
Hình 12. Giao diện người vẽ..................................................................................21


4


DANH SÁCH TỪ VIẾT TẮT

Từ viết tắt

Diễn giải

IP

Internet Protocol

TCP/IP

Transmission Control Protocol/Internet Protocol

5


MỞ ĐẦU
1. Tổng quan về đề tài
Internet đang ngày càng phát triển và được sử dụng trong rất nhiều trong nhiều
lĩnh vực của đời sống hiện nay. Đối với một sinh viên công nghệ thông tin, học và
thực hành áp dụng internet nói chung và lập trình mạng nói riêng là một phần không
thể thiếu. Do vậy, đồ án cơ sở ngành mạng là một cơ hội cho sinh viên có thể áp
dụng những kiến thức lập trình mạng đã học để giải quyết các bài toán. Đồ án cũng
giúp sinh viên củng cố lại kiến thức nguyên lý hệ điều hành đã học.
Trong khuôn khổ đồ án, dưới sự hướng dẫn của thầy Nguyễn Tấn Khôi, giảng
viên khoa Công nghệ thông tin, Trường Đại học Bách khoa – Đại học Đà Nẵng, em

đã nghiên cứu, tìm hiểu và thực hiện hai đề tài “Tìm hiểu cơ chế điều khiển chuột.
Xây dựng ứng dụng tự động xử lý chuột” cho phần Nguyên lý hệ điều hành và đề
tài “Xây dựng trị chơi vẽ hình đốn chữ online.” cho phần Lập trình mạng.
Do thời gian và kiến thức của em cịn hạn chế nên khơng tránh khỏi những sai
sót nhất định trong quá trình thực hiện đồ án. Xin cảm ơn sự hỗ trợ từ thầy Nguyễn
Tấn Khôi và rất mong nhận được sự góp ý từ q thầy cơ.
2. Bố cục của đồ án
Đồ án bao gồm 2 phần, mỗi phần bao gồm các nội dung sau:
Chương 1: trình bày cơ sở lý thuyết
Chương 2: trình bày quá trình phân tích và thiết kế hệ thống, thiết kế chương
trình
Chương 3: trình bày kết quả thực thi chương trình, đánh giá kết quả và hướng
phát triển

6


PHẦN I: NGUYÊN LÝ HỆ ĐIỀU HÀNH
TIÊU ĐỀ: TÌM HIỂU CƠ CHẾ ĐIỀU KHIỂN CHUỘT. XÂY DỰNG
ỨNG DỤNG TỰ ĐỘNG XỬ LÝ CHUỘT.
CHƯƠNG 1:

CƠ SỞ LÝ THUYẾT

1. Windows Messages và Message queues
1.1. Messages
Các ứng dụng chạy trên windows hoạt động theo hướng sự kiện. Tức là, chúng
không nhận input từ việc gọi đích danh các hàm để lấy mà thay vào đó là đợi cho hệ
thống truyền input đến.
Hệ thống truyền mọi input cho một ứng dụng tới nhiều cửa sổ của ứng dụng đó.

Mỗi ứng dụng sẽ có một hàm được gọi là window procedure (thủ tục của cửa sổ)
mà hệ thống sẽ gọi đến mỗi khi có bất kỳ input nào cho cửa sổ đấy.
Hệ thống sẽ truyền input đến các window procedure dưới dạng các message
(thông điệp). Message có thể được tạo bởi hệ thống hoặc các ứng dụng. Hệ thống sẽ
tạo ra một message cho mỗi sự kiện input, ví dụ như khi người dùng gõ một phím
trên bàn phím, di chuyển chuột,… Hệ thống cũng tạo ra message cho các thay đổi
trong hệ thống do một ứng dụng nào đó gây ra, ví dụ như khi một ứng dụng thay đổi
tài nguyên font chữ của hệ thống. Một ứng dụng cũng có thể tạo ra message để điều
khiển các cửa sổ của chính nó hoặc tương tác với ứng dụng khác.
1.2. Message routing
Hệ thống có 2 phương thức để điều hướng các message (message routing) tới
các window procedure là: gửi message đến một hàng đợi (queue) được gọi là
message queue (hàng đợi thông điệp) hoặc gửi message trực tiếp đến window
procedure.
Một message gửi đến message queue được gọi là queued message. Những
message này thường đến từ input của người dùng, khi họ sử dụng bàn phím và
chuột. Tức là, mỗi khi người dùng di chuyển chuột, nhấn một phím chuột hay nhấn
một phím trên bàn phím thì một message sẽ được tạo ra và đưa vào message queue
để đợi xử lý. Hệ thống sau đó sẽ lấy từng message ra, xem xét để tìm ra cửa sổ cần
7


gửi đến và sau đó gửi message đến thread phụ trách cửa sổ đó. Thread này sẽ xóa
message ra khỏi hàng đợi của nó và thơng báo đến hệ thống để gửi chúng đến
window procedure phù hợp cho việc xử lý.
Hầu hết các message còn lại sẽ gửi trực tiếp đến window procedure và được gọi
là nonqueued message. Những message này sẽ được gửi trực tiếp đến window
procedure đích mà không cần đi qua message queue hay thread message queue.
1.3. Message handling
Một ứng dụng thường phải xóa và xử lý message được gửi vào message queue

của các thread của nó. Một ứng dụng đơn luồng thường sử dụng message loop
(vòng lặp message) trong hàm WinMain của nó và gửi các message đến các
window procedure để xử lý. Ứng dụng với nhiều thread có thể chứa message loop
trong mỗi thread tạo ra các cửa sổ.
1.3.1. Message Loop
Một message loop chứa 1 lời gọi hàm cho mỗi hàm sau: GetMessage (hoặc
PeekMessage), TranslateMessage và DispatchMessage.

MSG msg;
BOOL bRet;

while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
8


DispatchMessage(&msg);
}
}

GetMessage hoặc PeekMessage sẽ lấy một message ra từ queue và sao chép nó
vào MSG. Nó sẽ trả về một giá trị khơng phải 0, trừ khi nó gặp phải message
WM_QUIT thì nó sẽ trả về FALSE và kết thúc vòng lặp. Trong một ứng dụng đơn

luồng, kết thúc message loop thường là bước đầu tiên để đóng một ứng dụng. Điểm
khác nhau giữa PeekMessage và GetMessage là PeekMesssage sẽ trả về kết quả
ngay dù có message nào trong message queue hay khơng cịn GetMessage sẽ khiến
chương trình đợi cho đến khi có message để trả về.
Một message loop của một thread phải chứa TranslateMesssage nếu thread đó sử
dụng để nhận ký tự từ bàn phím. Hệ thống tạo ra các message phím ảo mỗi khi
người dùng nhấn một phím. Các message đó chứa mã phím ảo để phân biệt phím
nào được bấm nhưng khơng chứa ký tự nào được bấm. TranslateMesssage được
dùng để chuyển đổi message phím ảo thành các message ký tự và đặt chúng vào lại
message queue.
DispatchMessage sẽ gửi một message đến window procedure tương ứng dựa vào
thông tin trong MSG.
1.3.2. Window Procedure
Window procedure là một hàm có chức năng nhận và xử lý các message được
gửi tới một cửa sổ. Mọi cửa sổ đều có một window procedure.
2. Hook
Trên windows, hook là một điểm trong cơ chế xử lý message của hệ thống mà
một ứng dụng có thể sử dụng để theo dõi các message và xử lý các message đó
trước khi nó được gửi đến các ứng dụng của window. Ví dụ như khi rê chuột, hệ
thống sẽ tạo ra những message tương ứng để mơ tả hành động rê chuột và Hook có
thể dùng để theo dõi và tương tác với những thông điệp trên trước khi một ứng dụng
nhận được sự kiện rê chuột.
9


Do đó, Hook có thể được sử dụng để theo dõi hành vi của người dùng bằng việc
bắt các message như phím nhấn hay nhấp chuột. Hook có thể theo dõi các thông
điệp của một thread nhất định (thread-specific hook) hoặc tất cả các thread trong hệ
thống (global hook).
Bằng việc sử dụng global hook để theo dõi message của chuột, chúng ta có thể

biết được lịch sử sử dụng chuột của người dùng. Từ đó, chúng ta có thể lưu lại lịch
sử đó vào file và sử dụng dữ liệu từ file đã lưu để điều khiển chuột giống như những
gì người dùng đã thực hiện.
3. SendInput
SendInput là một trong những hàm của WinAPI. SendInput có tác dụng dùng để
giả lập hành động nhấn chuột hoặc nhấn phím của người dùng. SendInput sẽ tạo ra
và chèn những sự kiện chuột hay bàn phím vào message queue của hệ thống tương
tự như cách mà windows nhận được từ chuột hay bàn phím vật lý. Nói một cách
đơn giản, sử dụng SendInput sẽ cho chúng ta khả năng điều khiển chuột trên máy
tính.

10


CHƯƠNG 2:

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

1. Phát biểu bài tốn
Khi sử dụng máy tính hàng ngày, đơi lúc chúng ta sẽ phải lặp đi lặp lại một
chuỗi những thao tác chuột giống nhau. Những việc lặp lại này dễ khiến chúng ta
mệt mỏi và chán nản. Thời gian là vàng bạc. Nếu chúng ta có thể tự động hóa q
trình lặp đi lặp lại này, chúng ta có thể được sử dụng thời gian đó cho những việc
khác có ích hơn.
Đề tài này được lập ra để giải quyết vấn đề trên. Bằng việc ghi lại lịch sử sử
dụng chuột và thực hiện lại theo những gì đã ghi, máy tính sẽ tự động điều khiển
chuột cho chúng ta và chúng ta chỉ cần theo dõi máy tính thực hiện hoặc làm những
việc khác mà không cần đến máy tính khi nó thực hiện nhiệm vụ của nó.
2. Các chức năng
2.1. Lưu lịch sử hành vi sử dụng chuột của người dùng vào file

Khi người dùng chọn bắt đầu ghi lịch sử và chọn vị trí lưu file lịch sử, chương
trình sẽ tiến hành theo dõi hành vi sử dụng chuột của người dùng theo thời gian
thực. Tất cả những hành vi thu được trong quá trình theo dõi sẽ được ghi vào file ở
vị trí mà người dùng đã chọn. Sau khi chọn ngừng ghi lịch sử, quá trình ghi lại sẽ
được kết thúc và ngừng theo dõi hành vi của người dùng.
2.2. Tự động điều khiển chuột dựa vào file lịch sử đã ghi.
Từ những file đã lưu ở trên, khi người dùng chọn phát lại và chọn một file cần
được lịch sử phát lại, chương trình sẽ điều khiển chuột của người dùng giống hệt
như những gì người dùng đã thực hiện trong quá trình ghi lịch sử.

11


3. Các luồng dữ liệu

Hình 1. Sơ đồ luồng dữ liệu của ứng dụng điều khiển chuột

4. Thiết kế chương trình
4.1. Ngơn ngữ lập trình
Chương trình được lập trình sử dụng ngơn ngữ lập trình C++. Bởi sử dụng C++
giúp ta tiếp cận và tương tác với hệ thống một cách trực tiếp và tiện lợi. Ngồi ra,
chương trình cũng sử dụng Qt Framework để có thể dễ dàng xây dựng giao diện
người dùng bằng C++.
4.2. Sơ đồ thuật toán

12


Hình 2. Sơ đồ thuật tốn của ứng dụng điều khiển chuột


4.3. Ghi và ngừng ghi lịch sử
Như đã nói ở trên, để có thể thu được lịch sử hành vi sử dụng chuột của người
dùng, chúng ta sẽ sử dụng Hooks. Ở đây, chúng ta sẽ theo dõi các low-level
message nên chúng ta không cần phải sử dụng DLL.
ta sẽ tạo một thread cho quá trình thu lịch sử để thread chính dùng để xử lý lệnh
đến từ người dùng có thể hoạt Vì người dùng vẫn có thể tương tác với chương trình
khi quá trình ghi lịch sử diễn ra, động song song.
Khi bắt đầu ghi, chúng ta đồng thời cũng mở một file để có thể ghi lại lịch sử.
Lịch sử sẽ được lưu dưới dạng mỗi nhấp chuột sẽ được lưu trên 1 dịng, có dạng:

<loại hành vi của chuột> <thời gian> <tọa độ x> <tọa độ y> [dữ liệu thêm]

Chú thích:
 Loại hành vi của chuột: dùng để phần biệt các loại hành vi sử dụng chuột
như nhấn chuột trái, thả chuột trái, di chuyển chuột, …
13


 Thời gian: là thời gian hành vi được thực thi.
 Tọa độ x & tọa độ y: Tọa độ mà hành vi chuột được thực hiện.
Ví dụ: "m 1572407182261 1222 584", có nghĩa là di chuyển chuột (move) đến
vị trí x bằng 1222 và y bằng 584.
Khi người dùng chọn ngừng ghi, file lịch sử sẽ được đóng lại và thread tương
tác cũng sẽ được hủy.
4.4. Phát lại lịch sử
Chương trình sẽ mở file lịch sử được chọn ra và đọc. Nó sẽ đọc và giải mã từng
dịng để lấy được loại hành vi cũng như tọa độ của hành vi. Từ đó, nó sẽ điều khiển
chuột đến hành động và vị trí tương ứng bằng cách sử dụng SendInput.
Để có thể đảm bảo phát lại lịch sử giống như người dùng đã ghi lại nhất, chúng
ta sẽ sử dụng thời gian được lưu ở mỗi dịng để tính khoảng thời gian đợi giữa mỗi

hành vi chuột. Sau đó, chúng ta sẽ delay thread hiện tại, mới thời gian trễ là thời
gian đợi giữa hành vi hiện tại và hành vi tiếp theo trừ cho thời gian mà chương trình
đã dùng để thực hiện hành vi.

14


CHƯƠNG 3:

TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

1. Triển khai
1. Môi trường
 Hệ điều hành: Windows
 IDE: Qt Creator
2. Kịch bản triển khai
 Mở source code và chạy chương trình từ IDE hoặc mở file DACSNM.exe
 Chọn vị trí và tên file lịch sử muốn lưu và nhấn Record để tiến hành ghi lịch
sử. Nhấn lại nút lần nữa hoặc nhấn phím Ctrl F2 khi đang mở giao diện
chương tình để dừng ghi lịch sử.
 Chọn vị trí file lịch sử muốn phát lại, nhập số lần muốn phát lại và nhấn Play
để phát lại.
2. Demo
1. Giao diện chính

Hình 3. Demo giao diện chính điều khiển chuột

15



2. Ghi lịch sử

Hình 4. Giao diện ghi lịch sử

Điền vị trí cần lưu file lịch sử cũng như tên của file lịch sử và nhấn Record hoặc
bấm tổ hợp phím Ctrl F2 để bắt đầu q trình lưu lịch sử chuột. Nhấn nút
Recording… hoặc bấm lại tổ hợp phím Ctrl F2 lần nữa để ngừng quá trình ghi lịch
sử.

Hình 5. File được tạo

File lịch sử được tạo ra trong thư mục đã chọn.

3. Phát lại

Hình 6. Giao diện phát lại

16


Chọn một file lịch sử đã thu trước đó, nhập số lần muốn phát lại và nhấn Play để
tiến hành phát lại lịch sử sử dụng chuột.
3. Đánh giá kết quả
Chương trình đã hồn thành những chức năng:
 Chương trình có thể thu được lịch sử sử dụng chuột của người dùng và
lưu vào một file cho người dùng tùy chọn vị trí.


Chương trình cho phép người dùng chọn một file lịch sử đã thu để phát
lại quá trình sử dụng chuột.


17


KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. Kết luận
Chương trình về cơ bản đã thực hiện được các chức năng đã đề ra. Thông qua đề
tài, ta học được thêm về cách mà windows xử lý hành động điều khiển chuột hay
bàn phím của người dùng. Đó là thơng qua message queue. Ta cũng biết thêm về
cách để tương tác với message queue để từ đó theo dõi được hành vi của người
dùng cũng như can thiệp vào để điều khiển chuột của người dùng.
Tuy nhiên, chương trình vẫn chưa hồn thiện về phần trải nghiệm người dùng
cũng như về phần giao diện.
2. Hướng phát triển
 Xây dựng giao diện người dùng thân thiện hơn.
 Tối ưu trải nghiệm của người dùng.
 Tối ưu độ chính xác của q trình xử lý chuột để có thể đạt được độ chính
xác 100%.

18


PHẦN II: LẬP TRÌNH MẠNG
TIÊU ĐỀ: XÂY DỰNG TRỊ CHƠI VẼ HÌNH ĐỐN TỪ ONLINE.
CHƯƠNG 1:

CƠ SỞ LÝ THUYẾT

1. TCP/IP
Bộ giao thức TCP/IP hay còn gọi là bộ giao thức liên mạng, là một bộ các giao

thức truyền thông gồm 2 giao thức chính là TCP (Transmission Control Protocol
hay Giao thức Điều khiển Giao vận) và IP (Internet Protocol hay Giao thức Liên
mạng) mà Internet và hầu hết mạng máy tính thương mại đang chạy trên đó. Giao
thức này đảm bảo chuyển giao dữ liệu tới nhận một cách đáng tin cậy và đúng thứ
tự. Hơn nữa, TCP có chức năng phân biệt giữa dữ liệu của nhiều ứng dụng (như
dịch vụ Web và dịch vụ Email) đồng thời chạy trên cùng một máy chủ.
 TCP là giao thức có chức năng thiết lập kết nối giữa các máy tính để
truyền dữ liệu. Nó chia nhỏ dữ liệu ra thành những gói (packet) và đảm
bảo việc truyền dữ liệu diễn ra thành cơng
 IP là giao thức có chức năng định tuyến (route) các gói dữ liệu khi chúng
được truyền qua Internet, đảm bảo dữ liệu sẽ đến đúng nơi cần nhận
Một mơ hình TCP/IP tiêu chuẩn bao gồm 4 lớp được chồng lên nhau, bắt đầu từ
tầng thấp nhất là Tầng vật lý (Physical) → Tầng mạng (Network) → Tầng giao vận
(Transport) và cuối cùng là Tầng ứng dụng (Application).

2. Mơ hình Client-Server
Mơ hình Client-Server (khách-chủ) là một mơ hình mà tại đó các server sẽ là nơi
chứa, quản lý và phân phát các tài nguyên và dịch vụ đến cho các client. Trong mơ
hình này, ta thường có một hoặc một số client kết nối đến một server thông qua kết
nối mạng, gửi cho server tài nguyên hoặc yêu cầu xử lý đến cho server và sẽ được
server xử lý rồi trả lại kết quả cho client.

19


CHƯƠNG 2:

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

1. Phát biểu bài tốn

"Nhìn hình đốn chữ" là một trị chơi hẳn nhiều người đã biết đến. Đây là một
trò chơi cực kỳ đơn giản, bạn sẽ được cho nhìn một hoặc một số bức hình và nhiệm
vụ của bạn là nghĩ xem bức hình đấy đang nói về từ nào. Những bức hình có thể chỉ
đến nghĩa đen chính xác ví dụ như hình chiếc xe ơ tơ sẽ nói về từ "xe ơ tơ". Hoặc
những bức hình có thể khơng thực sự liên quan đến nghĩa của một từ.
Tuy nhiên, những trị chơi này thường ít có tính tương tác giữa những người
chơi với nhau mà thường mang tính cá nhân. Bởi vì, một người chơi chỉ cần nhận
các bức hình và đốn chữ chứ khơng hề tương tác với những người chơi khác.
Đây là lý do mà đề tài này được xây dựng. Trị chơi vẽ hình đốn từ online là
một trị chơi mà tại đó một người sẽ vẽ một bức hình, những người cùng chơi sẽ
xem được người chơi đấy đang vẽ theo thời gian thực và nhanh tay đốn xem từ mà
người vẽ muốn nói đến là từ gì. Tại vì lí do đó, trị chơi sẽ đem đến tính tương tác
giữa người vẽ và người đốn cũng như tính cạnh tranh giữa người chơi với nhau.
Người vẽ và người đốn sẽ xoay vịng thay phiên nhau thực hiện để đảm bảo một
người có thể là người vẽ ở lượt chơi này và là người đoán ở lượt chơi khác.
2. Các chức năng
1. Chọn tên hiển thị
Khi người dùng mở trò chơi lên, họ sẽ được chọn một tên tùy ý để sử dụng khi
chơi. Tên này sẽ không được trùng với tên của những người khác đang ở trong trò
chơi tại thời điểm người chơi đăng nhập.
2. Vẽ hình
Mỗi vịng chơi, trị chơi sẽ tự động chọn một người chơi nhất định để làm người
vẽ. Người vẽ cũng sẽ chọn từ mà họ muốn vẽ. Nhiệm vụ của người vẽ là thể hiện từ
mình vừa chọn thành hình ảnh bằng các vẽ. Hình ảnh mà người vẽ vẽ sẽ được
truyền tải trực tiếp theo thời gian thực đến những người còn lại trong trò chơi.
3. Chat

20




×