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

Niên luận trò chơi đón màu

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

CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

TRƯỜNG ĐẠI HỌC BẠC LIÊU
KHOA CÔNG NGHỆ THÔNG TIN
********************

NIÊN LUẬN 1:
ĐỀ TÀI:

CHƯƠNG TRÌNH TRÒ CHƠI
ĐOÁN MÀU

GVHD : Th.S ……………..
SVTH : ………….
MSSV : ………….
MSĐT : NL1-TH036
LỚP : ………..

Học kỳ II
Niên khóa 2… – 2…

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 1


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU



NIÊN LUẬN I

MẪU CHẤM NIÊN LUẬN
TÊN ĐỀ TÀI : CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU
GIÁO VIÊN HƯỚNG DẪN : TH.S ………………
SINH VIÊN THỰC HIỆN : ………………………..
I .HÌNH THỨC: (tối đa 1,0 điểm)
Bìa: (tối đa 0,5 điểm) ...........................................................................................
Các tiêu đề:
Loại đồ án, Tên đề tài, Giáo viên hướng dẫn, Thông tin về sinh viên thực hiện, Năm
thực hiện
Bố cục: (tối đa 0,5 điểm) ......................................................................................
Trang nhận xét của GVHD và GV chấm. Mục lục: (cấu trúc chương, Mục, Tiểu mục.),
Phụ lục: (nếu có), Tài liệu tam khảo.
II .NỘI DUNG: (tối đa 4,5 điểm)
II.1 Giới thiệu (tối đa 0,5 điểm) ...........................................................................
Giới thiệu tổng quan
Mục tiêu cần đạt:
II.2 Lý thuyết: (tối đa 1,0 điểm)............................................................................
Các khái niệm sử dụng trong đề tài:
Kết quả vận dụng lý thuyết vào đề tài:
II.3 Ứng dụng: (tối đa 2,5 điểm) ..........................................................................
Kết quả/Lưu đồ
Giới thiệu chương trình:
II. 4 Kết luận: (tối đa 0,5 điểm) ............................................................................
Nhận xét kết quả đạt được:
Hạn chế
Hướng phát triển:
III .CHƯƠNG TRÌNH DEMO: (tối đa 3,5 điểm) ...........................................

Giao diện:
Hướng dẫn sử dụng:
Kết quả thực hiện đúng với kết quả của phần ứng dụng
IV.THƯỞNG: (tối đa 1,0 điểm) ........................................................................
TỔNG CỘNG: .............................................................
Bạc Liêu, ngày……tháng ……năm 2010

GV CHẤM

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 2


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

NHẬN XÉT CỦA GIÁO VIÊN
........................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................

...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................

Bạc Liêu, ngày….. tháng …. năm 20…

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 3


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

MỤC LỤC
************************
Chương 1 GIỚI THIỆU, MỤC TIÊU VÀ HƯỚNG GIẢI QUYẾT ..........4
I. GIỚI THIỆU CHUNG:............................................................4
II. MỤC TIÊU VÀ HƯỚNG GIẢI QUYẾT:...............................4
1. Mục tiêu cần đạt được......................................................4
2. Hướng giải quyết..............................................................4

Chương 2 CƠ SỞ LÝ THUYẾT....................................................................5
I. MÔ TẢ ĐỀ TÀI..........................................................................5
II. CÁC KHÁI NIỆM VÀ KẾT QUẢ VẬN DỤNG LÝ THUYẾT
TRONG ĐỀ TÀI..........................................................................5
1. Chương trình khởi tạo đồ họa..............................................5
2. Chương trình vẽ nút hình tròn.............................................5
3. Chương trình xuất hiện giao diện Demo..............................6
4. Chương trình chọn màu ngẫu nhiên....................................8
5. Chương trình đoán màu.......................................................9

6. Chương trình xuất kết quả.................................................10
7. Chương trình xem đáp án..................................................11
8. Chương trình xuất vị trí đúng............................................11
9. Chương trình thực thi Demo..............................................11

Chương 3 ỨNG DỤNG.................................................................................17
I. MÔ HÌNH CỦA CHƯƠNG TRÌNH CHÍNH................................17
II. LƯU ĐỒ CỦA MỘT SỐ CHƯƠNG TRÌNH CON......................18
1. Chương trình chọn màu ngẫu nhiên..................................18
2. Chương trình đoán màu.....................................................19
3. Chương trình xuất kết quả.................................................20
4. Chương trình xuất vị trí đúng............................................21
III. GIỚI THIỆU VỀ CHƯƠNG TRÌNH............................................21

Chương 4 KẾT LUẬN..................................................................................27
I. KẾT QUẢ ĐẠT ĐƯỢC..................................................................27
II. NHỮNG HẠN CHẾ.......................................................................27
III. HƯỚNG PHÁT TRIỂN..............................................................27

TÀI LIỆU THAM KHẢO..............................................................................28
LỜI CẢM ƠN !.................................................................................................29

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 4


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU


NIÊN LUẬN I

CHƯƠNG I : GIỚI THIỆU, MỤC TIÊU VÀ HƯỚNG
GIẢI QUYẾT
I. GIỚI THIỆU CHUNG:
Giải trí là nhu cầu cần thiết của mọi người, trong thời đại công nghiệp thì nhu cầu giải trí
càng trở nên cao hơn và làm thế nào để thoả mãn nhu cầu giải trí của người dùng nhưng không
mất nhiều thời gian lại là một vấn đề. Để đáp ứng nhu cầu này của người dùng thì người lập
trình đã nắm bắt thời cơ và nhu cầu này để viết ra những chương trình giải trí. Và chương trình
trò chơi đoán màu cũng không nằm ngoài mục đích trên.

II. MỤC TIÊU VÀ HƯỚNG GIẢI QUYẾT
1. Mục tiêu cần đạt được
- Viết chương trình giải trí đáp ứng nhu cầu của người dùng.
- Tăng khả năng lập trình của sinh viên.
- Hoàn thành chương trình trò chơi theo đúng yêu cầu của đề tài.
2. Hướng giải quết
Sử dụng những kiến thức về ngôn ngữ C và các ngôn ngữ lập trình có liên quan để viết
chương trình trò chơi đoán màu.
Tham khảo những tài liệu có liên quan đến lập trình đồ họa trong C để hiểu sâu hơn về cách lập
trình này.
Tham khảo những trò chơi có liên quan để giải quyết vấn đề.

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 5



CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

CHƯƠNG II : CƠ SỞ LÝ THUYẾT
I. MÔ TẢ ĐỀ TÀI
Trò chơi “Đoán màu” được thể hiện : Có từ 4 đến 7 màu, người chơi một lần chỉ đoán
4 màu, có 10 lần đoán. Máy tính sẽ đánh giá mỗi lần đoán và cho biết số vị trí đoán đúng. Sau
10 lần đoán máy tính sẽ cho kết quả người chơi thắng hay thua.
Người chơi: Khi bắt đầu chơi chỉ xuất hiện 4 màu gồm có Đỏ, Xanh Dương, Xanh
Lá,Vàng. Lúc đó người chơi chỉ cần chọn các phím chức năng tương ứng D(Đỏ), X(Xanh
dương), G(Xanh lá) để chọn số màu mà người chơi cho là đúng. Nếu sau 10 lần đoán, người
chơi đưa ra kết quả trùng với đáp án mà máy tính chọn ngẫu nhiên thì người chơi đã thắng
Game 4 màu. Sau khi thăng Game 4 màu thì số màu sẽ tăng lên là 5 gồm có các màu Đỏ, Xanh
Dương, Xanh Lá, Vàng, Xanh lơ, tương ứng với các phím chức năng D,X,G,V,L nếu bạn chọn
đúng thì số màu sẽ tăng lên 6 và cứ thế cho đến khi xuất hiện màu thứ 7, nếu lần này bạn chọn
đúng thì bạn là người chiến thắng hoàn toàn.
Người chơi sẽ thua khi 10 lần đoán màu không đoán đúng lần nào.

II. CÁC KHÁI NIỆM VÀ KẾT QUẢ VẬN DỤNG LÝ THUYẾT TRONG ĐỀ
TÀI
1. Chương trình khởi tạo đồ họa
-void ktdh(): Mục đích là khởi động hệ thống đồ họa gồm cấu trúc như sau:
initgraph(&mh,&mode,"c:\\tc\\bgi");
+&mh cho biết màng hình sử dụng trong chương trình
+&mode cho biết Mode sử dụng trong chương trình
+"c:\\tc\\bgi" là xâu ký tự chỉ đường dẫn đến thư mục chứa tập tin điều khiển đồ họa.

2. Chương trình vẽ nút hình tròn.

a. Void nut(int x,int y,int m)
Chương trình này được định nghĩa như sau: Xuất hiện các hình tròn màu khi chúng ta
chọn những phím chức năng như D,X,G,V..và xuất hiện đáp án và kết quả khi chúng ta
chọn chúng. Kết quả vận dụng lý thuyết là đoạn code của chương trình này như sau:
void nut(int x,int y,int m)
{
setfillstyle(1,m);
setcolor(m);
circle(x,y,r);
floodfill(x,y,m);
}
b. Void nut1(int x,int y,int m)

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 6


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

Chương trình này được định nghĩa như chương trình trên, nhưng lúc này chỉ
xuất hiện những hình tròn không có tô màu nó chỉ là hình tròn xuất hiện sẵn để bao
tròn nhứng hình tròn đã được tô màu. Kết quả vận dụng lý thuyết là đoạn code của
chương trình này như sau:
void nut1(int x,int y,int m)
{

m=3;
setcolor(m);
circle(x,y,e);
}
c. Void nut2(int x,int y,int p)
Chương trình này được định nghĩa như sau: Xuất hiện các hình màu chứa những
ký hiệu đặc biệt để người chơi hiểu được cách chơi. Kết quả vận dụng lý thuyết là
đoạn code của chương trình này như sau:
void nut2(int x,int y,int o)
{
setfillstyle(9,4);
setcolor(p);
circle(x,y,a);
floodfill(x,y,p);
}
d. Void nut3(int x,int y,int p)
Chương trình này được định nghĩa như sau: Xuất hiện các hình tròn màu xanh
dương là nơi chứa số vị trí đúng khi ta chọn màu nó có ký hiệu đặc biệt là V. Kết quả
vận dụng lý thuyết là đoạn code của chương trình này như sau:
void nut3(int x,int y,int p)
{
setfillstyle(9,1);
setcolor(p);
circle(x,y,a);
floodfill(x,y,p);
}

3. Chương trình xuất hiện giao diện Demo
Chương trình này được định nghĩa như sau: Xuất hiện khung hình chữ nhật dùng thể
hiện giao diện DEMO , chủ yếu dùng những nút hình tròn như giải thích ở trên để vẽ,

và xuất một số chú thích để người chơi được dễ dàng nắm bắt được cách chơi và thực
hiện những thao tác khi bắt đầu trò chơi. Kết quả vận dụng lý thuyết là đoạn code của
chương trình này như sau:
void venut(){
GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 7


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

ktdh();
void venut(){
ktdh();
setfillstyle(8,11);
bar(0,0,getmaxx(),getmaxy());
setfillstyle(0,1);
bar(20,20,getmaxx()-20,getmaxy()-20 );
setcolor(11);
outtextxy(480,75,"KET QUA");
outtextxy(290,75,"BANG CHON MAU");
outtextxy(50,120,"ENTER : BAT DAU");
outtextxy(50,135,"B: XEM DAP AN");
outtextxy(50,150,"ESC: THOAT");
outtextxy(50,165,"GVHD: HUYNH HUY TUAN");
outtextxy(50,180,"SVTH: HUYNH VAN MAY");

nut1(480,100,12);nut1(505,100,12);nut1(530,100,12); nut1(555,100,12);
nut1(300,100,11);nut1(325,100,12);nut1(350,100,12);nut1(375,100,12);
nut2(420,100,2); nut3(440,100,2);
nut1(300,125,11);nut1(325,125,12);nut1(350,125,12);nut1(375,125,12);
nut2(420,125,2);nut3(440,125,2);
nut1(300,150,11);nut1(325,150,12);nut1(350,150,12);nut1(375,150,12);
nut2(420,150,2);nut3(440,150,2);
nut1(300,175,11);nut1(325,175,12);nut1(350,175,12);nut1(375,175,12);
nut2(420,175,2);nut3(440,175,2);
nut1(300,200,11);nut1(325,200,12);nut1(350,200,12);nut1(375,200,12);
nut2(420,200,2);nut3(440,200,2);
nut1(300,225,11);nut1(325,225,12);nut1(350,225,12);nut1(375,225,12);
nut2(420,220,2);nut3(440,225,2);
nut1(300,250,11);nut1(325,250,12);nut1(350,250,12);nut1(375,250,12);
nut2(420,250,2);nut3(440,250,2);
nut1(300,275,11);nut1(325,275,12);nut1(350,275,12);nut1(375,275,12);
nut2(420,275,2);nut3(440,275,2);
nut1(300,300,11);nut1(325,300,12);nut1(350,300,12);nut1(375,300,12);
nut2(420,300,2);nut3(440,300,2);
nut1(300,325,11);nut1(325,325,12);nut1(350,325,12);nut1(375,325,12);
nut2 (420,325,2);nut3(440,325,2);
setcolor(15);
outtextxy(417,97,"V");outtextxy(417,122,"V");outtextxy(417,147,"V");
outtextxy(417,172,"V");
GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 8



CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

outtextxy(417,197,"V");outtextxy(417,217,"V");outtextxy(417,247,"V");
outtextxy(417,272,"V");
outtextxy(417,297,"V");outtextxy(417,322,"V");
setfillstyle(1,4);
setcolor(4);setfillstyle(1,4);circle(80,225,22);floodfill(80,225,4);
setcolor(15);setfillstyle(1,15);circle(100,225,22);floodfill(100,225,15);
setcolor(2);setfillstyle(1,2);circle(80,250,22);floodfill(80,250,2);
setcolor(14);setfillstyle(1,14);circle(90,260,22);floodfill(90,260,14);
setcolor(3);setfillstyle(1,3);circle(105,260,22);floodfill(105,260,3);
setcolor(5);setfillstyle(1,5);circle(115,230,22);floodfill(115,230,5);
setcolor(1);setfillstyle(1,1);circle(120,245,22);floodfill(120,245,1);
}

4. Chương trình chọn màu ngẫu nhiên:
Chương trình này được định nghĩa như sau: đây là đoạn chương trình do máy tính tự
động chọn ra 4 số màu ngẫu nhiên nhờ vào hàm (random) , nếu số màu mà ta chọn
trùng vói số màu do máy tính ngẫu nhiên chọn ra thì bạn sẽ thắng Game. Đây là một
trong những đoạn code quan trọng nhất. Kết quả vận dụng lý thuyết là đoạn code của
chương trình này như sau:
void chonmaungaunhien(int somau,int dm[]){
int i;
{
randomize();
i=0;
for(i=1;i<=4;i++)

{
switch(random(somau))
{
case 0: dm[i]=1;break;
case 1: dm[i]=2;break;
case 2: dm[i]=3;break;
case 3: dm[i]=4;break;
case 4: dm[i]=5;break;
case 5: dm[i]=6;break;
case 6: dm[i]=7;break;
}
}
}
}
GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 9


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

5. Chương trình đoán màu
Chương trình này được định nghĩa như sau:là đoạn chương trình giúp người chơi chọn
màu trực tiếp từ bàn phím. Với chức năng của hàm “Toupper” có chức năng dịch ký tự
hoa do chúng ta nhập từ bàn phím, sau đó xuất số nút ra giao diện DEMO. Kết quả
vận dụng lý thuyết là đoạn code của chương trình này như sau:

void doanmau(int dem,int color1[ ]){
unsigned i,m;
int sai;
char mau;
int x,y,k;
x=300;
y=100;
k=0;
for(i=1;i<=4;i++)
{
do
{
mau=toupper(getch());
sai=0;
switch (mau)
{
case 'D': color1[i]=1;m=4;break;
case 'G': color1[i]=2;m=2;break;
case 'V': color1[i]=3;m=14;break;
case 'X': color1[i]=4;m=1;break;
case 'L': color1[i]=5;m=3;break;
case 'T': color1[i]=6;m=5;break;
case 'W': color1[i]=7;m=15;break;
case 27: exit(1);
default : sai=1;break;
}
} while(sai);
nut(x+k,y+dem*25,m);
k=k+25;
}

}

6. Chương trình xuất kết quả

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 10


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

Chương trình này được định nghĩa như sau:là đoạn chương trình xuất kết quả khi
người chơi đã đoán xong 10 lần, xuất kết quả ra chơi người chơi biết mình thắng hay
thua. Kết quả vận dụng lý thuyết là đoạn code của chương trình này như sau:
void xuatkq(int kq[ ]){
int i,k;
setcolor(15);
k=0;
for(i=1;i<=4;i++)
{
if(kq[i]==1)
{
nut(480+k,100,4);
k=k+25;
}
if(kq[i]==2)

{
nut(480+k,100,2);
k=k+25;
}
if(kq[i]==3)
{
nut(480+k,100,14);
k=k+25;
}
if(kq[i]==4)
{
nut(480+k,100,1);
k=k+25;
}
if(kq[i]==5)
{
nut(480+k,100,3);
k=k+25;
}
if(kq[i]==6)
{
nut(480+k,100,5);
k=k+25;
}
GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 11



CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

if(kq[i]==7)
{
nut(480+k,100,15);
k=k+25;
}
}
}

7. Chương trình xem đáp án.
Chương trình này tương tự như chương trình xuất kêt quả nhưng nó khác ở chổ là vị trí
xuất hiện trên nền DEMO. Đoạn code tương tự như đoạn code xuất kết quả.

8. Chương trình xuất số vị trí đúng của màu
Chương trình này được định nghĩa như sau : là đoạn chương trình số vị trí đúng của
các mà khi ta thực hiện chọn màu từ bàn phím. Kết quả vận dụng lý thuyết là đoạn
code của chương trình này như sau:
void xuatvitridung(int d,int vt){
setcolor(15);
switch(d){
case 0:outtextxy(437,97+vt*25,"0");break;
case 1:outtextxy(437,97+vt*25,"1"); break;
case 2:outtextxy(437,97+vt*25,"2");break;
case 3:outtextxy(437,97+vt*25,"3"); break;
case 4:outtextxy(437,97+vt*25,"4"); break;
default: break;

}
}

9. Chương trình thực thi Demo.
Chương trình này được thực thi lại các chương trình, gọi ra và thực hiên số công việc
và điều kiện của đề tài. Kết quả vận dụng lý thuyết là đoạn code của chương trình này
như sau:
void chay(){
for (i=1; i<91; i++)
{
setbkcolor(0);
setcolor(5);
outtextxy(273,269,"Loading...");
rectangle(259,279,361,291);
setfillstyle(1,10);
bar(270+i,280,260+i,290);

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 12


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

delay(30); // cho thoi gian hien thi
}

do
{
cleardevice();
game=1;
somau=3;
do
{
cleardevice();
somau=somau+1;
venut();
chonmaungaunhien(somau,dm);
char ch;
dem=0;
if(somau==4)
{
outtextxy(45,27,"SO MAU : 4");
setcolor(14);
nut1(50,50,11);nut1(80,50,12);nut1(110,50,12);nut1(140,50,12);
nut2(50,70,3);nut2(80,70,3);nut2(110,70,3);nut2(140,70,3);
nut(50,50,4);nut(80,50,1); nut(110,50,2);nut(140,50,14);
outtextxy(47,67,"D");outtextxy(77,67,"X");outtextxy(107,67,"G");
outtextxy(137,67,"V");
}
if(somau==5)
{
setcolor(4); //mau chu do
outtextxy(45,27,"SO MAU : 5");
setcolor(14);
nut1(50,50,11);nut1(80,50,12);nut1(110,50,12);nut1(140,50,12);
nut1(170,50,12);

nut(50,50,4);nut(80,50,1); nut(110,50,2);nut(140,50,14);nut(170,50,3);
nut2(50,70,3);nut2(80,70,3);nut2(110,70,3);nut2(140,70,3);
nut2(170,70,3);
outtextxy(47,67,"D");outtextxy(77,67,"X");outtextxy(107,67,"G");
outtextxy(137,67,"V");outtextxy(160,67," L");
}
if(somau==6)
GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 13


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

{
outtextxy(45,27,"SO MAU : 6");
setcolor(14);
nut1(50,50,11);nut1(80,50,12);nut1(110,50,12);nut1(140,50,12);
nut1(170,50,12);nut1(200,50,12);
nut(50,50,4);nut(80,50,1); nut(110,50,2);nut(140,50,14);nut(170,50,3);
nut(200,50,5);
nut2(50,70,3);nut2(80,70,3);nut2(110,70,3);nut2(140,70,3);
nut2(170,70,3);nut2(200,70,3);
outtextxy(47,67,"D");outtextxy(77,67,"X");outtextxy(107,67,"G");
outtextxy(137,67,"V");outtextxy(160,67," L");outtextxy(190,67," T");
}

if(somau==7)
{
outtextxy(45,27,"SO MAU : 7");
setcolor(14);
nut1(50,50,11);nut1(80,50,12);nut1(110,50,12);nut1(140,50,12);
nut1(170,50,12);nut1(200,50,12);nut1(230,50,12);
nut(50,50,4);nut(80,50,1);nut(110,50,2);nut(140,50,14);nut(170,50,3);
nut(200,50,5);nut(230,50,15);nut2(50,70,3);nut2(80,70,3);nut2(110,70,3);
nut2(140,70,3);nut2(170,70,3);nut2(200,70,3);nut2(230,70,3);
setcolor(15);
outtextxy(47,67,"D");outtextxy(77,67,"X");outtextxy(107,67,"G");
outtextxy(137,67,"V");outtextxy(160,67," L");outtextxy(190,67," T");
outtextxy(219,67," W");
}
do
{
ch=toupper(getch());
if(ch=='B')
{
xemkq(dm);
}
else
if(ch==27)
exit(1);
if(ch==13)
printf("");
}
GVHD : TH.S …………………. ……..

SVTH : ……………………….


TRANG 14


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

while(ch!='B'&&ch!=27&&ch!=13);
do
{
ch=toupper(getch());
if(ch=='B')
{
xemkq(dm);
}
doanmau(dem,color1);
dung=0;
for(int i=1;i<=4;i++)
if(dm[i]==color1[i])
dung=dung+1;
xuatvitridung(dung,dem);
dem=dem+1;
}
while(dung!=4&&dem<10&&ch!=27);
settextstyle(0,0,2);
setcolor(12);
if(dung==4) /
{
settextstyle(0,0,1);

outtextxy(150,400," NHAN PHIM ENTER HOAC PHIM BAT KI
DE TIEP TUC");
xuatkq(dm); //xuat ket qua
switch(game){ //xuat cau thong bao
case 1:
settextstyle(1,0,2);
chu3d(110,360,3,5,10,"CHUC MUNG BAN DA DOAN DUNG
GAME 4 MAU");
bieutuong();
getch();
break;
case 2:
settextstyle(1,0,2);
setcolor(14);
chu3d(110,360,4,5,10,"CHUC MUNG BAN DA DOAN DUNG
GAME 5 MAU");
bieutuong();
GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 15


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

getch();
break;

case 3:
settextstyle(1,0,2);
setcolor(14);
chu3d(110,360,4,5,10,"CHUC MUNG BAN DA DOAN DUNG
GAME 6 MAU");
bieutuong();
getch();
break;
}
}
game=game+1;
}
while(somau!=7&&dung==4);
if(dung==4)
{
cleardevice();
ktdh();
setfillstyle(8,11);
bar(0,0,getmaxx(),getmaxy());
setfillstyle(0,1); //0 to bang mau nen,1 to mau xanh da troi
bar(20,20,getmaxx()-20,getmaxy()-20 );
setbkcolor(0);
settextstyle(8,0,7);
chu3d(140,120,6,5,10,"YOU WIN !");
settextstyle(0,0,1);
chu3d(150,400,1,4,15," Nhan phim ESC hoac phim bat ki de thoat
de thoat");
setcolor(4);setfillstyle(1,4);circle(310,270,25);floodfill(310,270,4);
setcolor(15);setfillstyle(1,15);circle(340,280,25);floodfill(340,280,15);
setcolor(2);setfillstyle(1,2);circle(300,300,25);floodfill(300,300,2);

setcolor(14);setfillstyle(1,14);circle(320,330,25);floodfill(320,330,14);
setcolor(3);setfillstyle(1,3);circle(345,320,25);floodfill(345,320,3);
setcolor(5);setfillstyle(1,5);circle(365,290,25);floodfill(365,290,5);
setcolor(10);setfillstyle(1,10);circle(325,310,25);floodfill(325,310,10);
getch();
exit(1);
}
GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 16


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

else
{
settextstyle(1,0,2);
setcolor(14);
chu3d(200,350,4,5,10," TIEC QUA BAN DA DOAN SAI !");
outtextxy(150,400," Nhan phim bat ky de choi lai hoac ESC de
thoat");
xuatkq(dm);
bieutuong();
delay(200);
cleardevice();
ktdh();

setfillstyle(8,11);
bar(0,0,getmaxx(),getmaxy());
setfillstyle(0,1);
bar(20,20,getmaxx()-20,getmaxy()-20 );
settextstyle(1,0,5);
chu3d(200,160,7,5,11,"GAME OVER");
settextstyle(0,0,1);
outtextxy(150,400," Nhan phim bat ky de choi lai hoac ESC de
thoat");
getch();
exit(1);
}
}
while(getch()!=27);
closegraph();
}

CHƯƠNG III : ỨNG DỤNG
I. MÔ HÌNH CỦA CHƯƠNG TRÌNH CHÍNH
GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 17


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I


BEGIN

S

LỰA CHỌN MENU
NHƯ HƯỚNG DẪN

Begin
Đ
THỰC HIỆN
i=1
CÔNG VIỆC

END

S

i≤4
Đ

6

0
1

5

2

4


3
Dm[i]=1

Dm[i]=2

Dm[i]=3

Dm[i]=4

Dm[i]=5

Dm[i]=6

Dm[i]=7

II. LƯU ĐỒ CỦA MỘT SỐ CHƯƠNG TRÌNH CON
1 . Chương trình Chọn màu ngẫu nhiên
Tăng i

GVHD : TH.S …………………. ……..

SVTH : ……………………….

End

TRANG 18


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU


NIÊN LUẬN I

Begin

i=1

S

i≤4
Đ
Mau=toupper(getch())
Sai=0

D

G

W

V
X

Color1i]=1
m=4

Color1[i]=2

Color1[i]=3


m=2

m=14

Color1[i]=4
m=1

L

T
Color1[i]=5
m=3

Color1[i]=6
m=5

Color1[i]=7
m=15

sai

2. Chương trình đoán màu

Nut(x+k,y+dem*25,m)

Tăng i

GVHD : TH.S …………………. ……..

SVTH : ……………………….

End

TRANG 19


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

Begin

i=1

i≤4

S

Đ

Kq[i]==1

S

Kq[i]==2

Đ
Nut(480+k,100,1)
K=k +25

S


Kq[i]==5

Nut(480+k,100,14)
K=k +25

S

Kq[i]==4

Đ
Nut(480+k,100,3)
K=k +25

S

Đ

Nut(480+k,100,2)
K=k +25

Nut(480+k,100,4)
K=k +25

Kq[i]==6

Kq[i]==3

Đ


Đ

S

S

Đ
Nut(480+k,100,5)
K=k +25

Kq[i]==7
Đ
Nut(480+k,100,15)
K=k +25 trình
3. Chương

xuất kết quả

Tăng i

GVHD : TH.S …………………. ……..

SVTH : ……………………….
End

TRANG 20


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU


NIÊN LUẬN I

Begin

0

4
1

3

2

Outtextxy(437,9
4.Chương
trình xuất vị Outtextxy(437,9
trí đúng
7+vt*25,”0”)

7+vt*25,”1”)

GVHD : TH.S …………………. ……..

Outtextxy(437,9
7+vt*25,”2”)

Outtextxy(437,9

Outtextxy(437,9


7+vt*25,”3”)

7+vt*25,”4”)

SVTH : ……………………….
End

TRANG 21


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

III. GIỚI THIỆU VỀ CHƯƠNG TRÌNH
Trò chơi đoán màu là trong những trò chơi trí tuệ, giúp cho mọi người giải trí, thư giản
trong những lúc căng thẳng. Để khởi động chương trình trò chơi máy bạn phải cài chương
trình Turbo C, sau đó bạn vào thư mục niên luận chay file DEMO.EXE (chú ý file DEMO.EXE
phải có folder BGI đi kèm cùng một cấp thư mục để chạy ổn định chương trình đồ họa) hoăc
bạn chạy file DEMO.CPP với yêu cầu là bạn phải cài Turbo C được cài vào ổ đĩa C, đường
dẫn để gọi chương trình đồ họa như sau C:\TC\BGI. Khi bạn chạy được file demo thì giao diện
đầu tiên của chương trình như sau:

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 22



CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

(Hình 1)

Để biết về trò chơi bạn chọn GIỚI THIỆU trên thanh Menu như (hình 1),
giao diện như (hinh 2 ) sau:

(Hình 2)

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 23


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

Để biết được cách chơi như thế nào bạn chọn HƯỚNG DẪN trên thanh Menu
của (hình 1),giao diện như (hình 3) sau:

(Hình 3)

Để bắt đầu trò chơi bạn chọn CHẠY DEMO trên thanh Menu của (hình 1), có
giao diện như (hinh 4) sau:


(Hình 4)

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 24


CHƯƠNG TRÌNH TRÒ CHƠI ĐOÁN MÀU

NIÊN LUẬN I

Khi xất hiện giao diện trò chơi, để bắt đầu chơi bạn nhấn Enter để chọn màu
nếu bạn chọn đúng sẽ xuất hiện giao diện (hình 5) sau:

(Hình 5)

Khi mới bắt đầu chơi hoặc trong quá trình chơi bạn muốn xem đáp án bạn
nhấn phím B. Chú ý :nếu khi bạn nhấn Enter để bắt đầu chọn màu thì bạn
không thể xem đáp án ngay được mà bạn phải đợi chọn hết bốn màu trong một
lần chọn thì bạn mới xem được. Giao diện khi bạn bấm phím B như (hình 6) sau:

(Hình 6)

GVHD : TH.S …………………. ……..

SVTH : ……………………….

TRANG 25



×