2021-09-16 16:58:13 +02:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width" >
2021-09-19 03:48:30 +02:00
< title > LAP< / title >
2021-09-16 16:58:13 +02:00
< style type = "text/css" >
html, body {
2021-09-19 03:48:30 +02:00
background-color: #222;
color: #fff;
2021-09-16 16:58:13 +02:00
}
body {
2021-09-19 03:48:30 +02:00
font-family: monospace;
}
input, button, textarea {
color: inherit;
background-color: #222;
padding: 1ex;
border-radius: 1ex;
border: 1px solid #777;
font-family: inherit;
font-size: inherit;
box-sizing: border-box;
box-shadow: 0.4em 0.4em 1em #0d0d0d inset;
}
input:focus, button:focus, textarea:focus {
border-color: #6688ff;
outline: none;
}
button {
padding: 0.5ex 1ex;
box-shadow: -0.4em -0.4em 1em #0d0d0d inset, 0.2em 0.2em 0.5em #1d1d1d;
cursor: pointer;
}
button:hover {
border-color: #656565;
}
button:active {
box-shadow: 0.4em 0.4em 1em #0d0d0d inset, 0.2em 0.2em 0.5em #1d1d1d;
}
input[disabled], button[disabled], textarea[disabled] {
box-shadow: none;
border-color: #777;
}
button[disabled] {
color: #777;
cursor: default;
2021-09-16 16:58:13 +02:00
}
svg {
width: 100%;
height: 50px;
}
2021-09-19 03:48:30 +02:00
h1 {
text-align: center;
}
2021-09-16 16:58:13 +02:00
.yesscript {
display: none;
}
2021-09-19 03:48:30 +02:00
.segment {
font-size: 70%;
display: inline-block;
height: 1em;
line-height: 1em;
cursor: pointer;
border: 1px solid transparent;
margin: 1px;
margin-bottom: 2em;
padding: 2px;
box-shadow: 0 0.2em 0.5em #1d1d1d;
position: relative;
z-index: 100;
}
.segment:first-child {
border-top-left-radius: 0.75em;
border-bottom-left-radius: 0.75em;
}
.segment:last-child {
border-top-right-radius: 0.75em;
border-bottom-right-radius: 0.75em;
}
.segment.active {
border-color: #fff;
z-index: 101;
}
.segment:focus, .segment:hover {
border-color: #6688ff;
}
#owner_label {
position: absolute;
display: none;
z-index: 300;
background-color: #4466dd;
border-radius: 0.5em;
padding: 0.2em 0.4em;
color: white;
font-size: 1em;
line-height: 1em;
}
.led {
display: inline-block;
height: 6px;
width: 6px;
border-radius: 6px;
margin-left: 2px;
margin-right: 2px;
background-color: #fff;
opacity: 0.5;
}
.segment.active .led {
opacity: 0.75;
}
#segment-control, #program {
display: none;
}
#owner_line {
line-height: 3em;
}
#lua_editor {
width: 100%;
height: 200px;
}
2021-09-16 16:58:13 +02:00
< / style >
< script type = "application/javascript" >
(function() {
"use strict";
var styleObject = document.createElement("style");
2021-09-19 03:48:30 +02:00
styleObject.innerHTML = ".yesscript { display: block; }";
2021-09-16 16:58:13 +02:00
document.head.appendChild(styleObject);
})();
< / script >
< / head >
< body >
2021-09-19 03:48:30 +02:00
< div id = "owner_label" > < / div >
2021-09-19 14:00:26 +02:00
< h1 > Zeus WPI – Led-Automaten-Programmatie< / h1 >
2021-09-19 03:48:30 +02:00
< p class = "noscript" > Voor deze applicatie is helaas JavaScript vereist.< / p >
< div id = "configuration" class = "yesscript" >
< h2 > Configuratie< / h2 >
Je schuilnaam: < input type = "text" name = "us" id = "us" onchange = "ledStripControl.updateUs()" >
< / div >
< div id = "led-strip" class = "yesscript" >
2021-09-19 14:00:26 +02:00
< h2 > Led-strip< / h2 >
2021-09-19 03:48:30 +02:00
< div id = "segments" >
2021-09-19 14:00:26 +02:00
Led-strip wordt geladen...
2021-09-19 03:48:30 +02:00
< / div >
< / div >
< div id = "segment-control" >
2021-09-19 14:00:26 +02:00
< h2 > Segment< / h2 >
2021-09-19 03:48:30 +02:00
< div >
Segment < b id = "active_segment_id" > < / b >
2021-09-19 14:00:26 +02:00
van led < b id = "active_segment_begin" > < / b >
2021-09-19 03:48:30 +02:00
tot < b id = "active_segment_end" > < / b >
< / div >
< div id = "owner_line" > Toegewezen aan: < b id = "active_segment_owner" > < / b > < button id = "claim_button" > < / button > < button id = "release_button" > < / button > < / div >
< / div >
< div id = "program" >
< h2 > Programma< / h2 >
< p id = "not-your-own" > Dit segment is niet van jou. Je kunt de code enkel bekijken.< / p >
< textarea id = "lua_editor" spellcheck = "false" > < / textarea >
< div id = "program-controls" >
2021-09-19 14:00:26 +02:00
< button id = "publish-button" > Publiceer< / button >
2021-09-19 03:48:30 +02:00
< p > De code wordt niet bestendig bewaard. < strong > Sla ze zelf op op je computer.< / strong > Gebruik dit veld bij voorkeur enkel om naar te kopiëren-en-plakken.< / p >
< / div >
< div id = "program-instructions" >
2021-09-19 14:00:26 +02:00
< p > Programmeer je segment in Lua. Voor je code lijkt het alsof je led 1 tot < code > ledamount()< / code > hebt. Extra beschikbare functies:< / p >
2021-09-19 03:48:30 +02:00
< dl >
< dt > led(led_nr, r, g, b)< / dt >
2021-09-19 04:10:30 +02:00
< dd > Stel led < i > led_nr< / i > in op de kleur met gegeven RGB-waarden (0– 255)< / dd >
< dt > ledamount()< / dt >
< dd > Retourneert het aantal leds< / dd >
2021-09-19 03:48:30 +02:00
< dt > delay(ms)< / dt >
< dd > Wacht gedurende < i > ms< / i > milliseconden< / dd >
< dt > waitframes(frames)< / dt >
< dd > Wacht gedurende < i > frames< / i > frames< / dd >
< dt > print(message)< / dt >
< dd > Stuur < i > message< / i > naar de console< / dd >
< / dl >
< / div >
< / div >
2021-09-16 16:58:13 +02:00
< script type = "application/javascript" >
2021-09-19 03:48:30 +02:00
(function() {
2021-09-16 16:58:13 +02:00
"use strict";
var objects = document.getElementsByClassName("noscript");
for (var i in objects) {
if (objects.hasOwnProperty(i)) {
objects[i].parentElement.removeChild(objects[i]);
}
}
})();
< / script >
2021-09-19 03:48:30 +02:00
< script type = "application/javascript" src = "main.js" > < / script >
2021-09-16 16:58:13 +02:00
< / body >
< / html >