falsefalsetrue-1AIRES : dernière versionTrace une figure d'aire égale à 3 ua.
{width:400,height:400,cols:5,rows:5,ua:[1,1]}
this.onload = function() {
var me = this;
var wait = function() {
if ((me.reponse.find("#input-1") === null) || (me.reponse.find("#input-2") === null)) {
setTimeout(wait, 100);
} else {
var G = me.question.find("#grid");
var P = me.question.find("params").innerText;
P = JSON.parse(P.replace(/(\w*):/g, "\"$1\":"));
var REPS = null;
if (me.reponse.find("#input-2").value) {
REPS = JSON.parse(me.reponse.find("#input-2").value);
if ((REPS.length !== P.rows) || (REPS[0].length !== P.cols)) {
REPS = null;
}
};
var ALL = [];
var d;
var W = P.width;
var H = P.height;
G.inner("").stl(`width:${W}px;height:${H}px`);
G.mdown = G.selected = false;
G.paint = function(_elt) {
_elt.stl(`background-color:${_elt.selected?"orange":"unset"}`);
};
G.store = function() {
var reps = [];
var count = 0;
var line;
for (var i = 0; i < ALL.length; i++) {
line = [];
for (var j = 0; j < ALL[i].length; j++) {
line.push(ALL[i][j].selected);
if (ALL[i][j].selected) count++;
}
reps.push(line);
};
me.reponse.find("#input-2").val(JSON.stringify(reps));
me.reponse.find("#input-2").dispatchEvent(new KeyboardEvent('keyup', {}));
me.reponse.find("#input-1").val(count);
me.reponse.find("#input-1").dispatchEvent(new KeyboardEvent('keyup', {}));
};
var line;
for (var i = 0; i < P.rows; i++) {
line = [];
for (var j = 0; j < P.cols; j++) {
d = $.create("div").stl(`position:absolute;left:${j*W/P.cols}px;top:${i*H/P.rows}px;width:${W/P.cols}px;height:${H/P.rows}px;border:1px solid gray;`);
if ((j < P.cols - P.ua[0]) || (i >= P.ua[1])) {
d.selected = REPS ? REPS[i][j] : false;
d.mousedown(function(e) {
var elt = e.target;
G.mdown = true;
G.selected = elt.selected = !elt.selected;
G.paint(elt);
});
d.mouseup(function() {
G.selected = G.mdown = false;
G.store();
});
d.mouseover(function(e) {
if (G.mdown) {
var elt = e.target;
elt.selected = G.selected;
G.paint(elt);
}
});
G.paint(d);
}
line.push(d);
G.add(d);
};
ALL.push(line);
};
var UA = $.create("div").stl(`position:absolute;left:${W-P.ua[0]*W/P.cols}px;top:0px;width:${P.ua[0]*W/P.cols}px;height:${P.ua[1]*H/P.rows}px;border:3px solid black;background-color:rgba(200,200,200,0.5);font-size:24px;text-align:center;line-height:${P.ua[1]*H/P.rows}px;pointer-events: none;`);
UA.inner("1 ua");
G.add(UA);
};
};
wait();
me.reponse.hide();
};

[["3","int"],["[[false,false,false,false,null],[false,true,false,false,false],[false,true,false,false,false],[false,true,false,false,false],[false,false,false,false,false]]","empty"]]custom-line{"inps":[["a","int"],["b","empty"]],"sfx":"z"}Trace une figure d'aire égale à 3,1 ua.
{width:400,height:400,cols:10,rows:10,ua:[2,5]}
this.onload = function() {
var me = this;
var wait = function() {
if ((me.reponse.find("#input-1") === null) || (me.reponse.find("#input-2") === null)) {
setTimeout(wait, 100);
} else {
var G = me.question.find("#grid");
var P = me.question.find("params").innerText;
P = JSON.parse(P.replace(/(\w*):/g, "\"$1\":"));
var REPS = null;
if (me.reponse.find("#input-2").value) {
REPS = JSON.parse(me.reponse.find("#input-2").value);
if ((REPS.length !== P.rows) || (REPS[0].length !== P.cols)) {
REPS = null;
}
};
var ALL = [];
var d;
var W = P.width;
var H = P.height;
G.inner("").stl(`width:${W}px;height:${H}px`);
G.mdown = G.selected = false;
G.paint = function(_elt) {
_elt.stl(`background-color:${_elt.selected?"orange":"unset"}`);
};
G.store = function() {
var reps = [];
var count = 0;
var line;
for (var i = 0; i < ALL.length; i++) {
line = [];
for (var j = 0; j < ALL[i].length; j++) {
line.push(ALL[i][j].selected);
if (ALL[i][j].selected) count++;
}
reps.push(line);
};
me.reponse.find("#input-2").val(JSON.stringify(reps));
me.reponse.find("#input-2").dispatchEvent(new KeyboardEvent('keyup', {}));
me.reponse.find("#input-1").val(count);
me.reponse.find("#input-1").dispatchEvent(new KeyboardEvent('keyup', {}));
};
var line;
for (var i = 0; i < P.rows; i++) {
line = [];
for (var j = 0; j < P.cols; j++) {
d = $.create("div").stl(`position:absolute;left:${j*W/P.cols}px;top:${i*H/P.rows}px;width:${W/P.cols}px;height:${H/P.rows}px;border:1px solid gray;`);
if ((j < P.cols - P.ua[0]) || (i >= P.ua[1])) {
d.selected = REPS ? REPS[i][j] : false;
d.mousedown(function(e) {
var elt = e.target;
G.mdown = true;
G.selected = elt.selected = !elt.selected;
G.paint(elt);
});
d.mouseup(function() {
G.selected = G.mdown = false;
G.store();
});
d.mouseover(function(e) {
if (G.mdown) {
var elt = e.target;
elt.selected = G.selected;
G.paint(elt);
}
});
G.paint(d);
}
line.push(d);
G.add(d);
};
ALL.push(line);
};
var UA = $.create("div").stl(`position:absolute;left:${W-P.ua[0]*W/P.cols}px;top:0px;width:${P.ua[0]*W/P.cols}px;height:${P.ua[1]*H/P.rows}px;border:3px solid black;background-color:rgba(200,200,200,0.5);font-size:24px;text-align:center;line-height:${P.ua[1]*H/P.rows}px;pointer-events: none;`);
UA.inner("1 ua");
G.add(UA);
};
};
wait();
me.reponse.hide();
};

[["31","int"],["[[true,true,true,true,true,true,false,false,null,null],[true,true,true,true,true,true,false,false,null,null],[true,true,true,true,true,true,false,false,null,null],[true,true,true,true,true,true,false,false,null,null],[true,true,true,true,true,true,false,false,null,null],[true,false,false,false,false,false,false,false,false,false],[false,false,false,false,false,false,false,false,false,false],[false,false,false,false,false,false,false,false,false,false],[false,false,false,false,false,false,false,false,false,false],[false,false,false,false,false,false,false,false,false,false]]","empty"]]custom-line{"inps":[["a","int"],["b","empty"]],"sfx":"z"}Trace une figure d'aire égale à 1,25 ua.
{width:400,height:400,cols:8,rows:8,ua:[2,2]}
this.onload = function() {
var me = this;
var wait = function() {
if ((me.reponse.find("#input-1") === null) || (me.reponse.find("#input-2") === null)) {
setTimeout(wait, 100);
} else {
var G = me.question.find("#grid");
var P = me.question.find("params").innerText;
P = JSON.parse(P.replace(/(\w*):/g, "\"$1\":"));
var REPS = null;
if (me.reponse.find("#input-2").value) {
REPS = JSON.parse(me.reponse.find("#input-2").value);
if ((REPS.length !== P.rows) || (REPS[0].length !== P.cols)) {
REPS = null;
}
};
var ALL = [];
var d;
var W = P.width;
var H = P.height;
G.inner("").stl(`width:${W}px;height:${H}px`);
G.mdown = G.selected = false;
G.paint = function(_elt) {
_elt.stl(`background-color:${_elt.selected?"orange":"unset"}`);
};
G.store = function() {
var reps = [];
var count = 0;
var line;
for (var i = 0; i < ALL.length; i++) {
line = [];
for (var j = 0; j < ALL[i].length; j++) {
line.push(ALL[i][j].selected);
if (ALL[i][j].selected) count++;
}
reps.push(line);
};
me.reponse.find("#input-2").val(JSON.stringify(reps));
me.reponse.find("#input-2").dispatchEvent(new KeyboardEvent('keyup', {}));
me.reponse.find("#input-1").val(count);
me.reponse.find("#input-1").dispatchEvent(new KeyboardEvent('keyup', {}));
};
var line;
for (var i = 0; i < P.rows; i++) {
line = [];
for (var j = 0; j < P.cols; j++) {
d = $.create("div").stl(`position:absolute;left:${j*W/P.cols}px;top:${i*H/P.rows}px;width:${W/P.cols}px;height:${H/P.rows}px;border:1px solid gray;`);
if ((j < P.cols - P.ua[0]) || (i >= P.ua[1])) {
d.selected = REPS ? REPS[i][j] : false;
d.mousedown(function(e) {
var elt = e.target;
G.mdown = true;
G.selected = elt.selected = !elt.selected;
G.paint(elt);
});
d.mouseup(function() {
G.selected = G.mdown = false;
G.store();
});
d.mouseover(function(e) {
if (G.mdown) {
var elt = e.target;
elt.selected = G.selected;
G.paint(elt);
}
});
G.paint(d);
}
line.push(d);
G.add(d);
};
ALL.push(line);
};
var UA = $.create("div").stl(`position:absolute;left:${W-P.ua[0]*W/P.cols}px;top:0px;width:${P.ua[0]*W/P.cols}px;height:${P.ua[1]*H/P.rows}px;border:3px solid black;background-color:rgba(200,200,200,0.5);font-size:24px;text-align:center;line-height:${P.ua[1]*H/P.rows}px;pointer-events: none;`);
UA.inner("1 ua");
G.add(UA);
};
};
wait();
me.reponse.hide();
};

[["5","int"],["[[false,false,false,false,false,false,null,null],[false,true,true,false,false,false,null,null],[false,true,true,false,false,false,false,false],[false,true,false,false,false,false,false,false],[false,false,false,false,false,false,false,false],[false,false,false,false,false,false,false,false],[false,false,false,false,false,false,false,false],[false,false,false,false,false,false,false,false]]","empty"]]custom-line{"inps":[["a","int"],["b","empty"]],"sfx":"z"}