Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 March 09

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Большая масса воды рядом будет радикально замедлять отток воды в соседнюю пустую ячейку.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Смотри запущеный случай, @p0lunin
```
# 9 #
9 9 9
# 0
#
```
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
чорт
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
разметка сломалась
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
такой вопрос, у тебя как flow применяется?
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
Он может применяться от ячейки в которой уже 0 находится?
источник

IA

Ilya Agafonov in RU Rust GameDev — русскоговорящее сообщество
вы как-то странно считаете давление, оно не должно зависеть ни от чего кроме высоты водяного столба
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
Ilya Agafonov
вы как-то странно считаете давление, оно не должно зависеть ни от чего кроме высоты водяного столба
у нас не физический жеж симулятор на матлабе
источник

IA

Ilya Agafonov in RU Rust GameDev — русскоговорящее сообщество
сколько там соседних клеток неважно
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Ilya Agafonov
вы как-то странно считаете давление, оно не должно зависеть ни от чего кроме высоты водяного столба
См. мой пост выше.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Дано:

Давление в ячейке. В рейндже 0.0..1.0. Рассчитывается исходя из уровня —
pressure = capacity / level

В данном конкретном случае давление всегда равно уровню воды, так что маскимальный уровень — 1.0.

Формула силы потока —
flow(a -> b) = pressure(b) - pressure(a)
источник

IA

Ilya Agafonov in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Дано:

Давление в ячейке. В рейндже 0.0..1.0. Рассчитывается исходя из уровня —
pressure = capacity / level

В данном конкретном случае давление всегда равно уровню воды, так что маскимальный уровень — 1.0.

Формула силы потока —
flow(a -> b) = pressure(b) - pressure(a)
да
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
О соседних клетках при рассчёте давления речи не идёт.
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
@niksaak
Как вообще flow прменяется, мы уже предполагаем что a больше b?
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Adevald
@niksaak
Как вообще flow прменяется, мы уже предполагаем что a больше b?
Нет.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Если а меньше б — поток отрицательный.
источник

p

polunin.ai in RU Rust GameDev — русскоговорящее сообщество
8 9 0

flow(1->2) = (8-9)/1 = -1;
flow(2->1) = (9-8)/1 = 1;
flow(2->3) = (9-0)/1 = 9;
flow(3->2) = (0-9)/1 = -9

Count(1->2) = flow(1->2)/2;
Count(2->1) = flow(2->1)/2;
и т.д.

Если Count() < 0, то ничего не делаешь
Если > 0, то переливаешь
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
polunin.ai
8 9 0

flow(1->2) = (8-9)/1 = -1;
flow(2->1) = (9-8)/1 = 1;
flow(2->3) = (9-0)/1 = 9;
flow(3->2) = (0-9)/1 = -9

Count(1->2) = flow(1->2)/2;
Count(2->1) = flow(2->1)/2;
и т.д.

Если Count() < 0, то ничего не делаешь
Если > 0, то переливаешь
Отлично, ты примерно пришёл к тому что у меня уже есть.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Теперь посчитай 9 8 9. Для наглядности flow() теперь нужно множить на 10.
источник