parent
16d0209313
commit
a113854bd0
@ -1,131 +1,135 @@
|
|||||||
function run() {
|
function run() {
|
||||||
const terminal = document.getElementById("console");
|
const terminal = document.getElementById("console");
|
||||||
const runner = new BrythonRunner({
|
const runner = new BrythonRunner({
|
||||||
stdout: {
|
stdout: {
|
||||||
write(content) {
|
write(content) {
|
||||||
terminal.innerHTML += content;
|
terminal.innerHTML += content;
|
||||||
terminal.scrollTop = terminal.scrollHeight;
|
terminal.scrollTop = terminal.scrollHeight;
|
||||||
},
|
|
||||||
flush() {},
|
|
||||||
},
|
},
|
||||||
stderr: {
|
flush() {},
|
||||||
write(content) {
|
},
|
||||||
terminal.innerHTML += content;
|
stderr: {
|
||||||
terminal.scrollTop = terminal.scrollHeight;
|
write(content) {
|
||||||
},
|
terminal.innerHTML += content;
|
||||||
flush() {},
|
terminal.scrollTop = terminal.scrollHeight;
|
||||||
},
|
},
|
||||||
stdin: {
|
flush() {},
|
||||||
async readline() {
|
},
|
||||||
terminal.innerHTML += "\n";
|
stdin: {
|
||||||
terminal.scrollTop = terminal.scrollHeight;
|
async readline() {
|
||||||
var userInput = prompt();
|
terminal.innerHTML += "\n";
|
||||||
return userInput;
|
terminal.scrollTop = terminal.scrollHeight;
|
||||||
},
|
var userInput = prompt();
|
||||||
flush() {},
|
return userInput;
|
||||||
},
|
},
|
||||||
});
|
flush() {},
|
||||||
var code = editor.getValue();
|
},
|
||||||
runner.runCode(code);
|
});
|
||||||
setTimeout(() => {
|
var code = editor.getValue();
|
||||||
runner.stopRunning();
|
runner.runCode(code);
|
||||||
}, 10 * 1000);
|
setTimeout(() => {
|
||||||
}
|
runner.stopRunning();
|
||||||
|
}, 10 * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
function run_init() {
|
function run_init() {
|
||||||
if (document.getElementById("console") != "") {
|
if (document.getElementById("console") != "") {
|
||||||
document.getElementById("console").innerHTML = "";
|
document.getElementById("console").innerHTML = "";
|
||||||
}
|
|
||||||
run();
|
|
||||||
}
|
}
|
||||||
|
run();
|
||||||
|
}
|
||||||
|
|
||||||
var editor = ace.edit("editor");
|
var editor = ace.edit("editor");
|
||||||
editor.container.style.opacity = 0.85;
|
editor.container.style.opacity = 0.85;
|
||||||
editor.setTheme("ace/theme/vibrant_ink");
|
editor.setTheme("ace/theme/vibrant_ink");
|
||||||
editor.getSession().setMode("ace/mode/python");
|
editor.getSession().setMode("ace/mode/python");
|
||||||
editor.setFontSize("16px");
|
editor.setFontSize("16px");
|
||||||
editor.setOptions({
|
editor.setOptions({
|
||||||
enableLiveAutocompletion: true,
|
enableLiveAutocompletion: true,
|
||||||
copyWithEmptySelection: true,
|
copyWithEmptySelection: true,
|
||||||
showGutter: true,
|
showGutter: true,
|
||||||
useWrapMode: true, // wrap text to view
|
useWrapMode: true, // wrap text to view
|
||||||
indentedSoftWrap: false,
|
indentedSoftWrap: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
//Function that execute given code and return the result in a given element by id
|
//Function that execute given code and return the result in a given element by id
|
||||||
|
|
||||||
function exec(code, id) {
|
function exec(code, id) {
|
||||||
const terminal = document.getElementById("console");
|
const terminal = document.getElementById("console");
|
||||||
terminal.innerHTML = "";
|
terminal.innerHTML = "";
|
||||||
const runner = new BrythonRunner({
|
const runner = new BrythonRunner({
|
||||||
stdout: {
|
stdout: {
|
||||||
write(content) {
|
write(content) {
|
||||||
if (id == "code") {
|
if (id == "code") {
|
||||||
retourCode = content;
|
retourCode = content;
|
||||||
}
|
}
|
||||||
if (id == "solution") {
|
if (id == "solution") {
|
||||||
retourSolution = content;
|
retourSolution = content;
|
||||||
}
|
}
|
||||||
},
|
|
||||||
flush() {},
|
|
||||||
},
|
},
|
||||||
stderr: {
|
flush() {},
|
||||||
write(content) {
|
},
|
||||||
if (id == "solution") {
|
stderr: {
|
||||||
retourSolution = "ERROR";
|
write(content) {
|
||||||
}
|
if (id == "solution") {
|
||||||
terminal.innerHTML += content;
|
retourSolution = "ERROR";
|
||||||
terminal.scrollTop = terminal.scrollHeight;
|
}
|
||||||
},
|
terminal.innerHTML += content;
|
||||||
flush() {},
|
terminal.scrollTop = terminal.scrollHeight;
|
||||||
},
|
},
|
||||||
stdin: {
|
flush() {},
|
||||||
async readline() {
|
},
|
||||||
terminal.innerHTML += "\n";
|
stdin: {
|
||||||
terminal.scrollTop = terminal.scrollHeight;
|
async readline() {
|
||||||
var userInput = prompt();
|
terminal.innerHTML += "\n";
|
||||||
return userInput;
|
terminal.scrollTop = terminal.scrollHeight;
|
||||||
},
|
var userInput = prompt();
|
||||||
flush() {},
|
return userInput;
|
||||||
},
|
},
|
||||||
});
|
flush() {},
|
||||||
runner.runCode(code);
|
},
|
||||||
setTimeout(() => {
|
});
|
||||||
runner.stopRunning();
|
runner.runCode(code);
|
||||||
}, 10 * 1000);
|
setTimeout(() => {
|
||||||
}
|
runner.stopRunning();
|
||||||
|
}, 10 * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* It checks if the code in the editor as the same result as the solution.
|
* It checks if the code in the editor as the same result as the solution.
|
||||||
*/
|
*/
|
||||||
function check() {
|
function check() {
|
||||||
if (retourSolution == "ERROR") {
|
if (retourSolution == "ERROR") {
|
||||||
result.innerHTML = "Il semblerait qu'il y a une erreur dans ton code :/";
|
result.innerHTML = "Il semblerait qu'il y a une erreur dans ton code :/";
|
||||||
} else if (retourSolution == retourCode) {
|
} else if (retourSolution == retourCode) {
|
||||||
result.innerHTML = "Bien joué";
|
result.innerHTML = "Bien joué";
|
||||||
document.getElementById("next").style.display = "flex";
|
document.getElementById("next").style.display = "flex";
|
||||||
} else {
|
} else {
|
||||||
result.innerHTML = "Mauvaise réponse";
|
result.innerHTML = "Mauvaise réponse";
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If the help is displayed, hide it. Otherwise, display it.
|
||||||
|
*/
|
||||||
|
function displayHelp() {
|
||||||
|
var help = document.getElementsByClassName("help");
|
||||||
|
|
||||||
|
if (help[0].style.display == "block") {
|
||||||
/**
|
|
||||||
* If the help is displayed, hide it. Otherwise, display it.
|
|
||||||
*/
|
|
||||||
function displayHelp() {
|
|
||||||
var help = document.getElementsByClassName("help");
|
|
||||||
|
|
||||||
if (help[0].style.display == "block") {
|
|
||||||
for (var i = 0; i < help.length; i++) {
|
|
||||||
help[i].style.display = "none";
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 0; i < help.length; i++) {
|
for (var i = 0; i < help.length; i++) {
|
||||||
help[i].style.display = "block";
|
help[i].style.display = "none";
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < help.length; i++) {
|
||||||
|
help[i].style.display = "block";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* It opens a new window with the name dashboard.html and the size of 1000x450.
|
||||||
|
*/
|
||||||
|
function dashboard() {
|
||||||
|
window.open("dashboard.html", "", "width=1000, height=450");
|
||||||
|
}
|
Loading…
Reference in new issue