Begin breaking up the API file

This commit is contained in:
2024-04-14 21:15:36 +02:00
parent a21d6c9a88
commit 0a6d779867
29 changed files with 2197 additions and 2729 deletions

53
src/API/Probabilities.ts Normal file
View File

@ -0,0 +1,53 @@
// Probability.ts
export const prob = (app: any) => (p: number): boolean => {
return app.randomGen() * 100 < p;
};
export const toss = (app: any) => (): boolean => {
return app.randomGen() > 0.5;
};
export const odds = (app: any) => (n: number, beats: number = 1): boolean => {
return app.randomGen() < (n * app.ppqn()) / (app.ppqn() * beats);
};
export const never = (app: any) => (beats: number = 1): boolean => {
return false;
};
export const almostNever = (app: any) => (beats: number = 1): boolean => {
return app.randomGen() < (0.025 * app.ppqn()) / (app.ppqn() * beats);
};
export const rarely = (app: any) => (beats: number = 1): boolean => {
return app.randomGen() < (0.1 * app.ppqn()) / (app.ppqn() * beats);
};
export const scarcely = (app: any) => (beats: number = 1): boolean => {
return app.randomGen() < (0.25 * app.ppqn()) / (app.ppqn() * beats);
};
export const sometimes = (app: any) => (beats: number = 1): boolean => {
return app.randomGen() < (0.5 * app.ppqn()) / (app.ppqn() * beats);
};
export const often = (app: any) => (beats: number = 1): boolean => {
return app.randomGen() < (0.75 * app.ppqn()) / (app.ppqn() * beats);
};
export const frequently = (app: any) => (beats: number = 1): boolean => {
return app.randomGen() < (0.9 * app.ppqn()) / (app.ppqn() * beats);
};
export const almostAlways = (app: any) => (beats: number = 1): boolean => {
return app.randomGen() < (0.985 * app.ppqn()) / (app.ppqn() * beats);
};
export const always = (app: any) => (beats: number = 1): boolean => {
return true;
};
export const dice = (app: any) => (sides: number): number => {
return Math.floor(app.randomGen() * sides) + 1;
};