powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Звездные войны
8 сообщений из 8, страница 1 из 1
Звездные войны
    #33109850
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как с помощью ф-ций printf и sleep сделать "звездопад" (перемещается некоторое кол-во * в разных фазах). Не знаю как реализовать случайные временные фазы падения *. Пример для одной * :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
int a =  79 ;
int b = rand()% 45 ;

void Meteo()
{	
	if(a== 0 ){
		a =  79 ;
		b = rand()% 45 ;
	}		
	SetPos(a,b);
	printf("*");
	Sleep( 10 );
	SetPos(a,b);
	printf(" ");
	a--;
	return a;
}

void main()
{
       Meteo();
}
...
Рейтинг: 0 / 0
Звездные войны
    #33109863
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SetPos(x, y) - ставит символ в координату (x, y)
Sleep(x) - замедляет вывод (x - мс)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
#include <iostream.h>
#include <stdio.h>
#include <windows.h>
#include <shlwapi.h>
#include <string.h>

int X= 0 ;
int Y= 0 ;
int RectX= 0 ;
int RectY= 0 ;
int RectH= 0 ;
int RectL= 0 ;
int DF= 0 ;

HANDLE GH(){
	HANDLE a=GetStdHandle(STD_OUTPUT_HANDLE);
	if(a==INVALID_HANDLE_VALUE){
		return  0 ;
	}
	return a;
}

int SetPos(int x=X,int y=Y,char ar[]="\0"){
	cout<<flush;
	COORD coord;
	coord.X=x;
	coord.Y=y;
	X=x;
	Y=y;
	int res=SetConsoleCursorPosition(GH(),coord);
	cout<<ar;
	return res;
}
...
Рейтинг: 0 / 0
Звездные войны
    #33110110
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помойму изменение слипа в этом случае не поможет...
...
Рейтинг: 0 / 0
Звездные войны
    #33110479
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
printf работает с консолью как с потоком, в режиме телетайпа ( с прокруткой).
Для того, что ты хочешь, надо использовать либо спец. функции вывода на консоль от DOS-а, либо функции работы с консолью в WIN32.
...
Рейтинг: 0 / 0
Звездные войны
    #33110482
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потоковый вывод C++ также не поможет. Он тоже потоковый, как и printf.
...
Рейтинг: 0 / 0
Звездные войны
    #33111571
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изучайте эскейп-последовательности...
для vt100 вполне все прокатит и printf-ом :))
...
Рейтинг: 0 / 0
Звездные войны
    #33112487
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоесть получается можно сделать только параллельное перемещение звездочек в консоли, я правильно понял? Не правильно, что нужно использовать (желательно пример в коде :))?
...
Рейтинг: 0 / 0
Звездные войны
    #33112491
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivprintf работает с консолью как с потоком, в режиме телетайпа ( с прокруткой).
Для того, что ты хочешь, надо использовать либо спец. функции вывода на консоль от DOS-а, либо функции работы с консолью в WIN32.
Вы бы не могли показать, как это должно выглядеть?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Звездные войны
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]