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

ĐỒ ÁN CUỐI KỲ C++: GAME ĐOÁN SỐ VIẾT BẰNG CÂY NHỊ PHÂN

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 (282.71 KB, 21 trang )

MỤC LỤC
LỜI NÓI ĐẦU............................................................................................ 1
CHƯƠNG 1: TỔNG QUAN LÝ THUYẾT.............................................2
1.1.LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OBJECT ORIENTED PROGRAMMING)

2

1.1.1.Sơ lược về lập trình hướng đối tượng....................................................................................................2
1.1.2.Cấu trúc của một chương trình C++.......................................................................................................2
1.2.1.Lớp (class), đối tượng (object), phương thức (method)........................................................................2
1.2.2.Lớp cơ sở (base class), lớp dẫn xuất (derived class)..............................................................................3
1.2.3.Tính kế thừa (Inheritance)......................................................................................................................3
1.2.4.Tính đa hình (Polymorphism).................................................................................................................4
1.3.SƠ LƯỢC VỀ LỚP (CLASS) TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
4
1.3.1.Khái niệm về class..................................................................................................................................4
1.3.2.Định nghĩa lớp (class).............................................................................................................................4

CHƯƠNG 2: GIỚI THIỆU....................................................................... 5
2.1.GIỚI THIỆU CHUNG

5

2.1.1.Giới thiệu về game.................................................................................................................................5
2.1.2.Luật chơi.................................................................................................................................................6
2.2.MỤC TIÊU
6

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH..................6
CHƯƠNG 5: TỔNG KẾT....................................................................... 15
TÀI LIỆU THAM KHẢO.......................................................................16




GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

LỜI NÓI ĐẦU
Game trên máy tính hay thiết bị trên di động là trò chơi giải trí đang được
ưa chuộng mạnh, nhất là những năm gần đây, khi mà thiết bị di động thông
minh phát triển mạnh. Tổng giá trị thị trường game ở Hàn Quốc 9,16 tỷ USD
(tương đương 180 ngàn tỷ đồng), và ở Nhật Bản ước tính giá trị đó gấp 7 lần. Và
Việt Nam là nước có thị trường game khá non trẻ, tuy nhiên Việt Nam cũng bắt
đầu hội nhập với một số hãng game lớn đã xuất khẩu game ra thị trường thế giới
như VinaGame là một ví dụ. Ngoài ra, với sự tìm tòi, sáng tạo của các cá nhân
cũng đã tự viết một số game từ cơ bản đến phức tạp để đáp ứng nhu cầu của bản
thân cũng như nhu cầu của xã hội.
Hiện nay với cường độ làm việc và học tập ngày càng cao thì nhu cầu
giảm stress, thư giản đầu óc cũng như nhu cầu giải trí của con người ngày càng
được chú tâm và nâng cao hơn. Để đáp ứng yêu cầu, mong muốn của xã hội
cũng như tạo ra công cụ giải trí cho con người. Nhóm chúng tôi đã lập ra một
game nhỏ, đơn giản nhằm đáp ứng yêu cầu đó. Game của nhóm chúng tôi thực
hiện trên ngôn ngữ lập trình C++ (Ngôn ngữ lập trình hướng đối tượng) và có
tên là “Game đoán số”.
Chúng tôi xin trân thành cảm ơn cô Trần Uyên Trang đã hướng dẫn giúp
đỡ chúng tôi trong quá trình học tập và hoàn thành tốt bài tập lớn này. Đây là lần
lần đầu tiên nhóm chúng tôi thiết kế, lập trình một game và vì sự hiểu biết, kinh
nghiệm còn hạn chế nên chắc chắn chương trình game của chúng tôi không
tránh khỏi những thiếu sót nhất định. Rất mong nhận được ý kiến đóng góp của
cô và các bạn để game của nhóm chúng tôi được hoàn thiện hơn.
Chúng tôi xin chân thành cảm ơn!


Nhóm SVTH: Nhóm 2

Trang 1


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

CHƯƠNG 1: TỔNG QUAN LÝ THUYẾT
1.1.

Lập trình hướng đối tượng (Object Oriented Programming)

1.1.1. Sơ lược về lập trình hướng đối tượng
- Lập trình hướng đối tượng là ngôn ngữ được xây dựng trên nền tảng
của lập trình có cấu trúc với sự trừu tượng hóa dữ liệu.
- Sự trừu tượng dữ liệu tác động trên các dữ liệu cũng như sự trừu tượng
hóa chức năng đã làm trên chức năng. Khi sự trừu tượng hóa dữ liệu
xảy ra, các cấu trúc dữ liệu và các phần tử có thể được sử dụng mà
không cần được chú ý đến các chi tiết cụ thể mà người ta xây dựng.
- Sự thay đổi căn bản ở một chỗ: 1 chương trình hướng đối tượng được
thiết kế xoay quanh dữ liệu mà ta làm việc trên nó hơn là bản thân
chức năng chương trình.
- Lập trình hướng đối tượng sẽ liên kết cấu trúc dữ liệu với thao tác theo
cách mà chúng ta thường nghĩ về thế giới xung quanh đó là: gắn một
hành động cụ thể với một loại đối tượng nào đó.
- Lập trình hướng đối tượng cho phép sử dụng các quá trình suy nghĩ về
thế giới quan vào dữ liệu.

1.1.2. Cấu trúc của một chương trình C++
(1): [Khai báo thư viện]
(2): [Khai báo các nguyên mẫu hàm của người dùng]
(3): [Các định nghĩa kiểu]
(4): [Các định nghĩa Macro]
(5): [Các định nghĩa biến, hằng]
(6): <kiểu hàm> main ([khai báo tham số])
(7): {
(8): Thân hàm main
(9): }
(10): Các định nghĩa hàm của người dùng
1.2.

Những thuật ngữ của lập trình hướng đối tượng

1.2.1. Lớp (class), đối tượng (object), phương thức (method)
- Lập trình hướng đối tượng cho phép tổ chức dữ liệu theo một cách
tương tự như các nhà sinh học tổ chức các loại thực vật khác nhau.
Nhóm SVTH: Nhóm 2

Trang 2


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

Theo cách nói của lập trình hướng đối tượng thì mỗi loài thực vật đó
sẽ được gọi là 1 lớp (class).
- Một lớp là một bảng mẫu mô tả các thông tin cấu trúc dữ liệu lẫn các

công việc cụ thể của các phần tử dữ liệu.
- Một phần tử mà được khai báo thuộc một 1 lớp gọi là phương thức
(Method) và chúng là các hàm duy nhất có thể xử lý dữ liệu của các
đối tượng của lớp đó.
- Các cấu trúc dữ liệu dùng để mô tả một lớp thì được gọi là các thuộc
tính (Properties).
- Mỗi một đối tượng thì có riêng một bản sao các phần tử dữ liệu của
lớp.
- Các phương thức định nghĩa trong một lớp thì có thể gởi bởi bất kỳ
một đối tượng nào. Điều này gọi là gởi thông điệp cho đối tượng. Các
thông điệp thì chỉ phụ thuộc vào đối tượng nhận, nghĩa là đối tượng
nào nhận thông điệp thì mới phải làm theo thông điệp đó.
1.2.2. Lớp cơ sở (base class), lớp dẫn xuất (derived class)
- Không giống như các kiểu dữ liệu có sẵn, các lớp có thể sử dụng các
lớp khác làm các viên gạch cho mình.
- Một lớp thì có thể dùng để xây dựng một lớp mới. Lớp ban đầu thì
được gọi là lớp cơ sở (base class). Còn lớp mới gọi là lớp dẫn xuất
(derived class).
1.2.3. Tính kế thừa (Inheritance)
- Đó là khả năng cho phép sử dụng lại lớp đã có sẵn để xây dựng lớp
mới như trên đã đề cập.
- Lớp dẫn suất thì được kế thừa tất cả các thuộc tính (properties) và
phương thức (method) của lớp cơ sở, ngoài ra có thể có các thuộc tính
mới và phương thức mới của riêng nó.

Nhóm SVTH: Nhóm 2

Trang 3



GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

1.2.4. Tính đa hình (Polymorphism)
- Tính đa hình thì dựa trên sự ràng buộc, đó là quá trình buộc, đó là quá
trình của một phương thức với một hàm thực sự. Khi các phương thức
kiểu đa hình được sử dụng, trình biên dịch sẽ không xác định hàm nào
tương ứng với phương thức sẽ được gọi. Hàm cụ thể nào được gọi là
tùy thuộc vào lúc chạy. Điều này được gọi là sự ràng buộc muộn, vì nó
xảy ra khi chương trình đang thực hiện.
- Sự ràng buộc sớm cũng đươc sử dụng cho các phương thức không theo
kiểu đa hình (còn gọi là phương thức tĩnh). Lúc đó, khi biên dịch thì
trình biên dịch đã biết cụ thể hàm nào được gọi gắn với phương thức
nào.
1.3.

Sơ lược về lớp (class) trong lập trình hướng đối tượng

1.3.1. Khái niệm về class
- Lớp (class) là khái niệm trung tâm của lập trình hướng đối tượng.
- Lớp là sự mở rộng khái niệm cấu trúc (struct) của C và bản ghi
(record) của pascal.
- Ngoài ra các thành phần dữ liệu như cấu trúc, lớp còn chứa các thành
phần hàm, còn gọi là phương thức (method) hay hàm thành viên
(member function).
- Trong phần này sẽ xây dựng các định nghĩa về lớp, phương thức, phạm
vi truy nhập, sử dụng các thành phần của lớp, lời gọi các phương thức.
1.3.2. Định nghĩa lớp (class)
- Lớp (class) là nhóm của những đối tượng (objects) có cùng chung

thuộc tính (properties) và có những mối quan hệ chung.
- Thuật ngữ class là được viết tắc từ nhóm từ “class of object”.
- Lớp được định nghĩa như sau:
Class tenlop
{
Nhóm SVTH: Nhóm 2

Trang 4


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

Private:
//Khai báo các thuộc tính gồm các biến thành phần,
dữ //liệu các biến. Và nó không truy xuất ra bên ngoài
lớp.
Public:
//khai báo các phương thức gồm các hàm
//nó truy xuất trong và ngoài lớp.
}

CHƯƠNG 2: GIỚI THIỆU
2.1. Giới thiệu chung
2.1.1. Giới thiệu về game
- Game “Đoán Số” của nhóm chúng tôi lấy ý tưởng tưởng từ thuật toán
tìm kiếm nhị phân đã được học trong học phần cấu trúc dữ liệu và giải
Nhóm SVTH: Nhóm 2


Trang 5


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

thuật. Nhóm đã tạo một game trên máy tính và viết theo ngôn ngữ C+
+:
• Game đoán số làm game rất phổ biến và áp dụng triệt để thuật
toán tìm kiếm nhị phân trong một mảng số nguyên đã sắp xếp
sẵn.
• Dựa trên nguyên tắc có thứ tự của một mảng các số tự nhiên.
• Game thể hiện sự nhanh trí, quá trình suy đoán, lập luận của
người chơi.
• Game đoán số dựa vào sự phân vùng dữ liệu để đoán giá trị
(đoán số) nằm trong vùng nào để thu hẹp lại không gian tìm
kiếm và xử lý dữ liệu.
2.1.2. Luật chơi
- Rất đơn giản người chơi chỉ cần nghĩ một số trong đầu nhưng bạn hãy
trung thực, sau đó bạn hãy trả lời những câu hỏi mà máy tính đặt ra:
• Nếu đúng từ bàn phím bạn gõ chữ “y”.
• Nếu sai từ bàn phím bạn gõ chữ “n”.
- Trong khoảng 10 bước đoán của máy thì máy sẽ đoán đúng số bạn
nghĩ trong đầu.
2.2. Mục tiêu
- Mục tiêu của nhóm chúng tôi là thiết kế ra một game đơn giản có thể
chạy tốt trên máy tính. Và game “Đoán Số” là sự lựa chọn của nhóm
chúng tôi.
- Game “Đoán Số” dựa trên luật chơi đơn giản, dễ hiểu đáp ứng nhu cầu

về trình độ và phù hợp với lứa tuổi.
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH
3.1. Tìm hiểu bài toán tìm kiếm nhị phân
Cho dãy A gồm N số nguyên khác nhau: a 1, a2,...,aN và một số nguyên k
(gọi tắt là khóa k). Cần biết có hay không chỉ số i (0 ≤ i ≤ N) mà a i = k. Nếu
có hãy cho biết chỉ số đó.
Nhóm SVTH: Nhóm 2

Trang 6


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

Xác định bài toán:
Input: Dãy A gồm N số nguyên khác nhau a1, a2,...,aN và số nguyên k;
Output: Chỉ số i mà ai = k hoặc thông báo không có phần tử nào của
dãy A có giá trị bằng k.
3.2. Thuật toán giải quyết bài toán tìm kiếm nhị phân
Xét bài toán ở một trường hợp đặc biệt của Input đó là dãy A đã được sắp
xếp tăng dần (a1 < a2 <…< aN). Khi đó ý tưởng thuật toán như sau:
- Vì dãy A là dãy tăng dần, nên ta thu hẹp phạm vi tìm kiếm sau mỗi
-

lần so sánh khóa k với phần tử đã chọn.
Ở đây, ta chọn số hạng ở giữa dãy (gọi là a Giua) để so sánh với khóa k.
Nếu bằng thì ta đưa ra kết quả là chỉ số tìm kiếm là “Giua”, còn
không thì tìm ở dãy các phần tử đứng sau aGiua nếu phần tử aGiua < k
hoặc tìm kiếm ở dãy các phần tử đứng trước aGiua nếu phần tử aGiua > k


-

.
Quá trình tiếp tục lặp đi lặp lại như trên với dãy các phần tử đứng
trước hoặc sau cho đến khi tìm thấy khóa k trong dãy A hoặc phạm vi
tìm kiếm (hay dãy phần tử) bằng rỗng (không còn phần tử nào) thì kết
thúc.
a1

aGiua

Thuật toán tìm kiếm nhị phân viết bằng cách liệt kê:

aN

Bước 1: Nhập N, các số hạng a1, a2, ...,aN và khóa k;
Bước 2: Dau  1; Cuoi  N;
 Dau + Cuoi 
Bước 3: Giua  
 ;
2

Bước 4: Nếu aGiua = k thì thông báo chỉ số Giua, rồi kết thúc;
Bước 5: Nếu aGiua > k thì đặt Cuoi = Giua – 1 rồi chuyển đến bước 7;
Bước 6: Dau  Giua + 1;
Bước 7: Nếu Dau > Cuoi thì thông báo dãy A không có số hạng nào có
giá trị bằng k, rồi kết thúc;
Bước 8: Quay lại bước 3;
3.3. Áp dụng thuật toán tìm kiếm nhị phân cho game

Bước 1: Khởi tạo đối tượng DoanSo gồm một số nguyên n (khoảng
{0,n}) và một phương thức để hiển thị dữ liệu trong quá trình đoán số
Nhóm SVTH: Nhóm 2

Trang 7


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

Bước 2: Thực thi các phương thức trong đối tượng DoanSo bằng cách áp
dụng đúng theo nguyên tắc của thuật toán tìm kiếm nhị phân
Bước 3: Sử dụng while(true), tức là cứ làm đi (lặp liên tục đi), khi nào
tìm thấy được đúng giá trị thì hãy dừng.
Bước 4: Trong source code có sử dụng việc tương tác giữa người dùng và
máy. Máy sẽ liên tục hỏi người dùng và người dùng trả lời bằng cách
nhập từ bàn phím y: đồng ý với câu hỏi, n: không đồng ý với câu hỏi. Với
n nhập vào, thì số lần mà máy tính hỏi để đoán được số là log2n: Tức là rất
nhỏ.
Bước 5: Giả sử n = 1000 thì số lần tối đa mà máy tính hỏi là log 21000 gần
bằng 10. Bởi vì 210 > 1000, nên độ phức tạp của thuật toán này rất tốt.
Ngoài game đoán số này thì với thuật toán tìm kiếm nhị phân có thể dùng
cho rất nhiều bài toán khác nữa.
3.4. Thiết kế CLASS và các đoạn code trong chương trình
Chương trình được xây dựng với một lớp class DoanSo, trong lớp class
DoanSo chứa :
- Các thuộc tính của lớp nằm trong phần private chứa một biến n có
kiểu int, biến này chỉ truy xuất được trong lớp “class DoanSo” không
-


truy xuất được bên ngoài lớp.
Các phương thức của lớp thì nằm trong phần public chứa hàm “void

hienthi()” và constructor một đối “DoanSo(int n1)”
class DoanSo //Lớp có tên Doanso
{
private: //Là thuộc tính dùng để khai báo biến
int n;
public: //Là phương thức dùng để khai báo các hàm thành phần
void hienthi(); //Hàm thực thi chương trình
DoanSo(int n1); //Constructor 1 đối dùng để khởi tạo giá trị cho
biến n. (Với n là kích thước dữ liệu vùng tìm kiếm)
}
- Hàm “void hienthi()”
Có chức năng thực thi chương trình chính, người chơi chỉ cần trả lời
những cấu hỏi của máy này đúng hoặc sai, cụ thể như sau:
Nhóm SVTH: Nhóm 2

Trang 8


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

+ Nếu người chơi đồng ý với câu hỏi mà máy tính đưa ra thì từ bàn phím
người chơi gõ phím “y” (y = yes).
+Nếu người chơi không đồng ý với câu hỏi mà máy tính đưa ra thì bàn
phím người chơi gõ phím “n” (n = no).

Sử dụng vòng lặp do…while(true) để làm đi (lặp liên tục đi), khi nào
tìm thấy được đúng giá trị thì dừng.
void DoanSo::hienthi()
{
cout<cout<<"\t\t\1 TRO CHOI DOAN SO \1"<cout<<"\tBan hay nghi mot so be hon "<< n <cout<<"\tToi se doan khong qua 10 lan de tim ra so ma ban nghi???
<cout<<"\tCac ban co muon thu khong?"<cout<<"\tHay bat dau di nao --> Let's go"<cout<int l = 1, r = n; //Khởi tạo giá trị đầu (Dau) và cuối (Cuoi)
char c; //Khai báo biến c có kiểu char (ký tự)
int count = 1; //Khai báo và khởi tạo biến count
do
{
cout<<"Lan doan thu " << count<cout<<"So ban dang nghi la " << (l+r)/2 << " phai khong?? {y: yes,
n: no}: "; cin>>
if(c == 'y')
{
cout<<"*******Minh da doan dung day!*********"<return;
}
else
{
cout<<"So ban dang nghi la nho hon " << (l+r)/2 << " phai
khong?? {y: yes, n: no}: "; cin>>c;
if(c == 'y')

{
r = (l+r)/2; //Giá trị cuối (Cuoi) bị thay đổi
}
else
{
l = (l+r)/2; //Giá trị đầu (Dau) bị thay đổi
Nhóm SVTH: Nhóm 2

Trang 9


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

}
}
count++; //Biến đếm tăng lên 1 đơn vị
cout<}
while(true); //Lặp liên tục đi, cho đến khi tìm đúng giá trị mới
dừng
-

}
Cấu tử DoanSo (int n1) có chức năng khởi tạo giá trị cho biến “n”,
trong đó n là kích thước dữ liệu của vùng tìm kiếm.
DoanSo (int n1)
{
n = n1;

}

CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH
4.1. Chương trình hoàn chỉnh “Game Đoán Số”
#include "iostream"
#include "conio.h"
using namespace std;
class DoanSo
{
private:
int n;
Nhóm SVTH: Nhóm 2

Trang 10


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

public:
void hienthi();
DoanSo(int n1)
{
n = n1;
}
};
void DoanSo::hienthi()
{
cout<

cout<<"\t\t\1 TRO CHOI DOAN SO \1"<cout<<"\tBan hay nghi mot so be hon "<< n <cout<<"\tToi se doan khong qua 10 lan de tim ra so ma ban nghi???
<cout<<"\tCac ban co muon thu khong?"<cout<<"\tHay bat dau di nao --> Let's go"<cout<int l = 1, r = n;
char c;
int count = 1;
do
{
cout<<"Lan doan thu " << count<cout<<"So ban dang nghi la " << (l+r)/2 << " phai khong?? {y: yes, n:
no}: "; cin>>c;
if(c == 'y')
{
cout<<"*******Minh da doan dung roi day!*********"<return;
}
else
{
cout<<"So ban dang nghi la nho hon " << (l+r)/2 << " phai
khong?? {y: yes, n: no}: "; cin>>c;
if(c == 'y')
{
r = (l+r)/2;
}
else
{

Nhóm SVTH: Nhóm 2

Trang 11


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

l = (l+r)/2;
}
}
count++;
cout<}while(true);
}
int main()
{
DoanSo ds(1000);
ds.hienthi();
getch();
return 0;
}
4.2. Chơi thử nghiệm
Ví dụ số mà bạn nghĩ cụ thể là số “999”, chúng ta bắt đầu “Game Đoán số”

Giao diện ban đầu của “Game Đoán số”

Lần đoán thứ 1:
Nhóm SVTH: Nhóm 2


Trang 12


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

Số đang nghĩ không phải là 500 nên chúng ta gõ phím “n” và lớn hơn 500 nên
khi máy hỏi “Số bạn nghĩ có nhỏ hơn 500 không?” chúng ta gõ phím “n”.
Lần đoán thứ 2:

Số đang nghĩ không phải là 750 nên chúng ta gõ phím “n” và lớn hơn 750 nên
khi máy hỏi “Số bạn nghĩ có nhỏ hơn 750 không?” chúng ta gõ phím “n”.
Lần đoán thứ 3:

Nhóm SVTH: Nhóm 2

Trang 13


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

Số đang nghĩ không phải là 875 nên chúng ta gõ phím “n” và lớn hơn 875 nên
khi máy hỏi “Số bạn nghĩ có nhỏ hơn 875 không?” chúng ta gõ phím “n”.
Lần đoán thứ 4:

Số đang nghĩ không phải là 937 nên chúng ta gõ phím “n” và lớn hơn 937 nên

khi máy hỏi “Số bạn nghĩ có nhỏ hơn 937 không?” chúng ta gõ phím “n”.
Lần đoán thứ 5:

Nhóm SVTH: Nhóm 2

Trang 14


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

Số đang nghĩ không phải là 968 nên chúng ta gõ phím “n” và lớn hơn 968 nên
khi máy hỏi “Số bạn nghĩ có nhỏ hơn 968 không?” chúng ta gõ phím “n”.
Lần đoán thứ 6, 7, 8, 9 tương tự cho đến lần đoán thứ 10
Lần đoán thứ 10:

Đến lần đoán thứ 10 lúc này máy đã đoán đúng số mà bạn nghĩ là số 999 thì
chúng ta gõ “y” và dừng game.
CHƯƠNG 5: TỔNG KẾT
Trên đây là toàn bộ chương trình xây dựng “Game Đoán số”, qua nghiên
cứu và kiến thức học được cùng với sự hướng dẫn của giáo viên bộ môn, sự giúp
Nhóm SVTH: Nhóm 2

Trang 15


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang


đỡ của các bạn cùng học và các thành viên trong nhóm hoàn thiện bài tập này.
Qua đó, nhằm giúp cho thế giới game ngày càng đa dạng và phong phú. Game
nhóm chỉ dừng lại ở mức độ đơn giản, nhằm giúp cho các bạn chơi có cái nhìn
tổng quát về nó.
Với trình độ hiểu biết; khả năng tìm kiếm, đọc hiểu tài liệu; kỹ năng lập
trình còn hạn chế nên không tránh khỏi những sai sót rất mong nhận được sự
thông cảm và đóng góp ý kiến của cô và các bạn để kỹ năng lập trình cũng như
kinh nghiệm của chúng tôi ngày càng được mở rộng và nâng cao hơn.
Nếu có cơ hội tiếp theo, hi vọng rằng phiên bản mới của game sẽ có thêm
các đặc tính mới hơn như:
Sửa các lổi hiện có.
Tăng độ lớn của vùng tìm kiếm dữ liệu lên cao hơn.
….
Một lần nữa nhóm chúng tôi xin chân thành cảm ơn sự giúp đỡ, hướng
dẫn, chỉ bảo tận tình của cô và các bạn để chúng tôi hoàn thành được chương
trình này.

TÀI LIỆU THAM KHẢO
[1] vietnamedev.net/blog/81/game-c-c-cho-newbie-01-lập-trình-game-bắtđầu-từ-đâu/
Nhóm SVTH: Nhóm 2

Trang 16


GAME ĐOÁN SỐ

GVHD: Th.S. Trần Uyên Trang

[2] />[3] //luckypham.wordpress.com/2011/08/16/docgiao-trinh-c-lập-trinh-hướngdối-tượng-của-thầy-phạm-van-ất/

[4] />
Nhóm SVTH: Nhóm 2

Trang 17



×