vytvorenie kódu na náhodnosť
priamo k veci: rád by som vytvoril niečo, čo by sa dalo použiť v hre. Hrdina získa postupom na vyšší level nejaké zlepšenie a rád by som vedel, ako ho to môže zmeniť keď sa dostane napríklad na level 30 s tým, že sa stanovia konkrétne šance pre každú zmenu. Tak napríklad, v úplnom základe má hrdina silu 0, obratnosť 0 a rýchlosť 0. Každým levelom môže dostať niečo z tohto:
+ 1 na silu (40 percent šanca)
+ 1 na obratnosť (40 percent šanca)
+ 1 na energiu (20 percent šanca)
takže... ako na to? a ideálne to urobiť tak, aby sa mohli uvedené percentá čo najjednoduchšie modifikovať a nech sa dá nastaviť počet úrovní.
Pre pridávanie komentárov sa musíte prihlásiť.
cat /dev/urandom > /dev/dsp
A:13 B:5 C:2
echo "Zadaj ${i} cislo"
read
done
echo 'A:13 B:5 C:2'
B=0
C=0
for cislo in `seq 1 20`; do
NAHODNE="$RANDOM"
PERCENTA="`echo "$NAHODNE * 100 / 32768" | bc`"
if [ 40 -gt $PERCENTA ]; then A="`expr "$A" + 1`" ; fi
if [ 80 -gt $PERCENTA ] && [ 40 -le $PERCENTA ]; then B="`expr "$B" + 1`" ; fi
if [ 80 -le $PERCENTA ]; then C="`expr "$C" + 1`" ; fi
done
echo "A: ${A} B:${B} C:${C}"
(standard_in) 1: syntax error
nahodnost.sh: 7: [: -gt: argument expected
nahodnost.sh: 8: [: -gt: argument expected
nahodnost.sh: 9: [: -le: argument expected
A: 0 B:0 C:0
No bude to chcieť ešte vycucnúť z výpočtu len celé čísla, echo "$hodnota/1" | bc
UVODNA-HODNOTA-A: 0
UVODNA-HODNOTA-B: 0
UVODNA-HODNOTA-C: 0
random 1-100
if 1-40 then UVODNA-HODNOTA-A +1
if 41-80 then UVODNA-HODNOTA-B +1
if 81-100 then UVODNA-HODNOTA-C +1
opakovanie: 10
VYSLEDNA-HODNOTA-A: UVODNA-HODNOTA-A + pridane hodnoty
VYSLEDNA-HODNOTA-B: UVODNA-HODNOTA-B + pridane hodnoty
VYSLEDNA-HODNOTA-C: UVODNA-HODNOTA-C + pridane hodnoty
echo VYSLEDNA-HODNOTA-A
echo VYSLEDNA-HODNOTA-B
echo VYSLEDNA-HODNOTA-C