Thứ Năm, 11 Tháng Tám 2022
Trang chủLập trìnhLập trình C/C++Viết hàm thay đổi vị trí dấu nhái trong màn hình console...

Viết hàm thay đổi vị trí dấu nhái trong màn hình console C/C++ – gotoxy()

DANH SÁCH BẢI VIẾT
Viết hàm thay đổi vị trí dấu nhái trong màn hình console C/C++
Lệnh tạm dừng và lệnh tạm dừng trong khoảng thời gian lập trình C/C++
Lệnh xóa màn hình Console trong C/C++ – Cách Reset màn hình Console
Viết hàm thay đổi màu chữ trong màn hình console C/C++
Viết hàm thay đổi kích thước màn hình console C/C++
Tạo âm thanh bíp trong C/C++ với hàm Beep
Hàm getch() - Lệnh bắt một phím nhấn
Hàm Kbhit() – Lệnh kiểm tra có sự kiện nhấn phím
Tạo chuyển động cơ bản trong Console C/C++ – Điều khiển chuyển động
Tỏ tình Crush bằng code C/C++ – I LOVE YOU ngôn ngữ C/C++
Xây dựng demo Code Vượt vật cản trên màn hình Console C/C++
Lập trình game Rắn săn mồi trên C/C++ màn hình Console(Demo Snake
Lập trình ứng dụng giúp bé học toán trên C/C++ màn hình Console
Lập trình game Cờ Caro trên C/C++ màn hình Console(Demo Game)

Trong màn hình console C/C++ dấu nhái chuột ghi mặc định theo thứ từ trái qua phải và từ trên xuống dưới, vậy làm sao để chúng ta có thể di chuyển dấu nhái tới vị trí bất kì trên màn hình để ghi kí tự ra vùng đó. Cùng tìm hiểu và viết hàm thay đổi vị trí con trỏ trong màn hình console tại bài viết này.

Viết hàm thay đổi vị trí con trỏ(dấu nhái)

Để viết được hàm thay đổi vị trí con trỏ chuột ta cần khai báo thư viện Windows.h, thư viện này là một thư viện Win API header….có nghĩa là ta sẽ tác động vào hệ điều hành Windows thông qua API từ thư viện này.

Ta sẽ viết hàm gotoxy() để di chuyển vị trí của con trỏ, hàm như sau:

void gotoxy(int x,int y)//x,y là tọa điểm x,y trên màn hình
{  
    //Các hàm này là hàm thao tác API với windows bạn cứ coppy thôi không cần phải hiểu quá sâu.
    HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD a = {x, y};
    SetConsoleCursorPosition(h, a);
}

Với tham số x là tọa độ vị trí x của điểm, y là tọa độ ví trí y của điểm.

Tọa độ trên màn hình Console thì hơi ngược một chút với tọa độ oxy trong toán học. Gốc O sẽ từ vị trí bên trái và phía trên màn hình, tức là trục y sẽ ngược hướng xuống dưới, xem ảnh mình họa để hiểu hơn.

Vậy mình sẽ có một ví dụ là in ra dòng chữ “TUICOCACH.COM CHAO MUNG BAN DEN VOI BLOG” đến giữa của màn hình, chương trình sẽ viết như sau.

#include <iostream> 
#include <windows.h>
 
using namespace std;

void gotoxy(int x,int y)//x,y là t?a di?m x,y trên màn hình
{  
    //Các hàm này là hàm thao tác API v?i windows b?n c? coppy thôi không c?n ph?i hi?u quá sâu.
    HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD a = {x, y};
    SetConsoleCursorPosition(h, a);
}

int main() 
{ 
	gotoxy(10,10);
	cout<<"TUICOCACH.COM CHAO MUNG BAN DEN VOI BLOG";
	gotoxy(10,30);
	return 0;
}

Và đây là kết quả khi thực hiện chương trình.

Với hàm gotoxy() chúng ta có thể ứng dụng vào một số chương trình rất hay như thử làm game trên màn hình console C/C++. Tiện thể trên blog của mình có một số demo mình viết sẵn là rắn săn mồi, tictactoe, tỏ tình crush….áp dụng đến hàm này, nếu bạn muốn thăm khảo thì trên menu chọn Lập trình -> Sourece Code.

Cảm ơn bạn đã đọc bài viết chúc bạn học tốt! sớm trở thành một Pro Dev.

[Xem tất cả bài viết chủ đề C/C++ tại đây]

0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?


0
Giáo sư! có thể ném gạch bên dưới nhé!x
()
x