diff --git a/play6 b/play6 index 7325212..d04f0b0 100755 --- a/play6 +++ b/play6 @@ -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; }