Board.KolibriOS.org https://board.kolibrios.org/ |
|
Flood-it! https://board.kolibrios.org/viewtopic.php?f=41&t=1944 |
Page 4 of 6 |
Author: | Leency [ Fri Oct 07, 2011 9:51 pm ] |
Post subject: | Re: Flood-it! |
>Я думал только ради подсветки кода расширение сменил Вообще-то ты угадал ![]() Интересно будет посмотреть на мои недоделки. Рано я, наверно, начал из Flood-it Кликсы делать... |
Author: | dzavalishin [ Wed Oct 12, 2011 5:46 pm ] |
Post subject: | Re: Flood-it! |
интересно. под фантомом сначала вообще ничего не произошло - запускаю - ноль эмоций, висит на считывании события. посмотрел в код - оказывается, ты рисуешь только по событию перерисовки - видимо (и это нигде не документировано) - Колибри изначально посылает нити (даже если у неё нет окна) событие перерисовки окна... добавил, теперь рисуется. ![]() |
Author: | SoUrcerer [ Wed Oct 12, 2011 6:26 pm ] |
Post subject: | Re: Flood-it! |
У любой программы есть окно. Даже если оно не определено и не рисуется. |
Author: | dzavalishin [ Wed Oct 12, 2011 7:22 pm ] |
Post subject: | Re: Flood-it! |
(ну, такое-то окно вообще у всего на свете есть. ![]() |
Author: | Leency [ Sat Oct 15, 2011 3:19 am ] |
Post subject: | Re: Flood-it! |
dzavalishin wrote: интересно. под фантомом сначала вообще ничего не произошло - запускаю - ноль эмоций, висит на считывании события. посмотрел в код - оказывается, ты рисуешь только по событию перерисовки - видимо (и это нигде не документировано) - Колибри изначально посылает нити (даже если у неё нет окна) событие перерисовки окна... добавил, теперь рисуется. А можно скрин программы Flood-it в Фантоме?
![]() |
Author: | Joaquin [ Tue Oct 18, 2011 4:59 pm ] |
Post subject: | Flood-it! fv2.3 |
Flood-it! fv2.3 1. Окно справки теперь закрывается, если закрыть основное окно. 2. Окно проверяет "свернутость в заголовок" надёжным способом. 3. Генератор псевдослучайных чисел полностью переписан (хз как называется этот тип PRNG, но вроде он работает ![]() 4. Благодаря п. 3, теперь Flood-it! теоретически можно запустить на любом 32-битном x86-совместимом процессоре, а не только на P6+ как раньше. 5. Прорисовка сообщения о победе/прогрыше (fail/win) теперь построчная (раньше каждый блок рисовался отдельно). 6. В игру теперь можно полноценно играть без мыши - только используя клаву Cкриншот: Attachment: Flood-it!.png [ 6.11 KiB | Viewed 3973 times ] Из-за того, что в этой порядком оптимизированной программе небольших размеров, написанной на ассемблере, избыточности мало, то и размер закупаковонного файла чуть больше 4*512 байт. Так что в четыре сектора втулить не получится ![]() Attachment: Leency, по поводу С/С-- версии: а) при вызове потока справки указатель на вершину стека устанавливается, на самом деле, на дно стека, #stack нужно заменить на #stak+#stak_size (или как там ![]() б) лучше проверять свернуто ли окно в заголовок по байту со смещением +70, который лежит в буфере возвращаемом сисфункцией 9 в) кстати loose_matrix надо переименовать в loss_matrix, а то получается какая-то "расхлябанная" матрица ![]() P.S. Не сразу понял, что в C-- выражение x-a*b равнозначно (x-a)*b, а не x-(a*b), т. к. с C-- раньше не работал. |
Author: | Mario [ Tue Oct 18, 2011 10:12 pm ] |
Post subject: | Re: Flood-it! fv2.3 |
Joaquin wrote: Flood-it! fv2.3 Это Flood-it на Си - твой код огорчает его. ![]() |
Author: | SoUrcerer [ Tue Oct 18, 2011 10:39 pm ] |
Post subject: | Re: Flood-it! fv2.3 |
Mario wrote: Joaquin wrote: Flood-it! fv2.3 Это Flood-it на Си - твой код огорчает его. ![]() ты по поводу чего-то вроде Code: imul esi, ebx ? |
Author: | Mario [ Tue Oct 18, 2011 10:57 pm ] |
Post subject: | Re: Flood-it! |
Дима забей! Это просто еще одно мое "ценное" замечание, которое будет выпилено при очередном карательном рейде, с мотивировкой "говорите по существу". |
Author: | Joaquin [ Tue Oct 18, 2011 11:12 pm ] |
Post subject: | Re: Flood-it! fv2.3 |
Mario wrote: Joaquin wrote: Flood-it! fv2.3 Это Flood-it на Си - твой код огорчает его. ![]() Это как понять? В архиве, который я выложил, нет ни одного фрагмента на C. SoUrcerer wrote: ты по поводу чего-то вроде Code: imul esi, ebx ? А вот это я тупанул немного. Разумеется это надо заменить на: Code: imul esi |
Author: | Mario [ Tue Oct 18, 2011 11:16 pm ] |
Post subject: | Re: Flood-it! |
Специально описняю - сообщение касается тебя чуть более чем никак. Дальше должен сам додумать. |
Author: | Joaquin [ Tue Oct 18, 2011 11:40 pm ] |
Post subject: | Re: Flood-it! |
Кстати, большая просьба потестировать работу генератора случайных чисел на вменяемость - все цвета должны использоваться и поле должно быть заполнено хаотично. Если их меньше или поле заполнено повторяющимися блоками, напишите, пожалуйста. |
Author: | IgorA [ Tue Oct 18, 2011 11:48 pm ] |
Post subject: | Re: Flood-it! |
Joaquin wrote: Кстати, большая просьба потестировать работу генератора случайных чисел на вменяемость - все цвета должны использоваться и поле должно быть заполнено хаотично. По какой формуле ты генерируешь числа? Когда-то в интернете я нашел такую x(k+1) = (a*x(k)+c) mod m с рекомендуемыми параметрами a=22695477, c=1, m=2^32 Code: rand_x dd 0 |
Author: | Joaquin [ Wed Oct 19, 2011 1:16 am ] |
Post subject: | Re: Flood-it! |
IgorA wrote: По какой формуле ты генерируешь числа? Алгоритм я ниоткуда не копировал, а написал сам (лень было разбираться с существующими формулами), поэтому не в курсе как он называется. Вычисление происходит таким образом: определение переменной seed: Code: seed = 0xBABEFACE randomize, который вызывается каждый раз во время начала новой игры, делает следующее: Code: seed = seed xor (current_time xor tick_count), функция random, принимающая значения min и max (max должен быть больше min для корректного результата), делает такие вещи: Code: seed = (seed*5+0xFADEBEEF) rol 11 В общем, реализация деревянная, поэтому не уверен, что генератор работает идеально... |
Author: | Leency [ Wed Oct 19, 2011 1:28 am ] |
Post subject: | Re: Flood-it! fv2.3 |
Joaquin wrote: Flood-it! fv2.3 1. Окно справки теперь закрывается, если закрыть основное окно. 2. Окно проверяет "свернутость в заголовок" надёжным способом. 3. Генератор псевдослучайных чисел полностью переписан (хз как называется этот тип PRNG, но вроде он работает ![]() 4. Благодаря п. 3, теперь Flood-it! теоретически можно запустить на любом 32-битном x86-совместимом процессоре, а не только на P6+ как раньше. 5. Прорисовка сообщения о победе/прогрыше (fail/win) теперь построчная (раньше каждый блок рисовался отдельно). 6. В игру теперь можно полноценно играть без мыши - только используя клаву Cкриншот: Attachment: Flood-it!.png Из-за того, что в этой порядком оптимизированной программе небольших размеров, написанной на ассемблере, избыточности мало, то и размер закупаковонного файла чуть больше 4*512 байт. Так что в четыре сектора втулить не получится ![]() Attachment: flood-it!-fv2.3.7z Leency, по поводу С/С-- версии: а) при вызове потока справки указатель на вершину стека устанавливается, на самом деле, на дно стека, #stack нужно заменить на #stak+#stak_size (или как там ![]() б) лучше проверять свернуто ли окно в заголовок по байту со смещением +70, который лежит в буфере возвращаемом сисфункцией 9 в) кстати loose_matrix надо переименовать в loss_matrix, а то получается какая-то "расхлябанная" матрица ![]() а) как узнать размер стека я не знаю, но он ведь всегда равен 100, или нет? Заменил CreateThread(#help,#stak); на CreateThread(#help,#stak+100); ничего не изменилось. Всё работает и я решил оставить как было раньше. Тут пусть lev разбирается, он круче)) б) сделано в) сделано. 6 - и в мою тоже можно ![]() 4 - определяется флагом компиляции, но Колибри кажись и так нельзя на старых процессорах запускать, потому и стоит высокий флаг 1 - можно реализовать, но стоит ли игра свеч |
Page 4 of 6 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |