Flood-it! fv2.3Делать было нефиг, а руки чесались. Переписал версию 2.2 на fasm, а заодно внёс некоторые изменения:
1. Окно справки теперь закрывается, если закрыть основное окно.
2. Окно проверяет "свернутость в заголовок" надёжным способом.
3. Генератор псевдослучайных чисел полностью переписан (хз как называется этот тип PRNG, но вроде он работает

); теперь он работает быстрее и не использует команду
rdtsc.
4. Благодаря п. 3, теперь Flood-it! теоретически можно запустить на любом 32-битном x86-совместимом процессоре, а не только на P6+ как раньше.
5. Прорисовка сообщения о победе/прогрыше (fail/win) теперь построчная (раньше каждый блок рисовался отдельно).
6. В игру теперь можно
полноценно играть
без мыши - только используя клаву
Cкриншот:
Attachment:
Flood-it!.png [ 6.11 KiB | Viewed 4079 times ]
Из-за того, что в этой порядком оптимизированной программе небольших размеров, написанной на ассемблере, избыточности мало, то и размер закупаковонного файла чуть больше 4*512 байт. Так что в четыре сектора втулить не получится

Attachment:
flood-it!-fv2.3.7z [13.38 KiB]
Downloaded 189 times
Leency, по поводу С/С-- версии:
а) при вызове потока справки указатель на вершину стека устанавливается, на самом деле, на дно стека, #stack нужно заменить на #stak+#stak_size (или как там

), ведь в данном случае стек растёт сам знаешь куда
б) лучше проверять свернуто ли окно в заголовок по байту со смещением +70, который лежит в буфере возвращаемом сисфункцией 9
в) кстати loose_matrix надо переименовать в loss_matrix, а то получается какая-то "расхлябанная" матрица

P.S. Не сразу понял, что в C-- выражение x-a*b равнозначно (x-a)*b, а не x-(a*b), т. к. с C-- раньше не работал.