Skip to content

Instantly share code, notes, and snippets.

@foxoman
Forked from reagent/.gitignore
Created March 26, 2018 22:27
Show Gist options
  • Save foxoman/79cfd9fce8714b23c1d6346740b19ae4 to your computer and use it in GitHub Desktop.
Save foxoman/79cfd9fce8714b23c1d6346740b19ae4 to your computer and use it in GitHub Desktop.
Curses + C Example
#include <ncurses.h>
#include <unistd.h>
#define DELAY 35000
int main(int argc, char *argv[]) {
int x = 0,
y = 0;
int max_x = 0,
max_y = 0;
int next_x = 0;
int direction = 1;
initscr();
noecho();
curs_set(FALSE);
getmaxyx(stdscr, max_y, max_x);
x = max_x / 2;
y = max_y / 2;
while (1) {
getmaxyx(stdscr, max_y, max_x);
y = max_y / 2;
clear();
mvprintw(y, x, "o");
refresh();
usleep(DELAY);
next_x = x + direction;
if (next_x >= max_x || next_x < 0) {
direction*= -1;
} else {
x+= direction;
}
}
endwin();
return 0;
}
CFLAGS=-Wall
LDFLAGS=-lncurses
all: demo
clean:
rm -rf demo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment