LINUX.ORG.RU
ФорумTalks

ёлка с гирляндой (ncurses)


0

0

Новогодняя ночь. Лес. На двух ветвях ёлки горит гирлянда на фоне звёздного неба.
---girland.c.gz.base64
H4sICC/Pd0cAA2dpcmxhbmQuYwDNlNFqgzAUhq/rUwR6oS66mrS9GNaB66SMuQrtyhgMRDRdI50d
Jt0uxt590TStrqMw2MVEJOc/h+/8OWq6tEjX24yAUbotGWHnq0utu9e2BWU8qzTtJaGFYWofWocW
HFAL5OLGrgzZii458IBTx5SztDRMsWY8KXmcbtYbGVe5+DWhpYEsMI7CaBZPZkEwVcFV6I9v24VY
5e78STC990+U9lXuMQjD6OFE5eCQWwRHdbXfmBFeuZwuwrASl2ILOfYcN8cjLB4Qmh9SpR5y6Ugw
5j3sUqHXpULMR+HNNJi7OfTqhT0wX96SLEtXRg5zbFFLf3rS7cHwLMeqBfUUqCba6LfEng6/Af+r
u8/mpPvtSatG9nBvHg4bzfqqmS1WQt33EU388Ty+ivzZdftdDg4dVDVC1o6N+pYO9SrX6yWcl5vC
8AUkvFaGXNfUOuKFN4AYQPnhH8Bq4rDWm1Py8M65czwm1LKvR3oD5ewgFULC1Lht2aNBwz9ySrIs
CVvV/5/Y3ZatCXk1Lhxx1ZKM0Z/ZB39kf8dRRwsCtpy2/HKeCU/lnkiRvVdHk6t9al/6nq6wzgQA
AA==
---
base64 -d girland.c.gz.base64 > girland.c.gz
gunzip girland.c.gz
gcc -o girland girland.c -lcurses
ну и ./girland
★★★★★

#include <curses.h>
#include <unistd.h>

main()
{
	int i, j, j2;
	int shift = 0;
	initscr();
	start_color();
	init_pair(1, COLOR_GREEN, COLOR_BLACK);
	init_pair(2, COLOR_MAGENTA, COLOR_BLACK);
	init_pair(3, COLOR_YELLOW, COLOR_BLACK);
	init_pair(4, COLOR_BLUE, COLOR_BLACK);
	color_set(1, NULL);
	for(j2=0;j2<2;j2++){
	for(i=1;i<COLS/2;i++)for(j=1;j<LINES;j+=LINES-4)mvaddch(j+j2,i,'\\'-45*j2);
	for(i=COLS/2;i<COLS-1;i++)for(j=1;j<LINES;j+=LINES-4)mvaddch(j+j2,i,'/'+45*j2)
;
	for(i=1;i<COLS/2;i++)for(j=1;j<LINES;j+=LINES-4)mvaddch(j+j2,i,'\\'-45*j2);
	for(i=COLS/2;i<COLS-1;i++)for(j=1;j<LINES;j+=LINES-4)mvaddch(j+j2,i,'/'+45*j2)
;
	}
	color_set(3, NULL);
	for(i=COLS/2-5;i<COLS/2+5;i++)for(j=3;j<LINES-3;j++)mvaddch(j,i,ACS_BOARD);
	color_set(4, NULL);
	mvaddch(11,COLS/2+13,'+');
	//attron(A_BOLD);
	for(;;)
	{
		color_set(2 + shift, NULL);
		for(i=1+shift;i<COLS-1;i+=2)for(j=0;j<LINES;j+=LINES-1)mvaddch(j,i,'O');
		for(i=0;i<COLS;i+=COLS-1)for(j=1-shift;j<LINES;j+=2)mvaddch(j,i,'O');
		refresh();
		//usleep(90000);
		sleep(1);
		for(i=1+shift;i<COLS-1;i+=2)for(j=0;j<LINES;j+=LINES-1)mvaddch(j,i,' ');
		for(i=0;i<COLS;i+=COLS-1)for(j=1-shift;j<LINES;j+=2)mvaddch(j,i,' ');
		shift = 1 - shift;
	}
	getch();
	endwin();
}


Пипец насколько длиннее

anonymfus ★★★★
()
Ответ на: комментарий от true

> У меня GCC не установлен.

Ну ты лентяй :)

Deleted
()

20:27 al@wind ~/tmp/girland $ gcc -o girland girland.c -lcurses
girland.c:2:20: error: curses.h: Нет такого файла или каталога
girland.c: В функции ‘main’
girland.c:11: ошибка: ‘COLOR_GREEN’ undeclared (first use in this function)
girland.c:11: ошибка: (Each undeclared identifier is reported only once
girland.c:11: ошибка: for each function it appears in.)
girland.c:11: ошибка: ‘COLOR_BLACK’ undeclared (first use in this function)
girland.c:12: ошибка: ‘COLOR_MAGENTA’ undeclared (first use in this function)
girland.c:13: ошибка: ‘COLOR_YELLOW’ undeclared (first use in this function)
girland.c:14: ошибка: ‘COLOR_BLUE’ undeclared (first use in this function)
girland.c:17: ошибка: ‘COLS’ undeclared (first use in this function)
girland.c:17: ошибка: ‘LINES’ undeclared (first use in this function)
girland.c:25: ошибка: ‘ACS_BOARD’ undeclared (first use in this function)
20:27 al@wind ~/tmp/girland $

Использован текст от anonymfus

sin_a ★★★★★
()
Ответ на: комментарий от Lok

>а гиде ёлка?
ёлки там 2 ветки и ствол, которые занимают почти всё пространство.
кроме них там, собственно, только гирлянда и небо со звездой.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

ыыы))) я так понял, что это бухой мужик смотрящий в небо видит над собой палку, две полоски иголок, курсор и летающие тарелки )

phasma ★☆
()

мммм... А в пакетик завернуть мона?

DNA_Seq ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.