Begin breaking up the API file
This commit is contained in:
53
src/API/Probabilities.ts
Normal file
53
src/API/Probabilities.ts
Normal 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;
|
||||
};
|
||||
Reference in New Issue
Block a user