first attempt at generating claves

master
Matthew Huntington 3 years ago
parent 52c2daa1b9
commit 6576881295

@ -1,12 +1,69 @@
const numBeats = Math.ceil(Math.random()*9); //const numBeats = Math.ceil(Math.random()*9);
let resultString = ''; //let resultString = '';
const instructionPosibilities = [ 'n', 'p', 'm', 'b' ] //const instructionPosibilities = [ 'n', 'p', 'm', 'b' ]
for(let i = 1; i <= numBeats; i++){ //for(let i = 1; i <= numBeats; i++){
const instructionIndex = Math.floor(Math.random()*instructionPosibilities.length); //const instructionIndex = Math.floor(Math.random()*instructionPosibilities.length);
resultString += instructionPosibilities[instructionIndex] + ' '; //resultString += instructionPosibilities[instructionIndex] + ' ';
//}
//console.log(resultString);
//5: 3+2, 2+3
//6: 2+2+2, 3+3
//7: 2+2+3, 2+3+2, 3+2+2
//8: 2+3+3, 3+2+3, 3+3+2
//9: 3+3+3, 2+2+2+3, 2+2+3+2, 2+3+2+2, 3+2+2+2
//const breakDown = (num)=>{
//if (num < 2) {
//return false;
//} else if (num === 2 || num === 3) {
//return [num];
//}
//const nextNum = num - 2;
//const results = [2];
//return results.concat(breakDown(nextNum))
//}
const breakDown = (num)=>{
const results = [];
let firstResult = num - 3;
if(firstResult > 3){
firstResult = breakDown(firstResult);
}
const firstArray = [3, firstResult];
results.push(firstArray);
let secondResult = num - 2;
if(secondResult > 3){
secondResult = breakDown(secondResult);
}
const secondArray = [2, secondResult];
results.push(secondArray);
return results;
} }
const result = breakDown(7);
console.dir(result, {depth:null});
console.log(resultString); const traverse = (tree)=>{
let result = '';
for(let node of tree){
if(Number.isInteger(node)){
result += node + ', ';
} else {
result += traverse(node);
}
}
return result;
}
const flattenedTree = traverse(result);
console.log(flattenedTree);

Loading…
Cancel
Save