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