Skip to content

Commit

Permalink
1 file deleted, 1 file edited
Browse files Browse the repository at this point in the history
  • Loading branch information
Croc-Prog-github authored Jun 18, 2024
1 parent cf2b1c3 commit f7e5d9f
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 94 deletions.
60 changes: 59 additions & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Probability Manager.js</title>
<script src="/core/Probability-Manager.js">import probManager from "https://raw.githubusercontent.com/Croc-Prog-github/Probability-Manager.js/main/core/Probability-Manager.js";</script>
<script>import probManager from "https://raw.githubusercontent.com/Croc-Prog-github/Probability-Manager.js/main/core/Probability-Manager.js";</script>
</head>
<body style="display: flex; flex-direction: column; background: #2b2b2b;">
<textarea name="Editor" id="Editor" oninput="Run()" rows="17" autocomplete="off" style="resize: vertical;" spellcheck="false">
Expand Down Expand Up @@ -90,4 +90,62 @@
document.getElementById('Out').value = 'Error: ' + error.message;
}
}
</script>

<script>
class ProbabilityManager {
constructor() {
this.instances = {};
}

addList(instanceName, listName) {
if (!this.instances[instanceName]) {
this.instances[instanceName] = {};
}
if (!this.instances[instanceName][listName]) {
this.instances[instanceName][listName] = { objects: [], totalWeight: 0 };
}
}

addObject(instanceName, listName, object, probability) {
if (!this.instances[instanceName] || !this.instances[instanceName][listName]) {
throw new Error("List or instance does not exist");
}

const list = this.instances[instanceName][listName];
list.objects.push({ object, probability });
list.totalWeight += probability;

// Verifica che la somma delle probabilità sia 100
if (list.totalWeight > 100) {
throw new Error("The sum of the probabilities exceeds 100%");
}
}

getRandomObject(instanceName, listName) {
if (!this.instances[instanceName] || !this.instances[instanceName][listName]) {
throw new Error("List or instance does not exist");
}

const list = this.instances[instanceName][listName];
let random = Math.random() * list.totalWeight;

for (let { object, probability } of list.objects) {
if (random < probability) {
return object;
}
random -= probability;
}
}

clearInstance(instanceName) {
if (this.instances[instanceName]) {
delete this.instances[instanceName];
}
}

clearAll() {
this.instances = {};
}
}
</script>
93 changes: 0 additions & 93 deletions index.html

This file was deleted.

0 comments on commit f7e5d9f

Please sign in to comment.