Untitled

 avatar
unknown
plain_text
a year ago
1.1 kB
3
Indexable
#include <stdio.h>
#include <unistd.h>  // Dla funkcji usleep()

// Funkcja do wyświetlania liczby binarnej
void printBinary(unsigned char n) {
    for (int i = 7; i >= 0; i--) {
        if (n & (1 << i))
            printf("1");
        else
            printf("0");
    }
    printf("\n");
}

int main() {
    unsigned char snake = 0b00000111; // Początkowa pozycja węża na polu 8-bitowym
    int direction = 1; // Kierunek poruszania się węża: 1 - w prawo, -1 - w lewo

    while (1) { // Pętla nieskończona
        // Wyświetlenie pozycji węża na 8-bitowym polu
        printBinary(snake);

        // Odbijanie węża, gdy dotrze do krawędzi
        if ((snake == 0b00000111 && direction == -1) || (snake == 0b11100000 && direction == 1))
            direction *= -1;

        // Przesunięcie węża w prawo lub lewo w zależności od kierunku
        snake = (direction == 1) ? (snake << 1) : (snake >> 1);

        // Opóźnienie, aby ruch był widoczny
        usleep(500000); // 500000 mikrosekund = 0.5 sekundy
    }

    return 0;
}
Editor is loading...
Leave a Comment