Evo jedan screen saver za tekstualni modus ( konzolu) koji jos nije gotov ali se da vidjeti. Ako imate prijedloga za poboljsanje…izvolite. Mozda do nove godine napravimo nesto ozbiljno +albino+
Kompajliranje sa gcc -o novagodina novagodina.c -lncurses
Izvodjenje sa ./novagodina
Samo jos da napomenem da jelku mozete pomijerati sa Cursor-tastama lijevo i desno i da snijeg tek pocne padati kad pretisnete ENTER.
#include <curses.h>
#include <stdlib.h>
/*'q'*/
#define QUIT 113
/* '<-'*/
#define LEFT 260
/* '->'*/
#define RIGHT 261
int main()
{
int x=40,zufall, c,i;
srand(79);
initscr();
if(has_colors()==TRUE)
start_color();
else
exit (0);
setscrreg(0,25);
keypad(stdscr,TRUE); /*Za pomijeranje jelke*/
noecho(); /*Ne izbacuj smece*/
scrollok(stdscr,TRUE); /*Scrolling ukljuceno*/
scroll(stdscr);
init_pair(1,COLOR_BLACK,COLOR_WHITE); /*Boja 1*/
init_pair(2,COLOR_RED,COLOR_WHITE); /*Boja 2*/
init_pair(3,COLOR_GREEN,COLOR_GREEN); /*Boja 3*/
init_pair(4,COLOR_MAGENTA,COLOR_MAGENTA); /*Boja 4*/
while(c!=QUIT)
{
scrl(-1); /*Jedan red nize*/
for(i=0;i<5;i++)
{
zufall=rand()%100;
attrset(A_STANDOUT|COLOR_PAIR(1)); /*Snijeg je bijel*/
mvaddch(0,zufall,'*');
attrset(A_BLINK|COLOR_PAIR(2)); /*Zmigavac*/
mvprintw(25,0,"________________________Sretna Nova 2004 Godina, puno srece i uspjeha !_____________________");
}
c=getch();
halfdelay(4);
switch(c)
{
case LEFT : if(x<1) x=79;
else x--;
break;
case RIGHT: if(x>79) x=1;
else x++;
break;
default : break;
}
attrset(A_STANDOUT|COLOR_PAIR(3)); /*Jelka je zelena*/
mvaddch(15,x,ACS_CKBOARD);
mvaddch(17,x+2,ACS_CKBOARD);
mvaddch(16,x+1,ACS_CKBOARD);
mvaddch(16,x-1,ACS_CKBOARD);
mvaddch(18,x+3,ACS_CKBOARD);
mvaddch(17,x-2,ACS_CKBOARD);
mvaddch(18,x-3,ACS_CKBOARD);
mvaddch(19,x-4,ACS_CKBOARD);
mvaddch(19,x+4,ACS_CKBOARD);
mvaddch(20,x+5,ACS_CKBOARD);
mvaddch(20,x-5,ACS_CKBOARD);
mvaddch(21,x+6,ACS_CKBOARD);
mvaddch(21,x-6,ACS_CKBOARD);
move(23,0);
clrtoeol();
attrset(A_STANDOUT|COLOR_PAIR(4));
mvaddch(23,x,ACS_CKBOARD);
}
endwin();
return 0;
}