Comutare navigație
pbInfo.ro
Probleme
Probleme - clasa a IX-a
Probleme - clasa a X-a
Probleme - clasa a XI-a
Probleme din concursuri
Căutare problemă
Exerciții
Programează cu Blockly
Desenează cu Processing
Exersează SQL
Soluţii
Resurse
Resurse pentru clasa a IX-a
Resurse pentru clasa a X-a
Resurse pentru clasa a XI-a
Subiecte bacalaureat
Ajutor
Autentificare
Înregistrare
×
Autentificare
Utilizator sau email
Parola
Acest site foloseşte cookies. Navigând în continuare, vă exprimaţi acordul asupra folosirii cookie-urilor.
Îti place pbInfo? Atunci acceptă-l cu totul! Dezactivează modulul de blocare a reclamelor!
×
Lista scripturi
Script Nou
Ajutor
"Regine - Backtracking - copie - copie - copie" - Processing
ID
Autor
Duplicat din
Ultima modificare
#6280
Sador Lucian (lucisador)
Regine - Backtracking - copie - copie
Joi, 17 oct 2024, 22:00
var N = 6; // modifica dimensiunea aici var viteza = 5; // cadre pe secunda ////////////////////////// // // // nu edita mai jos // // // ////////////////////////// var canvas_width = 400, canvas_height = 400; var L = 40; var X = new Array(); function setup() { color(0, 180,0); createCanvas(canvas_width, canvas_height); for(var i = 0 ; i <= N ; i ++) X[i] = 0; frameRate(viteza); } var k = 1; function CoordX(i){ return 70 + (i - 1) * (L + 2); } function CoordY(i){ return 8 + L / 2 + X[i] * (L + 2); } var atac1, atac2; function Verif(k){ atac1 = 0 , atac2 = 0; for(var i = 1 ; i < k; i ++) if(X[i] == X[k] || k - i == abs(X[k] - X[i])) { atac1 = i; atac2 = k; return false; } return true; } draw = function() { background("#FFF"); if ( k < 1) { noLoop(); return; } if(X[k] < N) { X[k] ++; if(Verif(k)) { if(k == N) { push(); noStroke(); text("Soluție!!", 100,20); pop(); noLoop(); } else k ++; } } else { X[k] = 0; k --; } for(var i = 0 ; i < N ; i ++) for( var j = 0 ; j < N ; j ++) { if( (i + j) % 2 == 0 ) { fill("#f4f1bb"); } else { fill("#5ca4a8"); } rect(50 + i * (L + 2), 50 + j * (L + 2), L , L); } for(var i = 1 ; i <= N ; i ++) { fill("#f00"); ellipse(CoordX(i), CoordY(i) , L - 4 , L - 4); } if(atac1 * atac2 != 0) { stroke("#F00"); line(CoordX(atac1), CoordY(atac1), CoordX(atac2), CoordY(atac2)); } }
Duplicare
Executare
Cod
×
Cod HTML
<iframe sandbox="allow-scripts" src="/p5js/index.php?id=6280" style="width:408px; height:408px;border:solid 1px gray; overflow: scroll;"></iframe>
×
Duplicare script
Denumirea noului script
Du-te sus!