pxt-core
Version:
Microsoft MakeCode provides Blocks / JavaScript / Python tools and editors
397 lines (386 loc) • 15.5 kB
HTML
<!doctype html>
<html lang="en" data-framework="typescript">
<head>
<meta charset="utf-8">
<title>MakeCode Runner Test</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
</head>
<body class="ui container">
<div id='loading' style='font-size: 30px; margin: 100px auto; width: 200px;'>
loading
<div style='font-family: Icons;'>...</div>
</div>
<style type="text/css">
@import "./semantic.css";
@import "./blockly.css";
svg {
margin: 1rem;
}
pre {
white-space: pre-wrap;
}
.ui[class*="5:3"].embed {
padding-bottom: 83%;
background: none;
}
</style>
<script>
// This line gets patched up by the cloud
var rootUrl = "dummy";
var appCdnRoot = "/cdn/";
var simCdnRoot = "/sim/";
var simUrl = "/sim/simulator.html";
</script>
<script type="text/javascript" src="/blb/marked/marked.min.js"></script>
<script type="text/javascript" src="/blb/jquery.js"></script>
<script type="text/javascript" src="/blb/semantic.js"></script>
<script type="text/javascript" src="/embed.js"></script>
<script type="text/javascript">
var ps = [
"0"
/*
,"true"
,"false"
,"'hello'"
,"basic.showNumber(2)"
,"basic.showString('Hello!')"
,"basic.showNumber(2, 150)"
,"while(true) {}"
,"if (false) { }",
,"if (false) { basic.showNumber(0) } else { basic.clearScreen() }"
,"if (false) { basic.showNumber(0) } else if (false) { basic.showNumber(1) } else { basic.clearScreen() }"
, "basic.forever(() => { basic.clearScreen(); })"
, "basic.forever(() => { basic.clearScreen(); basic.showNumber(1); })"
, "let x = 0;"
, "var x = 42\nvar y = 'hello'"
, "for(let i = 0;i<5;++i) { basic.clearScreen() }"
, "radio.onDataReceived(() => {});radio.onDataReceived(() => {});"
, "var x = 42\nvar y = x"
, "input.onButtonPressed(Button.AB, () => {})"
, "input.onButtonPressed(Button.A, () => {})"
, "input.onButtonPressed(Button.B, () => {})"
, "0+1"
, "0-1"
, "0*1"
, "0/1"
, "(0/1)"
, "true || (0>1)"
, "true && (0>1)"
, "!true"
,"basic.showNumber(2); basic.showNumber(2);"
, "for(let i = 0; i<5;i++) { basic.showNumber(0); basic.showNumber(1);}"
, "basic.showNumber(1+1); basic.showNumber(0);"
,"basic.showLeds(`# # # . .. . . . .. . # . #. # . . ## . . . #`);"
,"true && false"
,"true || false"
,"!true;"
,"42 == 0"
,"42 != 0"
,"42 < 0"
,"42 > 0"
,"42 <= 0"
,"42 >= 0;"
,"(false && false) == false"
,"(false && true) == false"
,"(true && false) == false"
,"(true && true) == true;"
,"(!false) == true"
,"(!true) == false;"
,"let x = 0; x = 1;"
,"let x = 0; x = x + 1;"
,"let x = 0; x++;"
,"let x = 0; x--;"
,"let x = 0; ++x;"
,"let x = 0; --x;"
,"let x = 0; -x;"
,"let x = 0; +x;"
,'basic.forever(() => { let degrees = input.compassHeading(); if (degrees < 45) basic.showString("N"); else if (degrees < 135) basic.showString("E"); else if (degrees < 225) basic.showString("S"); else basic.showString("W"); })'
,"let x = 3; x += 3; ++x;"
,"-5"
,"let roll = 0; if (roll==5) { basic.showNumber(0) } else if (roll==4) { basic.showNumber(1) }"
,"let count = 0; while (count < 10) { basic.pause(100); basic.showNumber(count) }"
,"Math.abs(1)"
,"Math.random()"
,"input.onGesture(Gesture.Shake, () => { basic.clearScreen(); })"
, "Math.min(0,1)"
, "Math.max(0,1)"
, "input.onButtonPressed(Button.A, () => {}); input.onButtonPressed(Button.B, () => {});"
*/
];
ksRunnerReady(function() {
pxt.docs.requireMarked = function() { return marked; }
pxt.runner.renderAsync(pxt.runner.defaultClientRenderOptions()).then(function() {
// next()
});
})
</script>
<pre>
<code id="diff" class="lang-diff">
a;
b;
c;
let x = 0;
d;
-------------------
b;
c;
let y = 0;
d;
</code>
</pre>
<!--
<pre>
<code id="diffblocks" class='lang-diffblocksxml'>
<xml xmlns="http://www.w3.org/1999/xhtml">
<variables></variables>
<block type="pxt-on-start" id="=B;Y}wwyy?hy{X1/I;XO" x="0" y="0">
<statement name="HANDLER">
<block type="device_show_leds" id="kq`o^}4kwzWl44Kmc*3%">
<field name="LEDS">`
# . . . .
. # . . .
. . # . .
. . . # .
. . . . #
`
</field>
<next>
<block type="basic_show_icon" id="/3f]1h+~bowwioM2r?J=">
<field name="i">IconNames.Heart</field>
<next>
<block type="device_show_number" id="p:ED[gV{_AI+9aF%xVHE">
<value name="number">
<shadow type="math_number" id="_HFw*V~e;D]7J)0g7mc3">
<field name="NUM">0</field>
</shadow>
</value>
<next>
<block type="device_show_number" id="sJJtdwS6;1PeiM804v[S">
<value name="number">
<shadow type="math_number" id="atwC4v[?lGk5]Jxezs,1">
<field name="NUM">1</field>
</shadow>
</value>
<next>
<block type="device_show_number" id="2B%FrJXH?`f5AbEM^X0|">
<value name="number">
<shadow type="math_number" id="DCR^L{=f`Bb-d9w=KcgX">
<field name="NUM">2</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="device_button_event" id="9Bmu/@KH)PHW:Ia=6Yh," x="440" y="28">
<field name="NAME">Button.A</field>
<statement name="HANDLER">
<block type="device_show_leds" id="+NPyk{X1l%4t0)7LDiLS">
<field name="LEDS">`
. . . . #
. . . # .
. . # . .
. # . . .
# . . . .
`
</field>
</block>
</statement>
</block>
<block type="device_forever" id="a$YR.vHeaB1:}@FRU|n3" x="262" y="395">
<statement name="HANDLER">
<block type="device_led_toggle" id="!ZA@!]H7-OkNgK;}X5+)">
<value name="x">
<shadow type="math_number_minmax" id="YktlDqfQ4nsg:5=H^/:j">
<mutation min="0" max="4" label="X" precision="1"></mutation>
<field name="SLIDER">0</field>
</shadow>
</value>
<value name="y">
<shadow type="math_number_minmax" id="q80HUvEG(9r!,!CsNy}u">
<mutation min="0" max="4" label="Y" precision="1"></mutation>
<field name="SLIDER">0</field>
</shadow>
</value>
</block>
</statement>
</block>
<block type="radio_on_number_drag" id="8d(YCx_f@8_YP0ys,Ey1" x="269" y="580">
<value name="HANDLER_DRAG_PARAM_receivedNumber">
<shadow type="argument_reporter_number" id="[/~!@}n57-u]p[%loG@I">
<field name="VALUE">receivedNumber</field>
</shadow>
</value>
</block>
</xml>
-------------------
<xml xmlns="http://www.w3.org/1999/xhtml">
<variables></variables>
<block type="pxt-on-start" id="=B;Y}wwyy?hy{X1/I;XO" x="0" y="0">
<statement name="HANDLER">
<block type="device_show_leds" id="kq`o^}4kwzWl44Kmc*3%">
<field name="LEDS">`
# . . . .
. # . . .
. . # . .
. . . # .
. . . . #
`
</field>
<next>
<block type="basic_show_icon" id="/3f]1h+~bowwioM2r?J=">
<field name="i">IconNames.Heart</field>
<next>
<block type="device_show_number" id="p:ED[gV{_AI+9aF%xVHE">
<value name="number">
<shadow type="math_number" id="_HFw*V~e;D]7J)0g7mc3">
<field name="NUM">0</field>
</shadow>
</value>
<next>
<block type="device_show_number" id="sJJtdwS6;1PeiM804v[S">
<value name="number">
<shadow type="math_number" id="atwC4v[?lGk5]Jxezs,1">
<field name="NUM">1</field>
</shadow>
</value>
<next>
<block type="device_show_number" id="2B%FrJXH?`f5AbEM^X0|">
<value name="number">
<shadow type="math_number" id="DCR^L{=f`Bb-d9w=KcgX">
<field name="NUM">0</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="device_button_event" id="9Bmu/@KH)PHW:Ia=6Yh," x="440" y="28">
<field name="NAME">Button.A</field>
<statement name="HANDLER">
<block type="device_show_leds" id="+NPyk{X1l%4t0)7LDiLS">
<field name="LEDS">`
. . . . #
. . . # .
. . . # .
. # . . .
# . . . .
`
</field>
</block>
</statement>
</block>
<block type="device_forever" id="a$YR.vHeaB1:}@FRU|n3" x="262" y="395">
<statement name="HANDLER">
<block type="device_led_toggle" id="!ZA@!]H7-OkNgK;}X5+)">
<value name="x">
<shadow type="math_number_minmax" id="YktlDqfQ4nsg:5=H^/:j">
<mutation min="0" max="4" label="X" precision="1"></mutation>
<field name="SLIDER">1</field>
</shadow>
</value>
<value name="y">
<shadow type="math_number_minmax" id="q80HUvEG(9r!,!CsNy}u">
<mutation min="0" max="4" label="Y" precision="1"></mutation>
<field name="SLIDER">0</field>
</shadow>
</value>
</block>
</statement>
</block>
<block type="device_forever" id="`BJkKANVxrgUY,iMFHIz" x="379" y="592">
<statement name="HANDLER">
<block type="device_show_number" id="jFOZ*OYShlF!eQI/a3sV">
<value name="number">
<shadow type="math_number" id="j!!~|4Y6Vpwaw#v,,n#r">
<field name="NUM">0</field>
</shadow>
</value>
</block>
</statement>
</block>
</xml>
<code>
</pre>
<code class='lang-project'>
tqnxfpkndd
</code>
</pre>
<pre>
<code class='lang-project'>
https://makecode.microbit.org/tqnxfpkndd
<code>
</pre>
<pre class='lang-sig'>
images.createImage(`
. . # . .
. # # # .
# # # # #
. # # # .
. . # . .
`)
</pre> --> <!--
<pre class='lang-codecard'> {
"name": "name",
"color": "red",
"description": "description",
"header": "header",
"time": 1459783388895,
"url": "/test",
"responsive": false,
"any": 3,
"hardware": 1,
"software": 1,
"blocks": 1,
"javascript": 1,
"target": "microbit"
}
</pre> -->
<!--<pre class='lang-namespaces'>
basic.showNumber(2)
input.onButtonPressed(Button.A, () => {})
if (true) {}
for(let i = 0;i<5;++i) {}
let x = 0;
Math.random(5);
</pre>--> <!--
<pre class='lang-links'>
basic.showNumber(2)
basic.showString(2)
basic.showString(2)
basic.showString(2)
basic.showString(2)
basic.showString(2)
</pre> -->
<!-- <pre class='lang-sim'>
basic.showNumber(2)
</pre>
<pre class='lang-blocks'>
basic.showString("hello")
</pre>-->
<!--
<pre class='lang-blocks'>
basic.showNumber(2)
</pre>
<pre class='lang-sig'>
basic.showNumber(2)
</pre>
<pre class='lang-sig'>
led.plotAll()
</pre>-->
</body>
</html>