xxxxxxxxxx
let rows = 5; // Dikey sıra sayısı
let cols = 4; // Yatay sıra sayısı
let gridSize;
let squareColors = [
[0, 191, 255],
[0, 238, 238],
[255, 69, 0],
[255, 48, 48],
[255, 165, 0]
];
let userSelectedCircleColors = [
[132, 112, 255],
[0, 255, 0],
[255, 228, 19],
[255, 20, 147],
[0, 250, 154]
];
function setup() {
createCanvas(600, 700);
gridSize = width / cols;
background(255);
drawColoredGrid(rows, cols, gridSize, squareColors, userSelectedCircleColors);
}
function drawColoredGrid(rows, cols, gridSize, squareColors, circleColors) {
noStroke();
for (let i = 0; i < rows; i++) {
for (let j = 0; j < cols; j++) {
let squareX = j * gridSize;
let squareY = i * gridSize;
// Rastgele kare rengi seçme
let randomSquareColor = random(squareColors);
// Daire rengini kullanıcının seçtiği renklerden seçme (aynı renkten kaçınarak)
let availableCircleColors = circleColors.filter(color => !squareColors[i].every((c, index) => c === color[index]));
let randomCircleColor = random(availableCircleColors);
// Kare çizimi ve rengini belirleme
fill(randomSquareColor);
rect(squareX, squareY, gridSize, gridSize);
// Daire çizimi ve rengini belirleme
fill(randomCircleColor);
let circleSize = min(gridSize, gridSize); // Daire boyutunu kare ile aynı yap
let circleX = squareX + gridSize / 2;
let circleY = squareY + gridSize / 2;
ellipse(circleX, circleY, circleSize, circleSize);
}
}
// Sağ üst köşeye "hello" yazma
fill(0); // Metin rengini siyah yap
textSize(50); // Yazı boyutunu ayarla
textAlign(CENTER, TOP); // Yazıyı ortaya ve yukarıya hizala
text('HOMEWORK ', width / 1.4, height / 7); // Yazıyı sağa ve aşağıya kaydır
// Altına "Week 10" yazısı ekle
textSize(35);
text('WEEK 10', width / 1.2, height / 4.6); // Daha aşağıya biraz indirildi
// Project 10 yazısının üstüne "haha haha haha haha" yazısı ekle (iki kez)
textSize(15);
text('haha haha haha haha', width / 6.4, height / 21);
text('haha haha haha haha', width / 6.4, height / 15);
// Sol üst köşeye "Project 10" yazısı ekle
textSize(20);
text('PROJECT--10', width / 7.1, height / 11);
// Altına "blah blah blah" yazısı ekle
textSize(15);
text('blah blah blah blah blah', width / 6, height / 8);
}
function keyPressed() {
if (key === 'm') {
// Her M tuşuna basıldığında, yeni renklerle gridi çiz
background(255);
// Sağ üst köşeye "hello" yazma
fill(0); // Metin rengini siyah yap
textSize(50); // Yazı boyutunu ayarla
textAlign(CENTER, TOP); // Yazıyı ortaya ve yukarıya hizala
text('HOMEWORK ', width / 1.3, height / 7); // Yazıyı sağa ve aşağıya kaydır
// Altına "Week 10" yazısı ekle
textSize(35);
text('WEEK 10', width / 1.2, height / 4.6); // Daha aşağıya biraz indirildi
drawColoredGrid(rows, cols, gridSize, squareColors, userSelectedCircleColors);
} else if (key === 's') {
// 'S' tuşuna basıldığında, canvas'ı jpg olarak kaydet
saveCanvas('coloredGrid', 'jpg');
}
}