Потоки

  • Автор темы louden
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

louden

Здравствуйте!
Никогда не обращался за помощью к подобным ресурсам,но тут я бессилен....
Мне надо составить программу вывода в верхнюю часть экрана дисплея изображения тучи, а в нижнюю часть экрана дисплея - емкость для воды. При запуске программы начинает идти дождь. При этом размер тучи уменьшается, a емкость наполняется водой.
Я даже не представляю как это реализовать...
У кого ни спрашивал,никто не знает.
Может кто-нибудь из вас натолкнёт на мысль или подскажет какую литературу почитать.
Может есть похожие программки,чтобы узнать хотябы примерно как это реализуется.
Вобщем посоветуйте что-нибудь.
Буду очень благодарен.
 
G

grigsoft

Что именно не понятно?
- Как рисовать вообще
- как рисовать дождь
- как уменьшать объем тучи
- как применить сюда потоки (которые тут не нужны, на самом деле, разве что это задание на потоки)

Разделяй и властвуй. Начни с малого: просто нарисуй тучу и бочку.
 
U

uis99

Туча - рисунок или фотка тучи в виде .bmp, загруженная в программу как ресурс, выводимая в прямоугольник, уменьшающийся по таймеру.
Дождь вывод точек со случайными координатами (лучше черточек) по своему таймеру.
Емкость - 4-5 рисунков одной и той же емкости, но с разным уровнем воды, сменяемые по своему таймеру.
 
L

louden

Для: uis99
Спасибо за совет!
Будем пробовать:)
 
V

Vedrus

добавлю к словам uis99'а. Лучше для вывода тучи использовать не прямоугольное окно, а заданное при помощи регионов (MSDN->SetWindowRgn).

При создании двух окон, ты скорее всего сталкнёшься с проблемой: второе окно выводится только после закрытия первого. Решается так:
1. Оформляешь каждое окно в виде отдельной функции.
2. Запускаешь каждую из этих функций ввиде отдельного потока (MSDN->CreateThread)
3. Обмениваешься между этими потоками данными таймером и механизмами межпоточного взаимодействия (MSDN->SetTimer, CreateEvent, ...)
 
U

uis99

Если условия позволяют, все в одном окне
Разделить на 3 части
Tucha.jpg
 
L

louden

Всем спасибо за советы,но я тут поднапрягся и сделал уже:)
Простенько,но работает.
Вот экзешник кому интерессно.
 

Вложения

  • Rain.rar
    240,5 КБ · Просмотры: 214
U

uis99

Для: louden
Если можно, в zip-e выложи, у меня рар не открывает, а посмотреть интересно
 
L

louden

Для: uis99
Вот в .zip:)
 

Вложения

  • Rain.zip
    311,6 КБ · Просмотры: 227
T

ttshechka

у меня похожая программа ткоо намног проще без всяких тучек и луж и программа не на C++ и просто на C
вот условие ->
раздел: графика и анимация.
условие: "Дождь": В верхней строке экрана случайным образом появляются точки, которые затем падают вниз с постоянной скоростью.

есть экзешник...
вопрос в том ктонибудь знает как извлечь исходники этой прогрммы или как они хотябы выглядеть будут?

заранее спасибо
 

Вложения

  • Rain.rar
    17,9 КБ · Просмотры: 177
G

gamecreator

поищи проги по извлечению исходников. в сети полно.
 
T

ttshechka

а как они называются я просто понятия не имею...
 
O

opium

Напиши в гугле: "Дождь". Не обращай внимание на то что тебе выдадит 2.000.000 сайтов! Недельки через 2 упорног поиска ты возможно найдеш то, что тебе нужно!
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
<!--QuoteBegin-gamecreator+11:01:2008, 19:01 -->
<span class="vbquote">(gamecreator @ 11:01:2008, 19:01 )</span><!--QuoteEBegin-->поищи проги по извлечению исходников. в сети полно.
[snapback]93129" rel="nofollow" target="_blank[/snapback]​
[/quote]

по извлечению?! ни одной не знаю...
 
U

uis99

Для: ttshechka
Проще написать заново, чем извлекать исходники. Тем более прога элементарная.
Генератор случайных чисел и функция SetPixel:

Код:
COLORREF SetPixel(
HDC hdc,	// handle of device context 
int X,	// x-coordinate of pixel 
int Y,	// y-coordinate of pixel 
COLORREF crColor 	// pixel color 
);
 
G

gamecreator

Для: uis99
я ему это говорил. как горохом об стену.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!