EnglishFrenchGermanItalianJapanesePortugueseRussianSpanishVietnamese
C/C++

Chương trình C tạo hiệu ứng chữ chạy đơn giãn trên màn hình console

Bài viết này mình sẽ viết một chương trình C tạo hiệu ứng chữ chạy đơn giãn trên màn hình console.

Để tạo được hiệu ứng chữ chạy, ở đây mình dùng hai vòng lặp for và hàm printf để in ra từng ký tự của chuổi rồi dịch chuyển từ từ sang trái. (Chi tiết các bạn xem ở comment trong mã nguồn)

Mã Nguồn:

Hàm printf_string() để xử lý in và dịch chuyển dòng chữ qua trái

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "stdbool.h"

// Hàm xử lý in và dịch chuyển hàng chữ qua trái
void print_string(char* string)
{
    int len = strlen(string);
    int i, j, n;
    char buf[32] = {};
    printf("\n\n");
    // Vòng lặp vô hạn dùng để in hàng chữ chạy liên tục.
    while (1){
        // Vòng lặp để in và di chuyển hàng chữ qua trái đến khi ký tự đầu chạm điểm giới hạn trái
        for(j = 1; j <= len; j++){
            fflush(stdout);
            n = len - j;
            strncpy(buf ,string, j);
            for (i = 0; i < n; i++)
                printf(" ");
            for (i = 0; i < j; i++)
                printf("%c", buf[i]);
            printf("\r"); // Giữ con trỏ luôn nằm trên 1 hàng
            usleep(100000);
        }

        // Vòng lặp tiếp tục in và di chuyển hàng chữ qua trái đến khi kết thúc dòng chữ
        for (j = len - 1; j != 1; j--)
        {
            fflush(stdout);
            n = len - j;
            strncpy(buf ,string + n, j);
            for (i = 0; i < j; i++){
                printf("%c", buf[i]);
            }
            for (i = 0; i < n; i++)
                printf(" ");
            printf("\r");
            usleep(100000);
        }

    }
}

Hàm main()

int main()
{
    printf("\033[2J\033[1;1H"); // Xóa toàn bộ ký tự trên màn hình console trước khi in.
    printf("%c[%d;%df",0x1B,20,10); // Di chuyển con trỏ đến tọa độ (10, 20)
    print_string("**********Dan Tin Hoc Blog**********");
    return 0;
}

Kết quả:

dan tin hoc blog

Trên đây là chương trình C dùng để tạo hiệu ứng chữ chạy đơn giản trên màn hình console.

Bài viết còn rất sơ sài nên rất mong được sự ủng hộ và nhận xét tự các bạn.

Cảm ơn các bạn đã ủng hộ Dân Tin Học

Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

To Top
Close