xxxxxxxxxx
60
let numbers = [];
let sorted = false;
function setup() {
createCanvas(400, 400);
initialize();
}
function draw() {
background(220);
if (!sorted) {
shuffleAndCheck();
}
displayNumbers();
}
function initialize() {
numbers = [];
sorted = false;
for (let i = 0; i < width / 10; i++) {
numbers.push(i + 1);
}
shuffle(numbers, true);
}
function shuffleAndCheck() {
shuffle(numbers, true);
sorted = isSorted(numbers);
}
function swap(arr, i, j) {
let temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
function isSorted(arr) {
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
return false;
}
}
return true;
}
function displayNumbers() {
let barWidth = width / numbers.length;
for (let i = 0; i < numbers.length; i++) {
let barHeight = map(numbers[i], 1, width / 10, 0, height);
let x = i * barWidth;
let y = height - barHeight;
fill(0);
rect(x, y, barWidth, barHeight);
}
}