BÀI TẬP LỚN MÔN ĐỒ HỌA MÁY TÍNH Đề tài: Xây dựng game đồ họa 2D chém hoa quả

31 2 0
BÀI TẬP LỚN MÔN ĐỒ HỌA MÁY TÍNH  Đề tài: Xây dựng game đồ họa 2D chém hoa quả

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lời nói đầu Đồ họa máy tính là một lĩnh vực của khoa học máy tính nghiên cứu về cơ sở toán học, các thuật toán cũng như các kĩ thuật cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính. Đồ họa máy tính liên quan ít nhiều đến một số lĩnh vực như đại số, hình học giải tích và hình học họa hình, quang học…… và kĩ thuật máy tính và đặc biệt là chế tạo phần cứng ( các loại màn hình, các thiết bị nhập xuất, các vi mạch đồ họa). Nghiên cứu các phép biến đổi hình học trong không gian thực hai chiều là một trong những nội dung quan trọng. Qua thời gian tìm hiểu nhóm quyết định trọn đề tài Xây dựng game đồ họa 2D chém hoa quả trong không gian thực chúng em đã tìm hiểu được các thuật toán và các hàm đồ họa trong không gian 2 chiều .Ngoài ra trong quá trình tìm hiểu về để chọn ngôn ngữ để viết game chúng em cũng đã được tìm hiểu về đồ họa trên một số ngôn ngữ khác ngoài C++. Đó là một trong những điểm mới mà trong quá trình làm BTL Nhóm tìm hiểu được. Do quá trình tìm hiểu còn nhiều thiếu sót nên chương trình còn nhiều hạn chế, nhóm thực hiện rất mong nhận được ý kiến đóng góp từ phía cô giáo và các bạn để phần mềm được hoàn thiện hơn

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CNTT TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN o0o - BÀI TẬP LỚN MƠN ĐỒ HỌA MÁY TÍNH Đề tài: Xây dựng game đồ họa 2D chém hoa Giáo viên hướng dẫn: ThS.Vũ Minh Yến Sinh viên thực hiện: Nhóm lớp ĐH KHMT2 K6 Phạm Anh Đại Lê Hồng Giang Nguyễn Tiến Nhâm Hà Nội 7/2013 NHÓM _LỚP ĐH KHMT2K6 TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI KHOA CNTT Lời nói đầu Đồ họa máy tính lĩnh vực khoa học máy tính nghiên cứu sở tốn học, thuật toán kĩ thuật cho phép tạo, hiển thị điều khiển hình ảnh hình máy tính Đồ họa máy tính liên quan nhiều đến số lĩnh vực đại số, hình học giải tích hình học họa hình, quang học…… kĩ thuật máy tính đặc biệt chế tạo phần cứng ( loại hình, thiết bị nhập xuất, vi mạch đồ họa) Nghiên cứu phép biến đổi hình học khơng gian thực hai chiều nội dung quan trọng Qua thời gian tìm hiểu nhóm định trọn đề tài Xây dựng game đồ họa 2D chém hoa khơng gian thực chúng em tìm hiểu thuật tốn hàm đồ họa khơng gian chiều Ngồi q trình tìm hiểu để chọn ngôn ngữ để viết game chúng em tìm hiểu đồ họa số ngơn ngữ khác ngồi C++ Đó điểm mà q trình làm BTL Nhóm tìm hiểu Do q trình tìm hiểu cịn nhiều thiếu sót nên chương trình cịn nhiều hạn chế, nhóm thực mong nhận ý kiến đóng góp từ phía giáo bạn để phần mềm hồn thiện hơn! “Nhóm BTL: Nhóm lớp ĐH KHMT2 K6” NHÓM _LỚP ĐH KHMT2K6 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CNTT MỤC LỤC Lời nói đầu .2 I TÌM HIỂU CÁC HÀM ĐỒ HỌA TRONG KHÔNG GIAN 2D Khởi tạo đồ họa hình .3 Các hàm dùng để vẽ đường, điểm, miền .4 II GIẢI THUẬT ĐIỀU KHIỂN GAME CHÉM HOA QUẢ Vẽ cho game Tiến trình điều khiển game .7 III CÀI ĐẶT CHƯƠNG TRÌNH Giao diện game .7 Chương trình game IV TÀI LIỆU THAM KHẢO 28 V KẾT LUẬN 28 NHÓM _LỚP ĐH KHMT2K6 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI I KHOA CNTT TÌM HIỂU CÁC HÀM ĐỒ HỌA TRONG KHÔNG GIAN 2D Khởi tạo đồ họa hình Để khởi động chế độ đồ hoạ ta cần số hàm sau : Hàm void initgraph(int *graphdriver, int *graphmode, char *s) dùng để khởi động chế độ đồ hoạ, s đường dẫn tới tệp egavga.bgi, s=””(rỗng) máy tự tìm tệp egavga.bgi thư mục chủ Giá trị graphdriver graphmode xác định bảng sau: - Nếu graphdriver=VGA (hay 9) giá trị graphmode VGALO (hay 0) ứng với độ phân giải hình 640 x200 điểm ảnh, graphdriver=VGAHI (hay 2) ứng với độ phân giải 640 x 480 điểm ảnh - Nếu graphdriver=DETECT (hay 0) trương trình tự tìm kiểu hình dùng gán cho graphdriver, tự động xác định chế độ đồ hoạ có độ phân giải cao gán cho graphmode Hàm int graphresult(void) cho mã lỗi khởi động đồ hoạ hay dùng hàm đồ hoạ hàm cho giá trị tức khơng có lỗi, cho giá trị khác khơng (mã lỗi) có lỗi Hàm char *grapherrormsg(int k) cho lời giải thích tiếng anh lỗi đồ hoạ, có mã lỗi k Hàm void closegraph(void) dùng để đóng chế độ đồ hoạ Cấu trúc chung chương trình đồ hoạ: - Khởi động hệ thống đồ hoạ - Xác định màu nền(màu hình), màu nét vẽ, màu tơ kiểu tơ (mẫu tơ) - Vẽ,tơ màu hình mà ta mong muốn - Các thao tác đồ hoạ khác cho chữ - Đóng hệ thống đồ hoạ trở mode văn NHÓM _LỚP ĐH KHMT2K6 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CNTT Các hàm dùng để vẽ đường, điểm, miền Hàm void putpixel(int x, int y, int color) : tơ điểm có toạ độ(x,y) hình theo màu color Hàm int getpixel(int x, int y) : trả màu điểm ảnh vị trí có toạ độ (x,y) Hàm void line(int x1,int y1,int x2,int y2) : vẽ đường thằng nối điểm có toạ độ (x1,y1) (x2,y2), sau vẽ xong trỏ vẽ quay vị trí cũ (khơng thay đổi vịtrí) Hàm void lineto(int x,int y) : vẽ đường thẳng từ vị trí trỏ vẽ đến điểm có toạ độ (x,y),vẽ xong trỏ tới điểm có toạ độ (x,y) Một số hàm sau dùng để vẽ số hình học quen thuộc với góc vẽ xác định gd gc tức góc đầu đến góc cuối Được quay theo chiều ngược chiều kim đồng hồ: Hàm void arc(int x, int y, int gd, int gc, int r) : vẽ cung tròn với tâm có toạ độ (x,y) , bán kính r, từ góc gr đến góc cuối gc (góc tính độ) Màu nét vẽ hàm setcolor() đặt; Hàm void circle(int x, int y, int r) : vẽ đường trịn với tâm có toạ độ (x,y), bán kính r Hàm ellipse(int x, int y, int gd, int gc, int rx, int ry) : vẽ ellipse với tâm (x,y) từ góc đầu gd đến góc cuối gc, bán kính trục x rx, bán kính trục y ry Hàm void rectangle(int x1, int y1, int x2, int y2) : vẽ đường chữ nhật có đỉnh bên trái (x1,y1) đỉnh bên phải (x2,y2) Hàm void setfillstyle(int mẫu, int màu) : đặt mẫu tô màu tô cho hình đặc miền đóng Màu có giá trị từ đến 15 (xem lại bảng màu) Mẫu có giá trị từ đến 12 cho bảng Với mẫu có giá trị 12 tự thiết kế mẫu tô theo 8byte Hàm void pieslice(int x, int y, int gd, int gc, int r) : vẽ tơ màu hình quạt có tâm (x,y), bá kính r, từ góc đầu gd đến góc cuối gc NHĨM _LỚP ĐH KHMT2K6 TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI KHOA CNTT Hàm void sector(int x, int y, int gd, int gc, int rx, int ry) : vẽ tơ màu mảnh ellipse có tâm (x,y), từ góc đầu đến gd, đến góc cuối gc, có bán kính trục x rx, bán kính trục y ry II GIẢI THUẬT ĐIỀU KHIỂN GAME CHÉM HOA QUẢ Vẽ cho game Ứng dụng hàm đồ họa D môn đồ họa máy tính để vẽ loại sau tơ màu cho Giải thuật cho hàm vẽ loại quả: - Vẽ hình Dùng hàm vẽ điểm putpixel để vẽ - Tô màu cho Hàm void dauloang(int x,int y,int f,int b) { if(getpixel(x,y)!=f&&getpixel(x,y)!=b){ putpixel(x,y,f); dauloang(x,y+1,f,b); dauloang(x,y-1,f,b); dauloang(x-1,y,f,b); dauloang(x+1,y,f,b);}} Tiến trình điều khiển game Các bước tiến trình điều khiển game sau: - Khởi tạo + vẽ hàm khai báo trình vẽ quả, sau gọi hàm vẽ , vẽ lưu vào biến để gọi thơng qua biến khơng vẽ tiếp lần NHĨM _LỚP ĐH KHMT2K6 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CNTT - Vẽ xác định tọa độ chuột - Kiểm tra tọa độ chuột tọa độ trùng coi bị chém biến mất( xóa đi) - Vẽ đường quy định mảng chiều lưu file txt - Sau bị chém gọi tiếp hàm vẽ tiếp tục cho di chuyển với tọa độ quy định mảng chiều - Thời gian quy định cho game kết thúc dừng game III CÀI ĐẶT CHƯƠNG TRÌNH Giao diện game Chương trình game #include #include #include NHÓM _LỚP ĐH KHMT2K6 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI #include #include #include using namespace std; #define ROUND(a) ((long)(a+0.5)) //Các hàm putpixel ve qua void DDA(int x1,int y1,int x2,int y2) { int x; float y=y1; float m=(float)(y2-y1)/(x2-x1); putpixel(x,(int)y,GREEN); if(x1

Ngày đăng: 22/08/2023, 08:51

Tài liệu cùng người dùng

Tài liệu liên quan