UNPKG

sku-pg

Version:

Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!

84 lines (72 loc) 2.2 kB
<!DOCTYPE html> <html> <head> <title></title> <script src="skulpt.min.js" type="text/javascript"></script> <script src="skulpt-stdlib.js" type="text/javascript"></script> </head> <body> <p>To use this as a test file, you need to run it in a local server. python -m http.server --port 8889 should work.</p> <img id="meme" src="logo.png"> <script type="text/javascript"> function outf(text) { var mypre = document.getElementById(Sk.pre); mypre.innerHTML = mypre.innerHTML + text; } function builtinRead(x) { if (Sk.builtinFiles === undefined || Sk.builtinFiles["files"][x] === undefined) throw "File not found: '" + x + "'"; return Sk.builtinFiles["files"][x]; } function runit(myDiv) { var prog = document.getElementById(myDiv+"_code").value; var mypre = document.getElementById(myDiv+"_pre"); mypre.innerHTML = ''; Sk.canvas = myDiv+"_canvas"; var can = document.getElementById(Sk.canvas); can.style.display = 'block'; if (can) { can.width = can.width; if (Sk.tg) { Sk.tg.canvasInit = false; Sk.tg.turtleList = []; } } Sk.pre = myDiv+"_pre"; Sk.configure({output:outf, read: builtinRead }); var myPromise = Sk.misceval.asyncToPromise(function() { return Sk.importMainWithBody("<stdin>",false,prog,true); }); myPromise.then(function(mod) {}, function(err) { console.log(err.toString()); }); } </script> <h3>Try This</h3> <div id="example1"> <form> <textarea edit_id="eta_5" id="example1_code" cols="60" rows="10"> import image img = image.Image("meme") win = image.ImageWin() img.draw(win) img.setDelay(1,15) for col in range(img.getWidth()): for row in range(img.getHeight()): p = img.getPixel(col,row) p.setRed(255-p.getRed()) p.setGreen(255-p.getGreen()) p.setBlue(255-p.getBlue()) img.setPixel(col,row,p) </textarea> <button onclick="runit('example1')" type="button">Run</button> </form> <div id="example1_canvas" height="500" width="800" style="border-style: solid; display: none"></div> <pre id="example1_pre"></pre> </div> </body> </html>