#! /pkg/gnu/bin/gawk -f BEGIN { srand() for (i=1; i<=15; i++) { make(i) printp(i,"l") printp(i,"r") fprintp(i,"l") fprintp(i,"r") } } func fprintp(n,w) { printf n"\t"w"\t" > "batters" printf "ab="ab[n,w]"\t" > "batters" printf "b1="b1[n,w]"\t" > "batters" printf "b2="b2[n,w]"\t" > "batters" printf "b3="b3[n,w]"\t" > "batters" printf "b4="b4[n,w]"\t" > "batters" printf "bb="bb[n,w]"\t" > "batters" printf "sacf="sf[n,w]"\t" > "batters" printf "sacb="sb[n,w]"\t" > "batters" printf "k="k[n,w]"\t" > "batters" printf "stb="stb[n,w]"\t" > "batters" printf "cs="cs[n,w] > "batters" print "" > "batters" } func printp(n,w) { printf n"\t"w"\t" printf "ab="ab[n,w]"\t" printf "b1="b1[n,w]"\t" printf "b2="b2[n,w]"\t" printf "b3="b3[n,w]"\t" printf "b4="b4[n,w]"\t" printf "bb="bb[n,w]"\t" printf "sacf="sf[n,w]"\t" printf "sacb="sb[n,w]"\t" printf "k="k[n,w]"\t" printf "stb="stb[n,w]"\t" printf "cs="cs[n,w] print "" } func make(n, hits,avg,totab,w,pct,outs,fanpct,bbpct,stpct) { stpct = .1*rand() if (rand() < .3) stpct += .2*rand() totab = int( 50*rand() + (rand()<.5)*(300 + rand()*rand()*150) ) + 10 if (rand() < .5) ab[n,"l"] = int( (.4 + .2*rand()) * totab ) +2 else ab[n,"l"] = int( rand() * totab ) +2 ab[n,"r"] = totab - ab[n,"l"] +2 w = "l" avg = .125 + .100*rand() + .100*rand()*rand() + (rand()<.3)*(.030+.050*rand()) hits = int ( avg * ab[n,w] ) outs = ab[n,w] - hits print "avg = "; printf "%3.3f",hits/ab[n,w]; print "" pct = .20*rand() + .12*rand()*rand() + .30*rand()*rand()*rand() b4[n,w] = int( hits * pct ) hits -= b4[n,w] if (rand() < .2 || stpct > .2) b3[n,w] = int( .08*rand() * hits ) else b3[n,w] = int( .02*rand() * hits ) hits -= b3[n,w] b2[n,w] = int( (.1 + .3*rand()) * hits ) b1[n,w] = hits print "slg = "; printf "%3.3f",(4*b4[n,w]+3*b3[n,w]+2*b2[n,w]+b1[n,w])/ab[n,w]; print "" if (rand()*pct > rand()*rand()) fanpct = .25 + .1*rand() else fanpct = .3*rand() k[n,w] = int( fanpct * outs ) if (rand() < .3) bbpct = .1*rand() + (.5-fanpct) else if (pct > .2) bbpct = .3+.2*rand() else bbpct = .3*rand() bb[n,w] = int( outs * bbpct ) print "oba = "; printf "%3.3f",(hits+bb[n,w])/(ab[n,w]+bb[n,w]); print "" stb[n,w] = int( (hits+bb[n,w])*stpct ) cs[n,w] = int( rand()* stb[n,w] ) sf[n,w] = int(.1 * (ab[n,w] - hits) * rand()) sb[n,w] = int(.1 * (ab[n,w] - hits) * rand() * .4) w = "r" if (rand() < .3) avg = avg + .025*rand() - .025*rand() else avg = .125 + .100*rand() + .100*rand()*rand() + (rand()<.3)*(.030+.050*rand()) hits = int ( avg * ab[n,w] ) outs = ab[n,w] - hits print "avg = "; printf "%3.3f",hits/ab[n,w]; print "" if (rand() < .3) pct = pct + .050*rand() - .050*rand() else pct = .20*rand() + .12*rand()*rand() + .30*rand()*rand()*rand() b4[n,w] = int( hits * pct ) hits -= b4[n,w] if (rand() < .3) b3[n,w] = int( .08*rand() * hits ) else b3[n,w] = int( .02*rand() * hits ) hits -= b3[n,w] b2[n,w] = int( (.1 + .3*rand()) * hits ) b1[n,w] = hits print "slg = "; printf "%3.3f",(4*b4[n,w]+3*b3[n,w]+2*b2[n,w]+b1[n,w])/ab[n,w]; print "" if (rand() < .8) fanpct = fanpct + .05*rand() - .05*rand() else if (rand()*pct > rand()*rand()) fanpct = .25 + .1*rand() else fanpct = .3*rand() k[n,w] = int( fanpct * outs ) if (rand() < .8) bbpct = bbpct + .05*rand() - .05*rand() else if (rand() < .3) bbpct = .1*rand() + (.5-fanpct) else if (pct > .2) bbpct = .3+.2*rand() else bbpct = .3*rand() bb[n,w] = int( outs * bbpct ) print "oba = "; printf "%3.3f",(hits+bb[n,w])/(ab[n,w]+bb[n,w]); print "" stb[n,w] = int( (.95 + .1*rand())(hits+bb[n,w])*stpct ) cs[n,w] = int( rand()* stb[n,w] ) sf[n,w] = int(.1 * (ab[n,w] - hits) * rand()) sb[n,w] = int(.1 * (ab[n,w] - hits) * rand() * .4) }