SlideShare a Scribd company logo
ANHMATTROI - TIN5A

ĐỒ HỌA VÀ ÂM THANH TRONG C++

1. Đồ họa
-

Màn hình đồ họa
O(0,0)

x

y
Kích thước màn hình đồ họa trong TurboC thường là (640,480) và 16 màu. Vậy x
chạy từ 0 -> 639, y chạy từ 0 -> 479
-

Bảng 16 màu:

1
ANHMATTROI - TIN5A

-

Khởi động chế độ đồ họa:
+ Trong TurboC, BorlandC: khai báo tự động tìm mode màn hình
int manhinh,mode;
manhinh = mode = 0; // tự động tìm mode màn hình
initgraph(&manhinh,&mode,”đường dẫn tới thư mục chứa file EGAVGA.BGI”);
Trong TurboC file EGAVGA.BGI ở thư mục: “*TCBGI”
+ Trong Devcpp: trước khi lập trình đồ họa trên devcpp bạn phải cài thư viện đồ họa,
hướng dẫn chi tiết trên google search
initwindow(int x,int y);// kích thước màn hình đồ họa dài rộng bao nhiêu
VD: initwindow(900,700);

-

Kiểm tra xem có lỗi gì khi tạo màn hình đồ họa:
graphresult();
hàm trả lại 0: không có lỗi gì, từ 1 -> 18 tương ứng với các lỗi

-

Xóa tất cả những hình đã vẽ trên màn hình đồ họa:
cleardevice();

-

Kết thúc chế độ đồ họa:
closegraph();

-

Các hàm thường dùng
getmaxx()
getmaxy()
getx()
gety()
setbkcolor(<màu nền>)
setcolor(<màu vẽ>)
getbkcolor()
getmaxcolor()
getcolor()
putpixel(x,y,c)
getpixel(x,y)
line(x,y,x1,y1)
lineto(x,y)
linrel(x,y)

Tọa độ x lớn nhất
Tọa độ y lớn nhất
Vị trí x hiện tại của con trỏ
Vị trí y hiện tại của con trỏ
Đặt màu nền: 0 -> 15
Đặt màu vẽ: 0 -> 15
Màu nền hiện tại
Số màu tối đa của màn hình
Màu vẽ hiện tại
Vẽ điểm có tọa độ (x,y) với màu c
Trả lại màu tại điểm (x,y)
Vẽ đoạn thẳng đi qua (x,y) và (x1,y1)
Vẽ đoạn thẳng di qua vị trí hiện tại của
con trỏ tới điểm (x,y)
Giống với line(x,y)
2
ANHMATTROI - TIN5A

rectangle(x1,y2,x2,y2)
bar(x1,y2,x2,y2)
bar3d(x1,y2,x2,y2,h,top)
setlinestyle(kiểu đường, mẫu tô, độ
đậm)

setfillstyle(mẫu tô, màu tô)
setfillpattern(mẫu tô, màu tô)
getfillsettings(struct fillsettingstype
*info)
getfillpattern(mẫu tô)
drawpoly(mảng số nguyên chứa tọa độ
các điểm,số cặp điểm)
fillpoly(mảng số nguyên chứa tọa độ
các điểm,số cặp điểm)
arc(x, y, góc đầu, góc cuối, bán kính)
circle(x, y, bán kính)
pieslice(x, y, góc đầu, góc cuối, bán
kính)
ellipse(x, y, góc đầu, góc cuối, a, b)

fillellipse(x, y, a, b)
sector(x, y, góc đầu, góc cuối, a, b)
floodfill(x, y, c)

Vẽ hình chữ nhật rỗng
Vẽ hình chữ nhật đặc
h là chiều cao, top = 1 có nắp
+ kiểu đường từ 0 -> 4
0: đường đặc
1: đường chấm
2: đường gạch
3: đường gạch dài
4: đường tự tạo
+ mẫu tô: chỉ có tác dụng khi kiểu
đường là 4, ta dùng 2byte để định
nghĩa
+ đọ đạm là 1 hoặc 3
1: nét vẽ bình thường
3: nét vẽ đậm
+ mẫu tô: từ 0 -> 12
+ màu tô: từ 0 -> 15
Định nghĩa mẫu tô
Lấy mẫu tô hiện tại
Trả lại mẫu tô hiện tại
Vẽ đa giác rỗng
Vẽ đa giác đặc
Vẽ cung tròn có tâm (x, y) với các góc
và bán kính tương ứng
Vẽ đường tròn có tâm tại (x, y)
Vẽ hình quạt tròn đặc với mẫu hiện tại
Vẽ cung elip với tâm, các góc và các
bán kính theo hoàng độ và tung độ
tương ứng
Vẽ hình elip đặc
Vẽ hình quạt elip
Tô màu một hình kín chứa điểm x, y
và màu c, màu c phải trùng với
setfillstyle(mẫu tô, c);

-

Viết văn bản trong màn hình đồ họa
outtextxy(x, y, s): viết văn bẳn tại vị trí (x,y)
moveto(x, y): chuyển con trỏ chuột đến vị trí (x,y)

-

Điều chỉnh Font chữ, hướng cỡ chữ
3
ANHMATTROI - TIN5A

settextstyle(Font, hướng, cỡ chữ)
+ Font
DEFAULT_FONT
0
SMALL_FONT
TRIPLEX_FONT
2
SANS_SERIF_FONT
GOTHIC_FONT

1
3
4

+ Hướng
HOIRIZ_DIR 0 //nằm hàng ngang
VERT_DIR

1 //nằm theo đường thẳng đứng

+ Cỡ chữ bắt đầu từ 1
-

Điều chỉnh cách viết
settextjustify(theo hướng ngang, theo hướng dọc)
+ Theo hướng nằm ngang:
LEFT_TEXT

= 0 : Viết từ trái sang phải.

CENTER_TEXT = 1 : Viết từ vị trí con trỏ sang hai bên.
RIGHT_TEXE

= 2 : Viết từ phải sang trái.

+ Theo hướng thẳng đứng:
BOTTOM_TEXT

= 0 : Viết từ dưới lên.

CENTER_TEXT

= 1 : Viết từ vị trí con trỏ lên trên và xuống dưới.

TOP_TEXT

= 2 : Viết từ trên xuống

Ví dụ: viết chương trình hiện thị bảng 16 màu
#include<iostream.h>
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
int mh,mode,i,x,y;
4
ANHMATTROI - TIN5A

char a[3];
mh = mode = 0;
initgraph(&mh,&mode,"C:TCBGI");
x = 20;
y = 10;
for(i=0;i<16;i++)
{
setfillstyle(1,i);
bar(x+15,y,x+70,y+20);
itoa(i,a,10);
setcolor(i);
outtextxy(x-5,(2*y+20)/2,a);
setcolor(15);
outtextxy(x+75,(2*y+20)/2,a);
y = y + 20;
}
getche();
closegraph();
return 0;
}

-

Chuyển động: xóa hình cũ bằng cách vẽ hình đó có màu trùng với màu nền rồi vẽ
hình mới với màu cũ.
VD: vẽ hình tròn đặc chuyển động từ trái qua phải

#include<iostream.h>
#include<graphics.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
//ve hinh tron dac chuyen dong tu trai qua phai
void HT()
{
int x,y,n;
y = getmaxy()/2;
n = getmaxx() - 10;
x = 20;
while(!kbhit())
{
if(x>n-10) x = 20;
setcolor(4);
circle(x,y,20);
5
ANHMATTROI - TIN5A

setfillstyle(1,4);
floodfill(x,y,4);
delay(10);
//xoa hinh tron vua ve
setcolor(0);
circle(x,y,20);
setfillstyle(1,0);
floodfill(x,y,0);
x = x + 1;
}
}
//ham chinh
int main()
{
int mh,mode,loi;
mh = mode = 0;
initgraph(&mh,&mode,"C:TCBGI");
loi = graphresult();
if(loi)
{
cout<<"n - Co loi kho khoi tao do hoa";
cout<<" - Ma loi: "<<loi;
getch();
return 0;
}
HT();
getch();
closegraph();
return 0;
}

2. Âm hanh
-

Trong TurboC:
sound(n): phát âm ra loa máy tính với tần số n
delay(ms): kéo dài trong ms miligiây
nosound(): tắt âm thanh đã phát
+ Các hàm này nằm ở thư viện dos.h

-

Tần số âm thanh của một số nốt nhạc:
6
ANHMATTROI - TIN5A

Đô 1
Rê
Mi
Pha thăng
Son thăng
La thăng
----------------Đô 2
Rê
Mi
Pha thăng
Son thăng
La thăng
----------------Đô 3
Rê
Mi
Pha thăng
Son
La thăng
----------------Đô 4
Rê
Mi
Pha thăng
Son thăng
La thăng
----------------Đô 5

66
73
82
91
102
115
----------------130
148
164
188
209
233
----------------264
297
330
374
415
468
----------------528
594
660
748
836
935
----------------1050

Đô thăng
Rê thăng
Pha
Son
La
Si
----------------Đô thăng
Rê thăng
Pha
Son
La
Si
----------------Đô thăng
Rê thăng
Pha
Đô thăng
La
Si
----------------Đô thăng
Rê thăng
Pha
Son
La
Si
----------------Siêu âm

70
78
86
96
108
122
----------------139
156
176
196
220
247
----------------281
313
352
396
440
495
----------------565
625
704
792
880
990
----------------30000

3. Bài tập
Bài 1. Viết chương trình mô phỏng chuyển động của kim giây

#include<graphics.h>
#include<conio.h>
#include<math.h>
#include<dos.h>
void KimGiay()
{
7
ANHMATTROI - TIN5A

int a,b,r,goc,xoa;
float x,y;
a = getmaxx()/2;
b = getmaxy()/2;
setlinestyle(0,0,1);
circle(a,b,4);
//floodfill(x,y,4);
setcolor(4);
circle(a,b,b-10);
r = b - 18;
x = y = 0;
setcolor(2);
goc = 0;
while(!kbhit())
{
x = r*cos((goc*3.14)/180);
if(x<0) x = a + x;
else x = a + x;
y = r*sin((goc*3.14)/180);
if(y<0) y = b + y;
else y = b + y;
setcolor(2);
line(a,b,(int)ceil(x),(int)ceil(y));
delay(200);
goc++;
//xoa duong vua ve
xoa = goc - 1;
x = r*cos((xoa*3.14)/180);
if(x<0) x = a + x;
else x = a + x;
y = r*sin((xoa*3.14)/180);
if(y<0) y = b + y;
else y = b + y;
setcolor(0);
line(a,b,(int)ceil(x),(int)ceil(y));
if(goc>360) goc = 0;
delay(50);
}
}
//ham chinh
int main()
{
int mh,mode;
mh = mode = 0;
8
ANHMATTROI - TIN5A

initgraph(&mh,&mode,"C:TCBGI");
KimGiay();
getch();
closegraph();
return 0;
}
Bài 2. Vẽ chuyển động theo hình xoắn ốc

#include<iostream.h>
#include<graphics.h>
#include<conio.h>
#include<dos.h>
#include<process.h>
//hinh xoan oc
void XoanOc()
{
int x,y;
x = getmaxx()/2;
y = getmaxy()/2;
int trai,phai,tren,duoi;
trai = phai = x;
tren = duoi = y;
while((x>0&&x<getmaxx())&&(y>0&&y<getmaxy()))
{
//ve mot nua tu duoi len tren
tren = tren - 6;
while(y>=tren)
{
putpixel(x,y,4);
y--;
delay(2);
}
tren = tren - 16;
//ve tu tu trai qua phai
phai = phai + 10;
while(x<=phai)
{
putpixel(x,y,4);
x++;
delay(2);
}
phai = phai + 12;
//ve tu tren xuong duoi
9
ANHMATTROI - TIN5A

duoi = duoi + 12;
while(y<=duoi)
{
putpixel(x,y,4);
y++;
delay(2);
}
duoi = duoi + 12;
//ve tu phai qua trai
trai = trai - 10;
while(x>=trai)
{
putpixel(x,y,4);
x--;
delay(2);
}
trai = trai - 12;
//ve not mot nua con lai tu duoi len tren
while(y>=getmaxy()/2)
{
putpixel(x,y,4);
y--;
delay(2);
}
}
}
int main()
{
int mh,mode;
mh = mode = 0;
initgraph(&mh,&mode,"C:TCBGI");
if(graphresult()!=0)
{
cout<<"Co loi";
exit(1);
}
XoanOc();
getche();
closegraph();
return 0;
}

10

More Related Content

What's hot

Cong thuc luong giac day du
Cong thuc luong giac  day duCong thuc luong giac  day du
Cong thuc luong giac day duLe Nguyen
 
201-bai-tap-phuong-trinh-vi-phan
 201-bai-tap-phuong-trinh-vi-phan 201-bai-tap-phuong-trinh-vi-phan
201-bai-tap-phuong-trinh-vi-phan
Sơn DC
 
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05
Nhóc Nhóc
 
Bài tập tích phân suy rộng.
Bài tập tích phân suy rộng.Bài tập tích phân suy rộng.
Bài tập tích phân suy rộng.
Van-Duyet Le
 
Bai tap-dai-so-tuyen-tinh-co-giai
Bai tap-dai-so-tuyen-tinh-co-giaiBai tap-dai-so-tuyen-tinh-co-giai
Bai tap-dai-so-tuyen-tinh-co-giai
giaoduc0123
 
ứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tíchứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tíchThế Giới Tinh Hoa
 
Công thức Vật lý đại cương III
Công thức Vật lý đại cương IIICông thức Vật lý đại cương III
Công thức Vật lý đại cương III
Vũ Lâm
 
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
Tùng Tò Mò
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Hưởng Nguyễn
 
Bai7 khai trien_taylor
Bai7 khai trien_taylorBai7 khai trien_taylor
Bai7 khai trien_taylor
ljmonking
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02
Nhóc Nhóc
 
Hệ thống thông tin
Hệ thống thông tinHệ thống thông tin
Hệ thống thông tin
vanphong20082002
 
Ky thuat do_hoa
Ky thuat do_hoaKy thuat do_hoa
Ky thuat do_hoaDee Dee
 
Nhung cong thuc luong giac co ban
Nhung cong thuc luong giac co banNhung cong thuc luong giac co ban
Nhung cong thuc luong giac co banNguyễn Hoành
 
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấpHướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
Van-Duyet Le
 
Bài tập HTML/CSS
Bài tập HTML/CSSBài tập HTML/CSS
Bài tập HTML/CSS
Thuyet Nguyen
 
Bảng công thức tích phân + mũ lôga
Bảng công thức tích phân + mũ lôgaBảng công thức tích phân + mũ lôga
Bảng công thức tích phân + mũ lôga
Phương Thảo Nguyễn
 
Chuyên đề, các dạng toán tổ hợp xác suất
Chuyên đề, các dạng toán tổ hợp xác suấtChuyên đề, các dạng toán tổ hợp xác suất
Chuyên đề, các dạng toán tổ hợp xác suấtThế Giới Tinh Hoa
 

What's hot (20)

Cong thuc luong giac day du
Cong thuc luong giac  day duCong thuc luong giac  day du
Cong thuc luong giac day du
 
201-bai-tap-phuong-trinh-vi-phan
 201-bai-tap-phuong-trinh-vi-phan 201-bai-tap-phuong-trinh-vi-phan
201-bai-tap-phuong-trinh-vi-phan
 
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05
 
Bài tập tích phân suy rộng.
Bài tập tích phân suy rộng.Bài tập tích phân suy rộng.
Bài tập tích phân suy rộng.
 
Bai tap-dai-so-tuyen-tinh-co-giai
Bai tap-dai-so-tuyen-tinh-co-giaiBai tap-dai-so-tuyen-tinh-co-giai
Bai tap-dai-so-tuyen-tinh-co-giai
 
ứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tíchứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tích
 
Công thức Vật lý đại cương III
Công thức Vật lý đại cương IIICông thức Vật lý đại cương III
Công thức Vật lý đại cương III
 
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
 
Chuong5
Chuong5Chuong5
Chuong5
 
Bai7 khai trien_taylor
Bai7 khai trien_taylorBai7 khai trien_taylor
Bai7 khai trien_taylor
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02
 
Hệ thống thông tin
Hệ thống thông tinHệ thống thông tin
Hệ thống thông tin
 
Ky thuat do_hoa
Ky thuat do_hoaKy thuat do_hoa
Ky thuat do_hoa
 
Chuong04
Chuong04Chuong04
Chuong04
 
Nhung cong thuc luong giac co ban
Nhung cong thuc luong giac co banNhung cong thuc luong giac co ban
Nhung cong thuc luong giac co ban
 
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấpHướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
 
Bài tập HTML/CSS
Bài tập HTML/CSSBài tập HTML/CSS
Bài tập HTML/CSS
 
Bảng công thức tích phân + mũ lôga
Bảng công thức tích phân + mũ lôgaBảng công thức tích phân + mũ lôga
Bảng công thức tích phân + mũ lôga
 
Chuyên đề, các dạng toán tổ hợp xác suất
Chuyên đề, các dạng toán tổ hợp xác suấtChuyên đề, các dạng toán tổ hợp xác suất
Chuyên đề, các dạng toán tổ hợp xác suất
 

Viewers also liked

Hdth01 ltudql2-lap tinhduongdoituong-vb
Hdth01 ltudql2-lap tinhduongdoituong-vbHdth01 ltudql2-lap tinhduongdoituong-vb
Hdth01 ltudql2-lap tinhduongdoituong-vbDũng Đinh
 
Ly thuyetdohoa
Ly thuyetdohoaLy thuyetdohoa
Ly thuyetdohoa
Nguyễn Tài Hải
 
Thiết lập đồ họa cho DevC++(How to setup graphics environment in DevC++)
Thiết lập đồ họa cho DevC++(How to setup graphics environment in DevC++)Thiết lập đồ họa cho DevC++(How to setup graphics environment in DevC++)
Thiết lập đồ họa cho DevC++(How to setup graphics environment in DevC++)
tiktiktc
 
Lap trinh c++ có lời giải 1
Lap trinh c++ có lời giải 1Lap trinh c++ có lời giải 1
Lap trinh c++ có lời giải 1Minh Ngoc Tran
 
Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Minh Ngoc Tran
 
Chuỗi số tăng dần lớn nhất
Chuỗi số tăng dần lớn nhấtChuỗi số tăng dần lớn nhất
Chuỗi số tăng dần lớn nhấtANHMATTROI
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trìnhHuy Rùa
 
Lap trinh c++ có lời giải 3
Lap trinh c++ có lời giải 3Lap trinh c++ có lời giải 3
Lap trinh c++ có lời giải 3Minh Ngoc Tran
 
Bài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformBài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winform
MasterCode.vn
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
MasterCode.vn
 
Slide Đồ họa máy tính
Slide Đồ họa máy tínhSlide Đồ họa máy tính
Slide Đồ họa máy tínhPham Vanhung
 
Thuat toan Prim
Thuat toan PrimThuat toan Prim
Thuat toan PrimANHMATTROI
 
Lập trình c căn bản
Lập trình c căn bảnLập trình c căn bản
Lập trình c căn bản
tienhien110293
 
Ebook hướng dẫn lập trình từ điển
Ebook hướng dẫn lập trình từ điểnEbook hướng dẫn lập trình từ điển
Ebook hướng dẫn lập trình từ điển
Anh Pham Duy
 
Giáo trình lập trình GDI+
Giáo trình lập trình GDI+Giáo trình lập trình GDI+
Giáo trình lập trình GDI+
Sự Phạm Thành
 
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
Vinh Phan
 
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phânPhương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phânHajunior9x
 
Huong dan su dung va debug voi dev c++
Huong dan su dung va debug voi dev c++Huong dan su dung va debug voi dev c++
Huong dan su dung va debug voi dev c++tuandong_ptit
 
Ung dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cvUng dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cvNguyen An
 

Viewers also liked (20)

Hdth01 ltudql2-lap tinhduongdoituong-vb
Hdth01 ltudql2-lap tinhduongdoituong-vbHdth01 ltudql2-lap tinhduongdoituong-vb
Hdth01 ltudql2-lap tinhduongdoituong-vb
 
Ly thuyetdohoa
Ly thuyetdohoaLy thuyetdohoa
Ly thuyetdohoa
 
Thiết lập đồ họa cho DevC++(How to setup graphics environment in DevC++)
Thiết lập đồ họa cho DevC++(How to setup graphics environment in DevC++)Thiết lập đồ họa cho DevC++(How to setup graphics environment in DevC++)
Thiết lập đồ họa cho DevC++(How to setup graphics environment in DevC++)
 
Do hoa may tinh
Do hoa may tinhDo hoa may tinh
Do hoa may tinh
 
Lap trinh c++ có lời giải 1
Lap trinh c++ có lời giải 1Lap trinh c++ có lời giải 1
Lap trinh c++ có lời giải 1
 
Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2
 
Chuỗi số tăng dần lớn nhất
Chuỗi số tăng dần lớn nhấtChuỗi số tăng dần lớn nhất
Chuỗi số tăng dần lớn nhất
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trình
 
Lap trinh c++ có lời giải 3
Lap trinh c++ có lời giải 3Lap trinh c++ có lời giải 3
Lap trinh c++ có lời giải 3
 
Bài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformBài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winform
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
 
Slide Đồ họa máy tính
Slide Đồ họa máy tínhSlide Đồ họa máy tính
Slide Đồ họa máy tính
 
Thuat toan Prim
Thuat toan PrimThuat toan Prim
Thuat toan Prim
 
Lập trình c căn bản
Lập trình c căn bảnLập trình c căn bản
Lập trình c căn bản
 
Ebook hướng dẫn lập trình từ điển
Ebook hướng dẫn lập trình từ điểnEbook hướng dẫn lập trình từ điển
Ebook hướng dẫn lập trình từ điển
 
Giáo trình lập trình GDI+
Giáo trình lập trình GDI+Giáo trình lập trình GDI+
Giáo trình lập trình GDI+
 
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
 
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phânPhương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
 
Huong dan su dung va debug voi dev c++
Huong dan su dung va debug voi dev c++Huong dan su dung va debug voi dev c++
Huong dan su dung va debug voi dev c++
 
Ung dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cvUng dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cv
 

Similar to Mot so ham do hoa trong c c++

Chuong 2 - Cac cau truc du lieu co ban.pptx
Chuong 2 - Cac cau truc du lieu co ban.pptxChuong 2 - Cac cau truc du lieu co ban.pptx
Chuong 2 - Cac cau truc du lieu co ban.pptx
NhatMinh733974
 
4 Pointer String Struct
4 Pointer String  Struct4 Pointer String  Struct
4 Pointer String StructCuong
 
Bai giangtrenlop
Bai giangtrenlopBai giangtrenlop
Bai giangtrenlopHồ Lợi
 
Giáo trình MSWLOGO Lớp 5
Giáo trình MSWLOGO Lớp 5Giáo trình MSWLOGO Lớp 5
Giáo trình MSWLOGO Lớp 5
Cuộc Sống Hiện Đại
 
Giáo trình Msw Logo lớp 5
Giáo trình Msw Logo lớp 5Giáo trình Msw Logo lớp 5
Giáo trình Msw Logo lớp 5
Qian Qian
 
Giáo trình MSWLogo - phần mềm logo rùa Tin học lớp 4, lớp 5
Giáo trình MSWLogo - phần mềm logo rùa Tin học lớp 4, lớp 5Giáo trình MSWLogo - phần mềm logo rùa Tin học lớp 4, lớp 5
Giáo trình MSWLogo - phần mềm logo rùa Tin học lớp 4, lớp 5
PixwaresVitNam
 
Hướng Dẫn Thiết Kế Cơ Bản Trên Accumark – Mã hàng 5426
Hướng Dẫn Thiết Kế Cơ Bản Trên Accumark – Mã hàng 5426Hướng Dẫn Thiết Kế Cơ Bản Trên Accumark – Mã hàng 5426
Hướng Dẫn Thiết Kế Cơ Bản Trên Accumark – Mã hàng 5426
Nhân Quả Công Bằng
 
Chuong 08. phan tich so lieu bang bieu do
Chuong 08.  phan tich so lieu bang bieu doChuong 08.  phan tich so lieu bang bieu do
Chuong 08. phan tich so lieu bang bieu do
Phi Phi
 
Chuong 08. phan tich so lieu bang bieu do
Chuong 08.  phan tich so lieu bang bieu doChuong 08.  phan tich so lieu bang bieu do
Chuong 08. phan tich so lieu bang bieu doDuy Tân
 
Ngon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiNgon ngu c theo chuan ansi
Ngon ngu c theo chuan ansi
Huynh MVT
 
Thuchanh Ktdk-matlab
Thuchanh Ktdk-matlabThuchanh Ktdk-matlab
Thuchanh Ktdk-matlab
mark
 
Cac ham va thu tuc trong pascal
Cac ham va thu tuc trong pascalCac ham va thu tuc trong pascal
Cac ham va thu tuc trong pascal
Võ Tâm Long
 
[Bachkhoa-Aptech] Hướng dẫn sử dụng Microsoft Office Excel 2003
[Bachkhoa-Aptech] Hướng dẫn sử dụng Microsoft Office Excel 2003[Bachkhoa-Aptech] Hướng dẫn sử dụng Microsoft Office Excel 2003
[Bachkhoa-Aptech] Hướng dẫn sử dụng Microsoft Office Excel 2003
Phạm Văn Hưng
 
Slide Python Bai 2 pythonvietnam.info
Slide Python Bai 2   pythonvietnam.infoSlide Python Bai 2   pythonvietnam.info
Slide Python Bai 2 pythonvietnam.info
Khánh Nguyễn
 
Phim tat-trong-photoshop
Phim tat-trong-photoshopPhim tat-trong-photoshop
Phim tat-trong-photoshopnhatthai1969
 
Hướng Dẫn Sử Dụng JDPaint 5.21 Cơ Bản
Hướng Dẫn Sử Dụng JDPaint 5.21 Cơ BảnHướng Dẫn Sử Dụng JDPaint 5.21 Cơ Bản
Hướng Dẫn Sử Dụng JDPaint 5.21 Cơ Bản
LovePH1
 
【 Hướng Dẫn 】 Viết Effect Aegisub Cơ Bản
【 Hướng Dẫn 】 Viết Effect Aegisub Cơ Bản【 Hướng Dẫn 】 Viết Effect Aegisub Cơ Bản
【 Hướng Dẫn 】 Viết Effect Aegisub Cơ Bản
Nhân Quả Công Bằng
 
Bai giang bai19
Bai giang bai19Bai giang bai19
Bai giang bai19
Hiếu Hồ Minh
 
bai in.docx
bai in.docxbai in.docx
bai in.docx
trantp
 

Similar to Mot so ham do hoa trong c c++ (20)

Chuong 2 - Cac cau truc du lieu co ban.pptx
Chuong 2 - Cac cau truc du lieu co ban.pptxChuong 2 - Cac cau truc du lieu co ban.pptx
Chuong 2 - Cac cau truc du lieu co ban.pptx
 
4 Pointer String Struct
4 Pointer String  Struct4 Pointer String  Struct
4 Pointer String Struct
 
Bai giangtrenlop
Bai giangtrenlopBai giangtrenlop
Bai giangtrenlop
 
Giáo trình MSWLOGO Lớp 5
Giáo trình MSWLOGO Lớp 5Giáo trình MSWLOGO Lớp 5
Giáo trình MSWLOGO Lớp 5
 
Giáo trình Msw Logo lớp 5
Giáo trình Msw Logo lớp 5Giáo trình Msw Logo lớp 5
Giáo trình Msw Logo lớp 5
 
Giáo trình MSWLogo - phần mềm logo rùa Tin học lớp 4, lớp 5
Giáo trình MSWLogo - phần mềm logo rùa Tin học lớp 4, lớp 5Giáo trình MSWLogo - phần mềm logo rùa Tin học lớp 4, lớp 5
Giáo trình MSWLogo - phần mềm logo rùa Tin học lớp 4, lớp 5
 
Hướng Dẫn Thiết Kế Cơ Bản Trên Accumark – Mã hàng 5426
Hướng Dẫn Thiết Kế Cơ Bản Trên Accumark – Mã hàng 5426Hướng Dẫn Thiết Kế Cơ Bản Trên Accumark – Mã hàng 5426
Hướng Dẫn Thiết Kế Cơ Bản Trên Accumark – Mã hàng 5426
 
Chuong 08. phan tich so lieu bang bieu do
Chuong 08.  phan tich so lieu bang bieu doChuong 08.  phan tich so lieu bang bieu do
Chuong 08. phan tich so lieu bang bieu do
 
Chuong 08. phan tich so lieu bang bieu do
Chuong 08.  phan tich so lieu bang bieu doChuong 08.  phan tich so lieu bang bieu do
Chuong 08. phan tich so lieu bang bieu do
 
Ngon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiNgon ngu c theo chuan ansi
Ngon ngu c theo chuan ansi
 
Thuchanh Ktdk-matlab
Thuchanh Ktdk-matlabThuchanh Ktdk-matlab
Thuchanh Ktdk-matlab
 
Cac ham va thu tuc trong pascal
Cac ham va thu tuc trong pascalCac ham va thu tuc trong pascal
Cac ham va thu tuc trong pascal
 
[Bachkhoa-Aptech] Hướng dẫn sử dụng Microsoft Office Excel 2003
[Bachkhoa-Aptech] Hướng dẫn sử dụng Microsoft Office Excel 2003[Bachkhoa-Aptech] Hướng dẫn sử dụng Microsoft Office Excel 2003
[Bachkhoa-Aptech] Hướng dẫn sử dụng Microsoft Office Excel 2003
 
Slide Python Bai 2 pythonvietnam.info
Slide Python Bai 2   pythonvietnam.infoSlide Python Bai 2   pythonvietnam.info
Slide Python Bai 2 pythonvietnam.info
 
Phim tat-trong-photoshop
Phim tat-trong-photoshopPhim tat-trong-photoshop
Phim tat-trong-photoshop
 
Hướng Dẫn Sử Dụng JDPaint 5.21 Cơ Bản
Hướng Dẫn Sử Dụng JDPaint 5.21 Cơ BảnHướng Dẫn Sử Dụng JDPaint 5.21 Cơ Bản
Hướng Dẫn Sử Dụng JDPaint 5.21 Cơ Bản
 
Chuong 3
Chuong 3Chuong 3
Chuong 3
 
【 Hướng Dẫn 】 Viết Effect Aegisub Cơ Bản
【 Hướng Dẫn 】 Viết Effect Aegisub Cơ Bản【 Hướng Dẫn 】 Viết Effect Aegisub Cơ Bản
【 Hướng Dẫn 】 Viết Effect Aegisub Cơ Bản
 
Bai giang bai19
Bai giang bai19Bai giang bai19
Bai giang bai19
 
bai in.docx
bai in.docxbai in.docx
bai in.docx
 

More from ANHMATTROI

Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
ANHMATTROI
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbANHMATTROI
 
Cap nhat CSDL trong VB.NET
Cap nhat CSDL trong VB.NETCap nhat CSDL trong VB.NET
Cap nhat CSDL trong VB.NETANHMATTROI
 
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaANHMATTROI
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sqlANHMATTROI
 
Mot so bai toan quy hoach dong
Mot so bai toan quy hoach dongMot so bai toan quy hoach dong
Mot so bai toan quy hoach dongANHMATTROI
 

More from ANHMATTROI (6)

Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vb
 
Cap nhat CSDL trong VB.NET
Cap nhat CSDL trong VB.NETCap nhat CSDL trong VB.NET
Cap nhat CSDL trong VB.NET
 
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi Java
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sql
 
Mot so bai toan quy hoach dong
Mot so bai toan quy hoach dongMot so bai toan quy hoach dong
Mot so bai toan quy hoach dong
 

Mot so ham do hoa trong c c++

  • 1. ANHMATTROI - TIN5A ĐỒ HỌA VÀ ÂM THANH TRONG C++ 1. Đồ họa - Màn hình đồ họa O(0,0) x y Kích thước màn hình đồ họa trong TurboC thường là (640,480) và 16 màu. Vậy x chạy từ 0 -> 639, y chạy từ 0 -> 479 - Bảng 16 màu: 1
  • 2. ANHMATTROI - TIN5A - Khởi động chế độ đồ họa: + Trong TurboC, BorlandC: khai báo tự động tìm mode màn hình int manhinh,mode; manhinh = mode = 0; // tự động tìm mode màn hình initgraph(&manhinh,&mode,”đường dẫn tới thư mục chứa file EGAVGA.BGI”); Trong TurboC file EGAVGA.BGI ở thư mục: “*TCBGI” + Trong Devcpp: trước khi lập trình đồ họa trên devcpp bạn phải cài thư viện đồ họa, hướng dẫn chi tiết trên google search initwindow(int x,int y);// kích thước màn hình đồ họa dài rộng bao nhiêu VD: initwindow(900,700); - Kiểm tra xem có lỗi gì khi tạo màn hình đồ họa: graphresult(); hàm trả lại 0: không có lỗi gì, từ 1 -> 18 tương ứng với các lỗi - Xóa tất cả những hình đã vẽ trên màn hình đồ họa: cleardevice(); - Kết thúc chế độ đồ họa: closegraph(); - Các hàm thường dùng getmaxx() getmaxy() getx() gety() setbkcolor(<màu nền>) setcolor(<màu vẽ>) getbkcolor() getmaxcolor() getcolor() putpixel(x,y,c) getpixel(x,y) line(x,y,x1,y1) lineto(x,y) linrel(x,y) Tọa độ x lớn nhất Tọa độ y lớn nhất Vị trí x hiện tại của con trỏ Vị trí y hiện tại của con trỏ Đặt màu nền: 0 -> 15 Đặt màu vẽ: 0 -> 15 Màu nền hiện tại Số màu tối đa của màn hình Màu vẽ hiện tại Vẽ điểm có tọa độ (x,y) với màu c Trả lại màu tại điểm (x,y) Vẽ đoạn thẳng đi qua (x,y) và (x1,y1) Vẽ đoạn thẳng di qua vị trí hiện tại của con trỏ tới điểm (x,y) Giống với line(x,y) 2
  • 3. ANHMATTROI - TIN5A rectangle(x1,y2,x2,y2) bar(x1,y2,x2,y2) bar3d(x1,y2,x2,y2,h,top) setlinestyle(kiểu đường, mẫu tô, độ đậm) setfillstyle(mẫu tô, màu tô) setfillpattern(mẫu tô, màu tô) getfillsettings(struct fillsettingstype *info) getfillpattern(mẫu tô) drawpoly(mảng số nguyên chứa tọa độ các điểm,số cặp điểm) fillpoly(mảng số nguyên chứa tọa độ các điểm,số cặp điểm) arc(x, y, góc đầu, góc cuối, bán kính) circle(x, y, bán kính) pieslice(x, y, góc đầu, góc cuối, bán kính) ellipse(x, y, góc đầu, góc cuối, a, b) fillellipse(x, y, a, b) sector(x, y, góc đầu, góc cuối, a, b) floodfill(x, y, c) Vẽ hình chữ nhật rỗng Vẽ hình chữ nhật đặc h là chiều cao, top = 1 có nắp + kiểu đường từ 0 -> 4 0: đường đặc 1: đường chấm 2: đường gạch 3: đường gạch dài 4: đường tự tạo + mẫu tô: chỉ có tác dụng khi kiểu đường là 4, ta dùng 2byte để định nghĩa + đọ đạm là 1 hoặc 3 1: nét vẽ bình thường 3: nét vẽ đậm + mẫu tô: từ 0 -> 12 + màu tô: từ 0 -> 15 Định nghĩa mẫu tô Lấy mẫu tô hiện tại Trả lại mẫu tô hiện tại Vẽ đa giác rỗng Vẽ đa giác đặc Vẽ cung tròn có tâm (x, y) với các góc và bán kính tương ứng Vẽ đường tròn có tâm tại (x, y) Vẽ hình quạt tròn đặc với mẫu hiện tại Vẽ cung elip với tâm, các góc và các bán kính theo hoàng độ và tung độ tương ứng Vẽ hình elip đặc Vẽ hình quạt elip Tô màu một hình kín chứa điểm x, y và màu c, màu c phải trùng với setfillstyle(mẫu tô, c); - Viết văn bản trong màn hình đồ họa outtextxy(x, y, s): viết văn bẳn tại vị trí (x,y) moveto(x, y): chuyển con trỏ chuột đến vị trí (x,y) - Điều chỉnh Font chữ, hướng cỡ chữ 3
  • 4. ANHMATTROI - TIN5A settextstyle(Font, hướng, cỡ chữ) + Font DEFAULT_FONT 0 SMALL_FONT TRIPLEX_FONT 2 SANS_SERIF_FONT GOTHIC_FONT 1 3 4 + Hướng HOIRIZ_DIR 0 //nằm hàng ngang VERT_DIR 1 //nằm theo đường thẳng đứng + Cỡ chữ bắt đầu từ 1 - Điều chỉnh cách viết settextjustify(theo hướng ngang, theo hướng dọc) + Theo hướng nằm ngang: LEFT_TEXT = 0 : Viết từ trái sang phải. CENTER_TEXT = 1 : Viết từ vị trí con trỏ sang hai bên. RIGHT_TEXE = 2 : Viết từ phải sang trái. + Theo hướng thẳng đứng: BOTTOM_TEXT = 0 : Viết từ dưới lên. CENTER_TEXT = 1 : Viết từ vị trí con trỏ lên trên và xuống dưới. TOP_TEXT = 2 : Viết từ trên xuống Ví dụ: viết chương trình hiện thị bảng 16 màu #include<iostream.h> #include<graphics.h> #include<conio.h> #include<stdlib.h> int main() { int mh,mode,i,x,y; 4
  • 5. ANHMATTROI - TIN5A char a[3]; mh = mode = 0; initgraph(&mh,&mode,"C:TCBGI"); x = 20; y = 10; for(i=0;i<16;i++) { setfillstyle(1,i); bar(x+15,y,x+70,y+20); itoa(i,a,10); setcolor(i); outtextxy(x-5,(2*y+20)/2,a); setcolor(15); outtextxy(x+75,(2*y+20)/2,a); y = y + 20; } getche(); closegraph(); return 0; } - Chuyển động: xóa hình cũ bằng cách vẽ hình đó có màu trùng với màu nền rồi vẽ hình mới với màu cũ. VD: vẽ hình tròn đặc chuyển động từ trái qua phải #include<iostream.h> #include<graphics.h> #include<conio.h> #include<dos.h> #include<stdlib.h> //ve hinh tron dac chuyen dong tu trai qua phai void HT() { int x,y,n; y = getmaxy()/2; n = getmaxx() - 10; x = 20; while(!kbhit()) { if(x>n-10) x = 20; setcolor(4); circle(x,y,20); 5
  • 6. ANHMATTROI - TIN5A setfillstyle(1,4); floodfill(x,y,4); delay(10); //xoa hinh tron vua ve setcolor(0); circle(x,y,20); setfillstyle(1,0); floodfill(x,y,0); x = x + 1; } } //ham chinh int main() { int mh,mode,loi; mh = mode = 0; initgraph(&mh,&mode,"C:TCBGI"); loi = graphresult(); if(loi) { cout<<"n - Co loi kho khoi tao do hoa"; cout<<" - Ma loi: "<<loi; getch(); return 0; } HT(); getch(); closegraph(); return 0; } 2. Âm hanh - Trong TurboC: sound(n): phát âm ra loa máy tính với tần số n delay(ms): kéo dài trong ms miligiây nosound(): tắt âm thanh đã phát + Các hàm này nằm ở thư viện dos.h - Tần số âm thanh của một số nốt nhạc: 6
  • 7. ANHMATTROI - TIN5A Đô 1 Rê Mi Pha thăng Son thăng La thăng ----------------Đô 2 Rê Mi Pha thăng Son thăng La thăng ----------------Đô 3 Rê Mi Pha thăng Son La thăng ----------------Đô 4 Rê Mi Pha thăng Son thăng La thăng ----------------Đô 5 66 73 82 91 102 115 ----------------130 148 164 188 209 233 ----------------264 297 330 374 415 468 ----------------528 594 660 748 836 935 ----------------1050 Đô thăng Rê thăng Pha Son La Si ----------------Đô thăng Rê thăng Pha Son La Si ----------------Đô thăng Rê thăng Pha Đô thăng La Si ----------------Đô thăng Rê thăng Pha Son La Si ----------------Siêu âm 70 78 86 96 108 122 ----------------139 156 176 196 220 247 ----------------281 313 352 396 440 495 ----------------565 625 704 792 880 990 ----------------30000 3. Bài tập Bài 1. Viết chương trình mô phỏng chuyển động của kim giây #include<graphics.h> #include<conio.h> #include<math.h> #include<dos.h> void KimGiay() { 7
  • 8. ANHMATTROI - TIN5A int a,b,r,goc,xoa; float x,y; a = getmaxx()/2; b = getmaxy()/2; setlinestyle(0,0,1); circle(a,b,4); //floodfill(x,y,4); setcolor(4); circle(a,b,b-10); r = b - 18; x = y = 0; setcolor(2); goc = 0; while(!kbhit()) { x = r*cos((goc*3.14)/180); if(x<0) x = a + x; else x = a + x; y = r*sin((goc*3.14)/180); if(y<0) y = b + y; else y = b + y; setcolor(2); line(a,b,(int)ceil(x),(int)ceil(y)); delay(200); goc++; //xoa duong vua ve xoa = goc - 1; x = r*cos((xoa*3.14)/180); if(x<0) x = a + x; else x = a + x; y = r*sin((xoa*3.14)/180); if(y<0) y = b + y; else y = b + y; setcolor(0); line(a,b,(int)ceil(x),(int)ceil(y)); if(goc>360) goc = 0; delay(50); } } //ham chinh int main() { int mh,mode; mh = mode = 0; 8
  • 9. ANHMATTROI - TIN5A initgraph(&mh,&mode,"C:TCBGI"); KimGiay(); getch(); closegraph(); return 0; } Bài 2. Vẽ chuyển động theo hình xoắn ốc #include<iostream.h> #include<graphics.h> #include<conio.h> #include<dos.h> #include<process.h> //hinh xoan oc void XoanOc() { int x,y; x = getmaxx()/2; y = getmaxy()/2; int trai,phai,tren,duoi; trai = phai = x; tren = duoi = y; while((x>0&&x<getmaxx())&&(y>0&&y<getmaxy())) { //ve mot nua tu duoi len tren tren = tren - 6; while(y>=tren) { putpixel(x,y,4); y--; delay(2); } tren = tren - 16; //ve tu tu trai qua phai phai = phai + 10; while(x<=phai) { putpixel(x,y,4); x++; delay(2); } phai = phai + 12; //ve tu tren xuong duoi 9
  • 10. ANHMATTROI - TIN5A duoi = duoi + 12; while(y<=duoi) { putpixel(x,y,4); y++; delay(2); } duoi = duoi + 12; //ve tu phai qua trai trai = trai - 10; while(x>=trai) { putpixel(x,y,4); x--; delay(2); } trai = trai - 12; //ve not mot nua con lai tu duoi len tren while(y>=getmaxy()/2) { putpixel(x,y,4); y--; delay(2); } } } int main() { int mh,mode; mh = mode = 0; initgraph(&mh,&mode,"C:TCBGI"); if(graphresult()!=0) { cout<<"Co loi"; exit(1); } XoanOc(); getche(); closegraph(); return 0; } 10