Skip to content

Instantly share code, notes, and snippets.

@mitchallen
mitchallen / test-weighted-coinflip.js
Last active January 10, 2022 03:29
Test Weighted Coin Flip
// Author: Mitch Allen
// File: test-weighted-coinflip.js
import {weightedCoinFlip} from './weighted-coinflip.js';
// define test function for weightedCoinFlip()
function testWeightedCoinFlip() {
// define the number of weighted coin flips to generate
const LIMIT = 100;
@mitchallen
mitchallen / weighted-coinflip.js
Created January 10, 2022 03:23
Weighted Coin Flip
// Author: Mitch Allen
// File: weighted-coinflip.js
// weightedCoinFlip - return a random 1 or 0 based on weight
export const weightedCoinFlip = (weight) => Math.random() <= weight;
@mitchallen
mitchallen / app.js
Created January 9, 2022 10:52
A browser app file for visualizing coin flip results
// Author: Mitch Allen
// File: app.js
import { coinFlip } from './coinflip.js';
let canvas = document.getElementById("canvas");
const SCREEN_SIZE = 300;
const DIM = 10;
const CELL_SIZE = SCREEN_SIZE / DIM;
const BORDER = 1;
@mitchallen
mitchallen / app.css
Last active January 9, 2022 14:43
A CSS file for centering a canvas element in a browser window
/**
* Author: Mitch Allen
* File: app.css
*/
canvas {
padding: 0;
margin: auto;
display: block;
width: 400px;
@mitchallen
mitchallen / index.html
Created January 9, 2022 10:47
HTML file used to display a canvas
<html>
<head>
<title>js-coinFlip-01</title>
<link rel="stylesheet" href="./app.css">
</head>
<body>
<canvas id="canvas" width="300" height="300" />
<script type="module" src="./app.js">
@mitchallen
mitchallen / test-coinflip.js
Created January 9, 2022 10:41
A file to test the coinflip.js module
// Author: Mitch Allen
// File: test-coinflip.js
import {coinFlip} from './coinflip.js';
// define test function for coinFlip()
function testCoinFlip() {
// define the number of coin flips to generate
const LIMIT = 100;
@mitchallen
mitchallen / coinflip.js
Created January 9, 2022 10:39
JavaScript Random Boolean Function
// Author: Mitch Allen
// File: coinflip.js
// coinFlip - return a random 1 or 0
export const coinFlip = () => Math.round(Math.random());
// Author: Mitch Allen
// File: js-set.js
const X_SIZE = 100;
let a = [...Array(X_SIZE)].map(() => Math.random().toFixed(2));
let set = new Set(a);
console.log(a.length);
@mitchallen
mitchallen / pickone.js
Created January 2, 2022 12:02
JavaScript example of random picking from a list.
// Author: Mitch Allen
// File: pickone.js
let pickOne = (list) => list[Math.floor(Math.random() * list.length)]
let LIMIT = 5;
let list = [...Array(LIMIT)].map(() => Math.random());
console.log(list);
@mitchallen
mitchallen / coinflip.js
Last active January 2, 2022 11:31
A coinflip 50/50 chance example
// Author: Mitch Allen
// coinflip.js
let coinFlip = () => Math.round(Math.random());
const LIMIT = 100;
let list = [...Array(LIMIT)].map(() => coinFlip() ? "HEADS" : "TAILS");
const occurrences = list.reduce(function (acc, curr) {