xxxxxxxxxx
84
let fontbook;
let ballCount = 5000;
let balls = []
for (let i=0; i<ballCount; i++){
balls[i] = 0;
}
let trials = 10;
let winThreshold = 0.5;
let winReward = 5;
let lossPenalty = 1;
let counted = []
countedMax = 50;
for (let i=-countedMax; i<countedMax; i++){
counted[i] = 0;
}
function preload() {
fontbook = loadFont('PPEiko-Thin.otf');
fontbody = loadFont('ITCFranklinGothicStd-Book.otf');
}
function setup() {
createCanvas(500,500)
background(200)
noLoop()
}
function draw() {
background(200)
for (let i=-countedMax; i<countedMax; i++){
for (let level = 0; level < counted[i] ; level++){
circle(250+i*3,480-2*level,3);
}
}
}
//save canvas if press 's'
function keyPressed() {
if (key === 's') {
calculate();
measure();
draw();
//saveCanvas();
}
}
function calculate(){
for (let i=0; i<ballCount; i++){
balls[i]=0;
}
let roll;
for (let trial = 0; trial < trials; trial++){
for (let i=0; i<ballCount; i++){
roll = random(1);
if (roll >= winThreshold){
balls[i] += winReward;
} else {
balls[i] -= lossPenalty;
}
}
}
}
function measure(){
for (let i=-countedMax; i<countedMax; i++){
counted[i] = 0;
}
for (let i=0; i<ballCount; i++){
counted[balls[i]]++;
}
}