This commit is contained in:
Kimapr 2025-01-09 17:41:12 +05:00
parent fa000001a7
commit ca39940332

9
play6
View file

@ -221,6 +221,8 @@ gen() (
list_get _entry 3 _vlen
__prevwei=$__wei
__wei=$((__wei+(((10000 * _maxll) / _vlen) * _vwei)))
list_get _entry 1 _vname
#printf 'info: threshold %s of "%s"\n' "$__wei" "$_vname" >&2
list_set _entry 4 $__wei
done
maxwei=$__wei
@ -232,7 +234,7 @@ gen() (
_bini() (
t="$1"; v="$2";
i="${3:-1}"; j="${4:-$(list_len t)}"
bf="$4"
bf="$5"
mid=$((i+(j-i)/2))
_binget t $mid _vmid || return
if { test -z $bf || { _binget t $bf _vbf || return; test \
@ -257,7 +259,12 @@ gen() (
)
while true; do
num=$(randn $maxwei || exit)
#printf 'info: dice said %s\n' "$num" >&2
i=$(_bini "$list" $num) || exit
list_get list "$i" wario
list_get wario 4 wario
#printf 'info: song score %s > %s\n' "$wario" "$num" >&2
test $wario -gt $num || exit
if { test "$i" != "$3" || test $_len = 1; } &&
{ test "$i" != "$2" || test $(randn 100) -lt 9; } &&
{ test "$i" != "$1" || test $(randn 100) -lt 30; }