Upload and Begin

This commit is contained in:
2024-11-20 20:36:28 +01:00
parent af1749b884
commit ed9222df6a
61 changed files with 13202 additions and 0 deletions

View File

@ -0,0 +1,18 @@
h1 {
font-family: Arial, sans-serif;
font-size: 32pt;
color: blue;
}
td, th {
text-align: center;
}
.jo {
color: green;
font-weight: bold;
}
.rossz {
color: red;
}

View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="hu-HU">
<head>
<title>ZH-adminisztráció</title>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="v1.css" />
<script src="v1.js"></script>
</head>
<body>
<h1>ZH-adminisztráció</h1>
<form id="urlap">
<table>
<thead>
<tr>
<th>Név</th>
<th>Neptun</th>
<th>1. ZH</th>
<th>1. ZH pót</th>
<th>2. ZH</th>
<th>2. ZH pót</th>
<th>Összesen</th>
<th>Aláírás</th>
<th>Megajánlott</th>
</tr>
</thead>
<tbody id="torzs">
<tr>
<td><input type="text" /></td>
<td><input type="text" pattern="[a-zA-Z0-9]{6}" maxlength="6" /></td>
<td><input type="number" min="0" max="7" value="0" /></td>
<td><input type="number" min="0" max="7" value="0" /></td>
<td><input type="number" min="0" max="7" value="0" /></td>
<td><input type="number" min="0" max="7" value="0" /></td>
<td>0</td>
<td class="rossz">megtagadva</td>
<td class="rossz">-</td>
</tr>
</tbody>
</table>
<input type="button" value="+" id="hozzaad" />
</form>
</body>
</html>

View File

@ -0,0 +1,79 @@
function valtozas(e) {
var sor = e.srcElement.parentNode.parentNode;
var szamok = sor.querySelectorAll("input[type='number']");
var zh1 = +szamok[0].value;
var pzh1 = +szamok[1].value;
var zh1v = zh1>pzh1?zh1:pzh1;
var zh2 = +szamok[2].value;
var pzh2 = +szamok[3].value;
var zh2v = zh2>pzh2?zh2:pzh2;
var osszes = zh1v + zh2v;
sor.children[6].textContent = osszes;
//sor.children[7].innerHTML = "<span class='" + (osszes>=6?"jo":"rossz") + "'>" + (osszes>=6?"aláírva":"megtagadva") +"</span>";
sor.children[7].textContent = (osszes>=6?"aláírva":"megtagadva");
sor.children[7].className = (osszes>=6?"jo":"rossz");
var jegy;
switch(osszes) {
case 14:
case 13:
jegy = 5;
break;
case 12:
case 11:
jegy = 4;
break;
default:
jegy = "-";
break;
}
sor.children[8].textContent = jegy;
sor.children[8].className = (osszes>=11?"jo":"rossz");
}
function hozzaad() {
var torzs = document.getElementById("torzs");
/*torzs.innerHTML = torzs.innerHTML+'<tr>'+
'<td><input type="text" /></td>'+
'<td><input type="text" pattern="[a-zA-Z0-9]{6}" maxlength="6" /></td>'+
'<td><input type="number" min="0" max="7" value="0" /></td>'+
'<td><input type="number" min="0" max="7" value="0" /></td>'+
'<td><input type="number" min="0" max="7" value="0" /></td>'+
'<td><input type="number" min="0" max="7" value="0" /></td>'+
'<td>0</td>'+
'<td><span class="rossz">megtagadva</span></td>'+
'<td><span class="rossz">-</span></td>'+
'</tr>';*/
var sor = document.createElement("tr");
for(var i=0; i<2; i++) {
var cella = document.createElement("td");
sor.appendChild(cella);
var szoveg = document.createElement("input");
cella.appendChild(szoveg);
szoveg.type = "text";
}
sor.children[1].firstChild.pattern = "[a-zA-Z0-9]{6}";
sor.children[1].firstChild.maxlength=6;
for(var i=0; i<4; i++) {
var cella = document.createElement("td");
sor.appendChild(cella);
var szam = document.createElement("input");
cella.appendChild(szam);
szam.type = "number";
szam.min = "0";
szam.max = "7";
}
for(var i=0; i<3; i++) {
var cella = document.createElement("td");
if(i>0) cella.className="rossz";
sor.appendChild(cella);
}
sor.children[6].textContent = "0";
sor.children[7].textContent = "megtagadva";
sor.children[8].textContent = "-";
torzs.appendChild(sor);
}
window.onload = function() {
document.getElementById("urlap").onchange = valtozas;
document.getElementById("hozzaad").onclick = hozzaad;
}

Binary file not shown.

View File

@ -0,0 +1,59 @@
h1 {
margin-bottom: 1cm;
}
form {
width: 15cm;
}
div {
clear: both;
height: 30px;
}
label {
margin-top: 5px;
float: left;
}
input, select {
width: 9cm;
float: right;
}
input {
box-sizing: border-box;
}
input[type="number"] {
float: none;
width: 1cm;
box-sizing: content-box;
}
ol {
padding-left: 0.5cm;
box-sizing: border-box;
width: 15cm;
clear: both;
}
.jobbra {
right: 0;
top: -6px;
position: absolute;
}
li {
margin-top: 6px;
position: relative;
}
textarea {
width: 14.5cm;
height: 5cm;
box-sizing: border-box;
margin-top: 6px;
}

View File

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html lang="hu-HU">
<head>
<title>Szakdolgozat értékelő lap</title>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css"
href="gknb_intm049_2018-19-1_02.css" />
</head>
<body>
<h1>Szakdolgozat értékelő lap</h1>
<form action="#" id="urlap">
<div><label>Szerző (jelölt): </label>
<input id="szerzo" type="text" /></div>
<div><label for="szak">Szak: </label>
<input id="szak" type="text" list="szakok" /></div>
<datalist id="szakok">
<option>Mérnök informatikus</option>
<option>Gazdaságinformatikus</option>
</datalist>
<div><label for="szint">Képzési szint: </label>
<select>
<option>BSc</option>
<option>MSc</option>
</select>
</div>
<div><label for="cim">A szakdolgozat címe: </label>
<input id="cim" type="text" /></div>
<div><label for="biralo">A bíráló neve: </label>
<input id="biralo" type="text" /></div>
<div><label for="munkahely">Munkahelye: </label>
<input id="munkahely" type="text" /></div>
<div><label for="beosztas">Beosztása: </label>
<input id="beosztas" type="text" /></div>
<ol>
<li>Témaválasztás<span class="jobbra">Pontszám:
<input id="temavalasztas" type="number"
min="0" max="5" step="1" value="0" /></span><br />
<textarea></textarea></li>
<li>A dolgozat szerkezete, stílusa<span class="jobbra">Pontszám:
<input id="szerkezet" type="number"
min="0" max="8" step="1" value="0" /></span><br />
<textarea></textarea></li>
<li>Szakirodalom feldolgozása<span class="jobbra">Pontszám:
<input id="szakirodalom" type="number"
min="0" max="10" step="1" value="0" /></span><br />
<textarea></textarea></li>
<li>A téma kidolgozásának színvonala<span class="jobbra">Pontszám:
<input id="kidolgozas" type="number"
min="0" max="20" step="1" value="0" /></span><br />
<textarea></textarea></li>
<li>A dolgozat gyakorlati vonatkozása<span class="jobbra">Pontszám:
<input id="gyakorlat" type="number"
min="0" max="7" step="1" value="0" /></span><br />
<textarea></textarea></li>
</ol>
<p>Összpontszám: <span id="osszpontszam">0</span>, érdemjegy: <span id="jegy">elégtelen (1)</span>.</p>
</form>
<script src="gknb_intm049_2018-19-1_02.js"></script>
<script src="jsunity-0.6.js"></script>
<script src="gknb_intm049_2018-19-1_02_ut.js"></script>
</body>
</html>

View File

@ -0,0 +1,36 @@
function osztalyzat(osszpontszam) {
if(osszpontszam >= 45) return 5;
if(osszpontszam >= 38) return 4;
if(osszpontszam >= 31) return 3;
if(osszpontszam >= 26) return 2;
return 1;
}
function osszpontszam(pontok) {
var osszesen = 0;
for(var i=0; i<pontok.length; i++) {
osszesen += pontok[i];
}
return osszesen;
}
function pontozas(e) {
if(e.target.type == "number") {
var pontok = document.querySelectorAll("input[type='number']");
var p = [];
for(var i=0; i<pontok.length; i++) {
p.push(+pontok[i].value);
}
var osszesen = osszpontszam(p);
var jegy = osztalyzat(osszesen);
var szoveg = ["elégtelen", "elégséges", "közepes", "jó", "jeles"];
document.getElementById("osszpontszam").textContent = osszesen;
document.getElementById("jegy").textContent = szoveg[jegy-1]+" ("+jegy+")";
}
e.preventDefault();
}
window.addEventListener("load", function() {
document.getElementById("urlap").
addEventListener("change", pontozas, false);
}, false);

Binary file not shown.

View File

@ -0,0 +1,22 @@
function jegyTeszt() {
'use strict';
function testOsztalyzat() {
jsUnity.assertions.assertEqual(2, osztalyzat(26), "2-es alsó ponthatár 26 pont!");
jsUnity.assertions.assertEqual(2, osztalyzat(30), "2-es felső ponthatár 30 pont!");
jsUnity.assertions.assertEqual(3, osztalyzat(31), "3-es alsó ponthatár 31 pont!");
jsUnity.assertions.assertEqual(3, osztalyzat(37), "3-es felső ponthatár 37 pont!");
jsUnity.assertions.assertEqual(4, osztalyzat(38), "4-es alsó ponthatár 38 pont!");
jsUnity.assertions.assertEqual(4, osztalyzat(44), "4-es felső ponthatár 44 pont!");
jsUnity.assertions.assertEqual(5, osztalyzat(45), "5-es alsó ponthatár 45 pont!");
jsUnity.assertions.assertEqual(5, osztalyzat(50), "5-es felső ponthatár 50 pont!");
jsUnity.assertions.assertEqual(1, osztalyzat(25), "elégtelennek kellene lennie!");
}
};
jsUnity.log = function(uzenet) {
console.log(uzenet);
}
jsUnity.run(jegyTeszt);

View File

@ -0,0 +1,30 @@
table {
border-collapse: collapse;
}
td, th {
border: 1px solid black;
width: 1cm;
height: 1cm;
vertical-align: center;
}
th {
font-size: 8pt;
}
.nincs {
background-color: gray;
}
.munkanap {
background-color: red;
}
.hetvege {
background-color: blue;
}
.szabadsag {
background-color: lightgreen;
}

View File

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="hu-HU">
<head>
<title>Szabadság nyilvántartás</title>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css"
href="gknb_intm049_2018-19-1_03.css" />
</head>
<body>
<h1>Szabadság nyilvántartás</h1>
<table id="tablazat"></table>
<p>Kivett szabadságok összesen: <span id="szabadsag">0</span> nap.</p>
<script src="jquery-3.3.1.min.js"></script>
<script src="gknb_intm049_2018-19-1_03.js"></script>
</body>
</html>

View File

@ -0,0 +1,54 @@
var kivett = 0;
function valtoztat(e) {
e = $(e.target);
if(e.attr("class") == "munkanap") {
kivett++;
e.attr("class", "szabadsag");
} else if(e.attr("class") == "szabadsag"){
kivett--;
e.attr("class", "munkanap");
}
$("#szabadsag").text(kivett);
}
$(function() {
var tablazat = $("<table>");
tablazat.attr("id", "tablazat");
// felső fejléc
var sor = $("<tr>");
sor.append($("<td>"));
for(var nap=1; nap<=31; nap++) {
var cella = $("<th>");
cella.text(nap);
sor.append(cella);
}
tablazat.append(sor);
// adatsorok
var ev = new Date().getFullYear();
for(var ho=1; ho<=12; ho++) {
sor = $("<tr>");
cella = $("<th>");
cella.text(ho);
sor.append(cella);
var maxNap = new Date(ev, ho, 0).getDate();
for(nap=1; nap<=31; nap++) {
cella = $("<td>");
if(nap > maxNap) cella.addClass("nincs");
else {
var hn = new Date(ev, ho-1, nap).getDay();
if(hn==0 || hn==6) {
cella.addClass("hetvege");
} else {
cella.addClass("munkanap");
}
}
sor.append(cella);
}
tablazat.append(sor);
}
// táblázat cseréje
$("#tablazat").replaceWith(tablazat);
tablazat.click(valtoztat);
});

Binary file not shown.

View File

@ -0,0 +1,53 @@
var kivett = 0;
function valtoztat(e) {
if(e.target.className=="munkanap") {
kivett++;
e.target.className="szabadsag";
} else if(e.target.className=="szabadsag"){
kivett--;
e.target.className="munkanap";
}
document.getElementById("szabadsag").textContent = kivett;
}
window.addEventListener("load", function() {
var tablazat = document.createElement("table");
tablazat.id = "tablazat";
// felső fejléc
var sor = document.createElement("tr");
sor.appendChild(document.createElement("td"));
for(var nap=1; nap<=31; nap++) {
var cella = document.createElement("th");
cella.textContent = nap;
sor.appendChild(cella);
}
tablazat.appendChild(sor);
// adatsorok
var ev = new Date().getFullYear();
for(var ho=1; ho<=12; ho++) {
sor = document.createElement("tr");
cella = document.createElement("th");
cella.textContent = ho;
sor.appendChild(cella);
var maxNap = new Date(ev, ho, 0).getDate();
for(nap=1; nap<=31; nap++) {
cella = document.createElement("td");
if(nap > maxNap) cella.className="nincs";
else {
var hn = new Date(ev, ho-1, nap).getDay();
if(hn==0 || hn==6) {
cella.className="hetvege";
} else {
cella.className="munkanap";
}
}
sor.appendChild(cella);
}
tablazat.appendChild(sor);
}
// táblázat cseréje
document.body.replaceChild(tablazat, document.getElementById("tablazat"));
tablazat.addEventListener("click", valtoztat, false);
}, false);

Binary file not shown.

View File

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8">
<title>Óraállások rögzítése</title>
<link type="text/css" rel="stylesheet" href="gknb_intm049_2018-19-1_05.css" />
</head>
<body>
<h1>km-számlálók állásának rögzítése</h1>
<form id="urlap" autocomplete="off">
<div><label>Rendszám: <input type="text" id="rendszam" maxlength="6" required="required" pattern="[a-zA-Z]{3}[0-9]{3}" list="adatlista" title="BBBSSS formátumban adja meg a rendszámot!"/></label></div>
<datalist id="adatlista">
</datalist>
<div><label>Leolvasás dátuma: <input type="date" id="datum" required="required" /></label></div>
<div><label>Óraállás: <input type="number" id="oraallas" required="required" min="0" /></label></div>
<div><input type="submit" value="Mentés" /></div>
</form>
<section>
<h2>A jármű eddig rögzített km-óra állásai:</h2>
<ol id="korabbi">
</ol>
</section>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="gknb_intm049_2018-19-1_05.js"></script>
</body>
</html>

View File

@ -0,0 +1,35 @@
var autok = {};
$(function() {
$("#urlap").submit(function(e) {
try {
// rendszámlista bővítése, ha ilyen még nem volt rajta
var rszlista = $("option");
var elofordul = false;
var rendszam = $("#rendszam").val();
var oraallas = $("#oraallas").val();
var csalas = false;
if(autok[rendszam]) {
if(autok[rendszam][autok[rendszam].length-1] > oraallas) {
csalas = true;
}
autok[rendszam].push(oraallas);
} else {
$("#adatlista").append($("<option>").text(rendszam));
autok[rendszam] = [oraallas];
}
if(csalas) throw "Illegális óraállás!";
} catch(ex) {
alert(ex);
} finally {
// lista frissítése
var korabbi = $("#korabbi");
korabbi.empty();
for(var j=0; j<autok[rendszam].length; j++) {
korabbi.append($("<li>").text(autok[rendszam][j]));
}
}
e.preventDefault;
return false;
});
});

Binary file not shown.

View File

@ -0,0 +1,23 @@
details {
margin-bottom: 1cm;
}
img {
float: left;
border: 3px inset white;
margin-right: 5px;
margin-bottom: 5px;
}
img.megjelol {
border-color: blue;
}
img.megforditva {
border-color: orange;
}
#info {
clear: left;
padding-top: 1cm;
}

View File

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8">
<title>Memóriajáték</title>
<link type="text/css" rel="stylesheet" href="gknb_intm049_2019-20-1_02.css" />
</head>
<body>
<h1>Memóriajáték</h1>
<details>
<summary>Játékszabályok</summary>
Kattintson egymás után két kártyára, hogy megfordíthassa őket! Ha nem egyformák, két
másodperc múlva visszafordulnak. Próbálja minél kevesebb fordítással megtalálni minden kártya párját!
(További részletek a memóriajátékokról a <a href="https://hu.wikipedia.org/wiki/Mem%C3%B3riaj%C3%A1t%C3%A9k" target="blank">Wikipédián</a>.)
</details>
<div id="kontener">
<img id="kartya1" src="web.png" alt="Kártya" width="128" height="128" />
<img id="kartya2" src="web.png" alt="Kártya" width="128" height="128" />
<img id="kartya3" src="web.png" alt="Kártya" width="128" height="128" />
<img id="kartya4" src="web.png" alt="Kártya" width="128" height="128" />
<img id="kartya5" src="web.png" alt="Kártya" width="128" height="128" />
<img id="kartya6" src="web.png" alt="Kártya" width="128" height="128" />
</div>
<p id="info">Kattintson az első kártya hátlapjára a megfordításához!</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="gknb_intm049_2019-20-1_02.js"></script>
</body>
</html>

View File

@ -0,0 +1,80 @@
let jatek = {
init: function() {
this.elsoForditott = false;
this.masodikForditott = false;
this.talalat = false;
this.kijelolve = 0;
this.forditasok = 0;
let fajlok = [ "html5.png", "css3.png", "js.png" ];
fajlok = fajlok.concat(fajlok);
this.ismeretlen = fajlok.length;
for(let i=1; i<=6; i++) {
let idx = Math.floor(Math.random()*fajlok.length);
this["kartya"+i] = {
fajl: fajlok.splice(idx, 1)[0],
megforditva: false
};
}
},
ellenoriz: function() {
if(this.talalat) {
this[this.elsoForditott].megforditva = true;
this[this.masodikForditott].megforditva = true;
$("#"+this.elsoForditott).addClass("megforditva");
$("#"+this.masodikForditott).addClass("megforditva");
} else {
$("#"+this.elsoForditott).attr("src", "web.png");
$("#"+this.masodikForditott).attr("src", "web.png");
}
$("#"+this.elsoForditott).removeClass("megjelol");
$("#"+this.masodikForditott).removeClass("megjelol");
this.kijelolve = 0;
this.elsoForditott = false;
this.masodikForditott = false;
if(this.ismeretlen == 0) {
$("#info").text("Gratulálunk, Ön megtalálta az összes párt "+jatek.forditasok+" fordítással!");
this.init();
$("img").removeClass("megforditva").attr("src", "web.png");
} else {
$("#info").text("Kattintson az első kártya hátlapjára a megfordításához!");
}
},
kattintas: function(kartya) {
switch(this.kijelolve) {
case 0:
if(!this[kartya].megforditva) {
this.elsoForditott = kartya;
this.kijelolve = 1;
this.forditasok++;
$("#"+kartya).addClass("megjelol").attr("src", this[kartya].fajl);
$("#info").text("Kattintson a második kártya hátlapjára a megfordításához!")
}
break;
case 1:
if(!this[kartya].megforditva && kartya!=this.elsoForditott) {
this.masodikForditott = kartya;
this.kijelolve = 2;
this.forditasok++;
$("#"+kartya).addClass("megjelol").attr("src", this[kartya].fajl);
this.talalat = this[this.elsoForditott].fajl == this[this.masodikForditott].fajl;
if(this.talalat) {
$("#info").text("Megtalált egy kártyapárt!");
this.ismeretlen -= 2;
} else {
$("#info").text("Nem egyeznek a kártyák, visszafordítjuk őket.");
}
setTimeout(function() {jatek.ellenoriz();}, 2000);
}
break;
}
}
};
$(function() {
jatek.init();
$("#kontener").click(function(e) {
jatek.kattintas(e.target.id);
});
});

Binary file not shown.

View File

@ -0,0 +1,24 @@
img {
width: 25px;
height: 25px;
}
td {
border: 2px inset gray;
width: 35px;
height: 35px;
text-align: center;
}
table {
border-spacing: 5px;
}
li {
list-style-type: square;
}
h1 {
font-family: Arial, sans-serif;
text-transform: capitalize;
}

View File

@ -0,0 +1,56 @@
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8">
<title>Lights out</title>
<link type="text/css" rel="stylesheet" href="gknb_intm049_2019-20-1_03.css" />
</head>
<body>
<h1><a href="https://hu.wikipedia.org/wiki/Lights_Out_(j%C3%A1t%C3%A9k)" target="_blank">Lights out</a></h1>
<ul>
<li>A <em>Lights Out</em> egyszemélyes, elektronikus absztrakt táblás játék. Az 5x5-ös méretű tábla egyes mezőiben lámpák világítanak. A játékos feladata ezek minél kevesebb próbálkozással történő lekapcsolása.</li>
<li>Ha a játékos egy mezőre kattint, az ott lévő, valamint a felette, alatta, tőle balra és jobbra lévő lámpák (a tábla szélén persze ezek közül nem létezik mindegyik) állapota a jelenlegivel ellentétesre változik.</li>
</ul>
<table>
<tbody>
<tr>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa lekapcsolva"></td>
</tr>
<tr>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa felkapcsolva"><img src="bulb.svg" alt="izzó" /></td>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa felkapcsolva"><img src="bulb.svg" alt="izzó" /></td>
<td title="Lámpa lekapcsolva"></td>
</tr>
<tr>
<td title="Lámpa felkapcsolva"><img src="bulb.svg" alt="izzó" /></td>
<td title="Lámpa felkapcsolva"><img src="bulb.svg" alt="izzó" /></td>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa felkapcsolva"><img src="bulb.svg" alt="izzó" /></td>
<td title="Lámpa felkapcsolva"><img src="bulb.svg" alt="izzó" /></td>
</tr>
<tr>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa felkapcsolva"><img src="bulb.svg" alt="izzó" /></td>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa felkapcsolva"><img src="bulb.svg" alt="izzó" /></td>
</tr>
<tr>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa felkapcsolva"><img src="bulb.svg" alt="izzó" /></td>
<td title="Lámpa lekapcsolva"></td>
<td title="Lámpa lekapcsolva"></td>
</tr>
</tbody>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="gknb_intm049_2019-20-1_03.js"></script>
</body>
</html>

View File

@ -0,0 +1,73 @@
let jatek = {
lampak: 9,
klikk: 0,
felkapcsolva: function(mezo) {
return mezo && mezo.children.length > 0;
},
atkapcsol: function(mezo) {
if(this.felkapcsolva(mezo)) {
$(mezo).empty().attr("title", "Lámpa lekapcsolva");
return -1;
} else {
$(mezo).append($("<img>").attr({
src: "bulb.svg",
alt: "izzó"
})).attr("title", "Lámpa felkapcsolva");
return 1;
}
},
szomszedok: function(mezo) {
let tomb = [];
if(mezo.previousElementSibling != null) {
tomb.push(mezo.previousElementSibling); // bal
}
if(mezo.nextElementSibling != null) {
tomb.push(mezo.nextElementSibling); // jobb
}
let oszlop = 0;
let gyerek = mezo;
while((gyerek = gyerek.previousElementSibling) != null) {
oszlop++;
}
let sor = mezo.parentNode;
if(sor.previousElementSibling != null) {
tomb.push(sor.previousElementSibling.children[oszlop]); // fent
}
if(sor.nextElementSibling != null) {
tomb.push(sor.nextElementSibling.children[oszlop]); // lent
}
return tomb;
},
kattintas: function(mezo) {
if(this.lampak != 0) {
this.klikk++;
this.lampak += this.atkapcsol(mezo);
let t = this.szomszedok(mezo);
for(let m in t) {
this.lampak += this.atkapcsol(t[m]);
}
if(this.lampak == 0) {
alert("Gratulálunk, Ön minden lámpát lekapcsolt " +
this.klikk + " kattintással!");
}
}
}
};
$(function() {
$("table").click(function(e) {
let mezo = e.target;
if(mezo.tagName == "IMG") {
mezo = mezo.parentNode;
}
if(mezo.tagName == "TD") {
jatek.kattintas(mezo);
}
});
});

Binary file not shown.

View File

@ -0,0 +1,42 @@
h1, h2, h3 {
font-family: Arial, sans-serif;
color: blue;
margin-top: 0px;
}
h1 {
font-size: 24pt;
}
h2 {
font-size: 18pt;
}
h3 {
font-size: 16pt;
}
section {
border-style: solid;
border-width: 3px;
border-left-width: 15px;
padding: 5px;
border-color: blue;
background-color: lightblue;
margin-top: 5mm;
}
.tajekoztato {
border-color: green;
background-color: lightgreen;
}
.keso {
border-color: #cc3300;
background-color: red;
}
label {
display: inline-block;
width: 2cm;
}

View File

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8">
<title>Menetrend</title>
<link type="text/css" rel="stylesheet" href="gknb_intm049_2019-20-1_04.css" />
<meta name="keywords" content="vasút, menetrend, vonat, járat" />
</head>
<body>
<article id="tartalom">
<h1>Vasúti járatkereső</h1>
<section class="tajekoztato">
<h2>Utazási adatok megadása</h2>
<p>Adja meg, hogy honnan és hová szeretne utazni, majd nyomja meg a <em>Keresés</em> gombot! Az oldal kilistázza az összes olyan járatot, amivel eljuthat a kívánt helyre.</p>
<form id="urlap" action="#">
<div><label for="honnan">Honnan:</label><select id="honnan"></select></div>
<div><label for="hova">Hova:</label><select id="hova"></select></div>
<div><input type="submit" value="Keresés" /></div>
</form>
</section>
</article>
<noscript>Ez a weboldal nem működik az Ön gépén a JavaScript támogatás hiánya miatt.</noscript>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="vonat.js"></script>
<script src="gknb_intm049_2019-20-1_04.js"></script>
</body>
</html>

View File

@ -0,0 +1,73 @@
let menetrend = {
megallok: [],
megalloGyujt: function(db) {
for(let kulcs in db) {
for(let i=0; i<db[kulcs].length; i++) {
let mnev = db[kulcs][i].megallo;
if(!this.megallok.includes(mnev)) {
this.megallok.push(mnev);
}
}
}
this.megallok.sort();
},
opciok: function(szulo) {
for(kulcs in this.megallok) {
let opcio = $("<option>").attr("value", this.megallok[kulcs]).text(this.megallok[kulcs]);
$(szulo).append(opcio);
}
},
pontosIdo: function() {
let d = new Date();
let o = d.getHours();
if(o<10) o="0"+o;
let p = d.getMinutes();
if(p<10) p="0"+p;
return o+":"+p;
},
kereses: function(db, honnan, hova) {
$(".jarat").remove();
honnan = this.megallok[honnan];
hova = this.megallok[hova];
let ido = this.pontosIdo();
let tartalom = $("#tartalom");
for(let jarat in db) {
let indul=-1, erkezik=-1;
for(let m=0; m<db[jarat].length; m++) {
if(db[jarat][m].megallo == honnan) {
indul = m;
}
if(db[jarat][m].megallo == hova) {
erkezik = m;
}
if(indul!=-1 && erkezik!=-1) break;
}
if(indul!=-1 && erkezik!=-1 && indul<=erkezik) {
let blokk = $("<section>").addClass("jarat");
if(db[jarat][indul].indul < ido) {
blokk.addClass("keso");
}
blokk.append($("<h3>").text(jarat));
blokk.append($("<p>").text("Indulás: "+db[jarat][indul].indul));
blokk.append($("<p>").text("Érkezés: "+db[jarat][erkezik].erkezik));
tartalom.append(blokk);
}
}
}
};
$(function() {
menetrend.megalloGyujt(adatbazis);
menetrend.opciok($("#honnan")[0]);
menetrend.opciok($("#hova")[0]);
$("#urlap").submit(function(e) {
let honnan = $("#honnan")[0].selectedIndex;
let hova = $("#hova")[0].selectedIndex;
if(honnan == hova) {
alert("Jelöljön ki eltérő állomásokat!");
} else {
menetrend.kereses(adatbazis, honnan, hova);
}
e.preventDefault();
});
});

Binary file not shown.

View File

@ -0,0 +1,17 @@
table {
border-collapse: collapse;
margin-bottom: 0.5cm;
}
td {
border: 1px dotted black;
width: 1.2cm;
height: 1.2cm;
text-align: center;
vertical-align: center;
}
input[type="number"] {
width: 1cm;
box-sizing: border-box;
}

View File

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8">
<title>Latin négyzet</title>
<link type="text/css" rel="stylesheet" href="gknb_intm049_2019-20-1_01.css" />
</head>
<body>
<h1>Latin<sup>2</sup></h1>
<form id="urlap">
<table id="tabla">
</table>
<div><input type="submit" value="Ellenőriz" /></div>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="gknb_intm049_2019-20-1_01.js"></script>
</body>
</html>

View File

@ -0,0 +1,70 @@
var MERET = 4;
$(function() {
general();
$("#urlap").submit(function(e) {
if(ellenoriz(lekerdez())) {
alert("Ez egy latin négyzet!");
} else {
alert("Ez nem latin négyzet.");
}
e.preventDefault();
});
});
function lekerdez() {
var mtx = [];
for(var i=0; i<MERET; i++) {
mtx.push(new Array(MERET));
}
var szamok = $("input[type='number']").val(function(i, v) {
var s = Math.floor(i/MERET);
var o = i%MERET;
mtx[s][o] = +v;
return v;
});
return mtx;
}
function sorEll(mtx, s) {
var t = [];
for(var i=0; i<mtx[s].length; i++) {
var szam = mtx[s][i];
if(t.includes(szam)) return false;
else t.push(szam);
}
return true;
}
function oszlopEll(mtx, o) {
var t = [];
for(var i=0; i<mtx.length; i++) {
var szam = mtx[i][o];
if(t.includes(szam)) return false;
else t.push(szam);
}
return true;
}
function ellenoriz(mtx) {
for(var i=0; i<mtx.length; i++) {
if(!sorEll(mtx, i)) return false;
if(!oszlopEll(mtx, i)) return false;
}
return true;
}
function general() {
var tabla = $("<table>");
var sor, cella;
for(var s=0; s<MERET; s++) {
sor = $("<tr>");
for(var o=0; o<MERET; o++) {
cella = $("<td>");
cella.append($("<input>").attr({type: "number", min: "1", max: MERET, value: (s+o)%MERET+1, required: "required"}));
sor.append(cella);
}
tabla.append(sor);
}
$("#tabla").replaceWith(tabla);
}

Binary file not shown.

View File

@ -0,0 +1,25 @@
form {
margin-bottom: 20px;
display: inline-block;
}
thead {
text-align: left;
}
table {
border-collapse: collapse;
border: 2px ridge gray;
}
tr:nth-child(odd) {
background-color: lightgray;
}
td, th {
padding: 0px 5px;
}
#sorszam, #cim {
font-style: italic;
}

View File

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8">
<title>Lemezek</title>
<meta name="author" content="Hatwagner F. Miklós" />
<link type="text/css" rel="stylesheet" href="gknb_intm049_2019-20-2_03.css" />
</head>
<body>
<h1><a href="https://musicbrainz.org/" target="_blank">Lemezek</a></h1>
<form action="#">
<fieldset>
<legend>Válasszon albumot:</legend>
<div><input id="fekete" name="album" type="radio" /><label for="fekete">Sub Bass Monster - Fekete lemez</label></div>
<div><input id="rigel" name="album" type="radio" /><label for="rigel">Dynatron - The Rigel Axiom</label></div>
</fieldset>
</form>
<table>
<thead>
<th><a id="sorszam">Sorszám</a></th>
<th><a id="cim">Cím</a></th>
<th><a id="eloado">Előadó</a></th>
<th><a id="hossz">Hossz</a></th>
</thead>
<tbody id="lista">
</tbody>
</table>
<noscript>Ez a weboldal nem működik az Ön gépén a JavaScript támogatás hiánya miatt.</noscript>
<script src="albumok.js"></script>
<script src="gknb_intm049_2019-20-2_03.js"></script>
</body>
</html>

View File

@ -0,0 +1,64 @@
var rendezes = sorszamSzerint;
function sorszamSzerint(a, b) {
if(a.sorszam < b.sorszam) return -1;
else if(a.sorszam == b.sorszam) return 0;
else return 1;
}
function cimSzerint(a, b) {
if(a.cim < b.cim) return -1;
else if(a.cim == b.cim) return 0;
else return 1;
}
window.addEventListener("load", function() {
let radiok = document.querySelectorAll("input[type='radio']");
for(var i=0; i<radiok.length; i++) {
radiok[i].addEventListener("change", feltolt);
}
document.getElementById("sorszam").addEventListener("click", function() {
rendezes = sorszamSzerint;
feltolt();
});
document.getElementById("cim").addEventListener("click", function() {
rendezes = cimSzerint;
feltolt();
});
});
function feltolt() {
var lista = document.getElementById("lista");
while(lista.firstChild) {
lista.removeChild(lista.firstChild);
}
let radiok = document.querySelectorAll("input[type='radio']");
let kivAlbum = null;
for(var i=0; i<radiok.length; i++) {
if(radiok[i].checked) {
kivAlbum = radiok[i].id;
break;
}
}
if(kivAlbum !== null) {
let sor;
let cella;
albumok[kivAlbum].sort(rendezes);
for(var szam in albumok[kivAlbum]) {
sor = document.createElement("tr");
cella = document.createElement("td");
cella.textContent = albumok[kivAlbum][szam]["sorszam"];
sor.appendChild(cella);
cella = document.createElement("td");
cella.textContent = albumok[kivAlbum][szam]["cim"];
sor.appendChild(cella);
cella = document.createElement("td");
cella.textContent = albumok[kivAlbum][szam]["eloado"];
sor.appendChild(cella);
cella = document.createElement("td");
cella.textContent = albumok[kivAlbum][szam]["hossz"];
sor.appendChild(cella);
lista.appendChild(sor);
}
}
}

Binary file not shown.

View File

@ -0,0 +1,29 @@
body {
font-family: "Linux Libertine", "Georgia", "Times", serif;
}
h1, h2 {
border-bottom: 1px solid lightgray;
}
h1 {
font-size: 1.8em;
}
h2 {
font-size: 1.5em;
}
p {
text-align: justify;
hyphens: auto;
}
img {
float: right;
}
#feladvany {
letter-spacing: 1px;
font-weight: bold;
}

View File

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8">
<title>Akasztófa játék</title>
<link type="text/css" rel="stylesheet" href="gknb_intm049_2019-20-2_01.css" />
</head>
<body>
<h1>Akasztófa játék</h1>
<p>Az akasztófa játékot papír és ceruza segítségével két vagy több játékos játszhatja. Az egyik játékos gondol egy szóra, és a másik játékos megpróbálja kitalálni a szót a szóban szereplő betűk kitalálásával.</p>
<h2>Áttekintés</h2>
<p>A kitalálandó szót a szóban szereplő betűk számával megegyező számú és elrendezésű vízszintes vonal reprezentálja. A találgató játékos javasol egy betűt, mely ha szerepel a kitalálandó szóban, a betű helyének megfelelő vonalakra ráírásra kerül. Amennyiben a betű nem szerepel a kitalálandó szóban, úgy egy stilizált akasztófa egy része kerül lerajzolásra.</p>
<p>A játék akkor ér véget, ha az akasztófa (és a benne lévő emberalak) teljes egészében megformálásra kerül, vagy kérdező az összes betűt kitalálja. A játék végét jelentő stilizált ábra megjelenésében eltérő lehet: egyes esetekben az akasztófa áll 7-10 vagy több vonalból, valamint az emberalak is hasonló mennyiségű vonalból. Nehezítésnek számít, ha ennél kevesebb elemből állnak a részek, könnyítésnek, ha több elemből. Az is könnyítés, ha a feladvány szófaját vagy témáját tekintve a feladó segítséget ad.</p>
<p>Egyes esetekben az akasztófa mint szimbólum alkalmazása a társadalmi megítélése miatt nem helyénvaló, így helyettesíteni szokták más ábrákkal, de a játék lényegét tekintve ugyanaz marad.</p>
<h2>Kialakulása</h2>
<p>A játék eredete tisztázatlan. Egyes források a viktoriánus Angliát jelölik meg eredetként. A játékot Alice Bertha Gomme <em>Tradicionális játékok</em> című, 1894-ben megjelent könyve is említi „Madarak, állatok és halak” néven. </p>
<form>
<fieldset>
<legend>Szólások, közmondások</legend>
<p id="feladvany">A _a_a_ _____ _a____a__<img src="60px-Hangman-0.png" alt="0 hiba" /></p>
<p>Már felhasznált betűk: <span id="felhasznalt">a</span></p>
<label for="betuk">Felhasználható betűk:</label>
<select id="betuk">
<option>b</option>
<option>c</option>
</select>
<input type="submit" value="Próbáljuk meg!" />
</fieldset>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="gknb_intm049_2019-20-2_01.js"></script>
</body>
</html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Trefoil_GOL.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 MiB

253
bulb.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

BIN
calendar.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
css3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

BIN
draw.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

210
font.js Normal file
View File

@ -0,0 +1,210 @@
let font = {
m: [
" _____ ",
" / \\ ",
" / \\ / \\ ",
"/ Y \\",
"\\____|__ /",
" \\/ "
],
q: [
"________ ",
"\\_____ \\ ",
" / / \\ \\ ",
"/ \\_/. \\",
"\\_____\\ \\_/",
" \\__>"
],
w: [
" __ __ ",
"/ \\ / \\",
"\\ \\/\\/ /",
" \\ / ",
" \\__/\\ / ",
" \\/ "
],
e: [
"___________",
"\\_ _____/",
" | __)_ ",
" | \\",
"/_______ /",
" \\/ "
],
r: [
"__________ ",
"\\______ \\",
" | _/",
" | | \\",
" |____|_ /",
" \\/ "
],
t: [
"___________",
"\\__ ___/",
" | | ",
" | | ",
" |____| ",
" "
],
z: [
"__________",
"\\____ /",
" / / ",
" / /_ ",
"/_______ \\",
" \\/"
],
u: [
" ____ ___ ",
"| | \\",
"| | /",
"| | / ",
"|______/ ",
" "
],
i: [
".___ ",
"| |",
"| |",
"| |",
"|___|",
" "
],
o: [
"________ ",
"\\_____ \\ ",
" / | \\ ",
"/ | \\",
"\\_______ /",
" \\/ "
],
p: [
"__________ ",
"\\______ \\",
" | ___/",
" | | ",
" |____| ",
" "
],
a: [
" _____ ",
" / _ \\ ",
" / /_\\ \\ ",
"/ | \\",
"\\____|__ /",
" \\/ "
],
s: [
" _________",
" / _____/",
" \\_____ \\ ",
" / \\",
"/_______ /",
" \\/ "
],
d: [
"________ ",
"\\______ \\ ",
" | | \\ ",
" | ` \\",
"/_______ /",
" \\/ "
],
f: [
"___________",
"\\_ _____/",
" | __) ",
" | \\ ",
" \\___ / ",
" \\/ "
],
g: [
" ________ ",
" / _____/ ",
"/ \\ ___ ",
"\\ \\_\\ \\",
" \\______ /",
" \\/ "
],
h: [
" ___ ___ ",
" / | \\ ",
"/ ~ \\",
"\\ Y /",
" \\___|_ / ",
" \\/ "
],
j: [
" ____.",
" | |",
" | |",
"/\\__| |",
"\\________|",
" "
],
k: [
" ____ __.",
"| |/ _|",
"| < ",
"| | \\ ",
"|____|__ \\",
" \\/"
],
l: [
".____ ",
"| | ",
"| | ",
"| |___ ",
"|_______ \\",
" \\/"
],
y: [
"_____.___.",
"\\__ | |",
" / | |",
" \\____ |",
" / ______|",
" \\/ "
],
x: [
"____ ___",
"\\ \\/ /",
" \\ / ",
" / \\ ",
"/___/\\ \\",
" \\_/"
],
c: [
"_________ ",
"\\_ ___ \\ ",
"/ \\ \\/ ",
"\\ \\____",
" \\______ /",
" \\/ "
],
v: [
"____ ____",
"\\ \\ / /",
" \\ Y / ",
" \\ / ",
" \\___/ ",
" ",
],
b: [
"__________ ",
"\\______ \\",
" | | _/",
" | | \\",
" |______ /",
" \\/ "
],
n: [
" _______ ",
" \\ \\ ",
" / | \\ ",
"/ | \\",
"\\____|__ /",
" \\/ "
]
};

BIN
html5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

10364
jquery-3.3.1.js vendored Normal file

File diff suppressed because it is too large Load Diff

2
jquery-3.3.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

BIN
js.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

391
jsunity-0.6.js Normal file
View File

@ -0,0 +1,391 @@
//<%
/**
* jsUnity Universal JavaScript Testing Framework v0.6
* http://jsunity.com/
*
* Copyright (c) 2009 Ates Goral
* Licensed under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*/
jsUnity = (function () {
function fmt(str) {
var a = Array.prototype.slice.call(arguments, 1);
return str.replace(/\?/g, function () { return a.shift(); });
}
function hash(v) {
if (v instanceof Object) {
var arr = [];
for (var p in v) {
arr.push(p);
arr.push(hash(v[p]));
}
return arr.join("#");
} else {
return String(v);
}
}
var defaultAssertions = {
assertException: function (fn, message) {
try {
fn instanceof Function && fn();
} catch (e) {
return;
}
throw fmt("?: (?) does not raise an exception or not a function",
message || "assertException", fn);
},
assertTrue: function (actual, message) {
if (!actual) {
throw fmt("?: (?) does not evaluate to true",
message || "assertTrue", actual);
}
},
assertFalse: function (actual, message) {
if (actual) {
throw fmt("?: (?) does not evaluate to false",
message || "assertFalse", actual);
}
},
assertIdentical: function (expected, actual, message) {
if (expected !== actual) {
throw fmt("?: (?) is not identical to (?)",
message || "assertIdentical", actual, expected);
}
},
assertNotIdentical: function (expected, actual, message) {
if (expected === actual) {
throw fmt("?: (?) is identical to (?)",
message || "assertNotIdentical", actual, expected);
}
},
assertEqual: function (expected, actual, message) {
if (hash(expected) != hash(actual)) {
throw fmt("?: (?) is not equal to (?)",
message || "assertEqual", actual, expected);
}
},
assertNotEqual: function (expected, actual, message) {
if (hash(expected) == hash(actual)) {
throw fmt("?: (?) is equal to (?)",
message || "assertNotEqual", actual, expected);
}
},
assertMatch: function (re, actual, message) {
if (!re.test(actual)) {
throw fmt("?: (?) does not match (?)",
message || "assertMatch", actual, re);
}
},
assertNotMatch: function (re, actual, message) {
if (re.test(actual)) {
throw fmt("?: (?) matches (?)",
message || "assertNotMatch", actual, re);
}
},
assertTypeOf: function (typ, actual, message) {
if (typeof actual !== typ) {
throw fmt("?: (?) is not of type (?)",
message || "assertTypeOf", actual, typ);
}
},
assertNotTypeOf: function (typ, actual, message) {
if (typeof actual === typ) {
throw fmt("?: (?) is of type (?)",
message || "assertNotTypeOf", actual, typ);
}
},
assertInstanceOf: function (cls, actual, message) {
if (!(actual instanceof cls)) {
throw fmt("?: (?) is not an instance of (?)",
message || "assertInstanceOf", actual, cls);
}
},
assertNotInstanceOf: function (cls, actual, message) {
if (actual instanceof cls) {
throw fmt("?: (?) is an instance of (?)",
message || "assertNotInstanceOf", actual, cls);
}
},
assertNull: function (actual, message) {
if (actual !== null) {
throw fmt("?: (?) is not null",
message || "assertNull", actual);
}
},
assertNotNull: function (actual, message) {
if (actual === null) {
throw fmt("?: (?) is null",
message || "assertNotNull", actual);
}
},
assertUndefined: function (actual, message) {
if (actual !== undefined) {
throw fmt("?: (?) is not undefined",
message || "assertUndefined", actual);
}
},
assertNotUndefined: function (actual, message) {
if (actual === undefined) {
throw fmt("?: (?) is undefined",
message || "assertNotUndefined", actual);
}
},
assertNaN: function (actual, message) {
if (!isNaN(actual)) {
throw fmt("?: (?) is not NaN",
message || "assertNaN", actual);
}
},
assertNotNaN: function (actual, message) {
if (isNaN(actual)) {
throw fmt("?: (?) is NaN",
message || "assertNotNaN", actual);
}
},
fail: function (message) {
throw message || "fail";
}
};
function plural(cnt, unit) {
return cnt + " " + unit + (cnt == 1 ? "" : "s");
}
function splitFunction(fn) {
var tokens =
/^[\s\r\n]*function[\s\r\n]*([^\(\s\r\n]*?)[\s\r\n]*\([^\)\s\r\n]*\)[\s\r\n]*\{((?:[^}]*\}?)+)\}[\s\r\n]*$/
.exec(fn);
if (!tokens) {
throw "Invalid function.";
}
return {
name: tokens[1].length ? tokens[1] : undefined,
body: tokens[2]
};
}
var probeOutside = function () {
try {
return eval(
[ "typeof ", " === \"function\" && ", "" ].join(arguments[0]));
} catch (e) {
return false;
}
};
function parseSuiteString(str) {
var obj = {};
var probeInside = new Function(
splitFunction(probeOutside).body + str);
var tokenRe = /(\w+)/g; // todo: wiser regex
var tokens;
while ((tokens = tokenRe.exec(str))) {
var token = tokens[1];
var fn;
if (!obj[token]
&& (fn = probeInside(token))
&& fn != probeOutside(token)) {
obj[token] = fn;
}
}
return parseSuiteObject(obj);
}
function parseSuiteFunction(fn) {
var fnParts = splitFunction(fn);
var suite = parseSuiteString(fnParts.body);
suite.suiteName = fnParts.name;
return suite;
}
function parseSuiteArray(tests) {
var obj = {};
for (var i = 0; i < tests.length; i++) {
var item = tests[i];
if (!obj[item]) {
switch (typeof item) {
case "function":
var fnParts = splitFunction(item);
obj[fnParts.name] = item;
break;
case "string":
var fn;
if (fn = probeOutside(item)) {
obj[item] = fn;
}
}
}
}
return parseSuiteObject(obj);
}
function parseSuiteObject(obj) {
var suite = new jsUnity.TestSuite(obj.suiteName, obj);
for (var name in obj) {
if (obj.hasOwnProperty(name)) {
var fn = obj[name];
if (typeof fn === "function") {
if (/^test/.test(name)) {
suite.tests.push({ name: name, fn: fn });
} else if (/^setUp|tearDown$/.test(name)) {
suite[name] = fn;
}
}
}
}
return suite;
}
return {
TestSuite: function (suiteName, scope) {
this.suiteName = suiteName;
this.scope = scope;
this.tests = [];
this.setUp = undefined;
this.tearDown = undefined;
},
TestResults: function () {
this.suiteName = undefined;
this.total = 0;
this.passed = 0;
this.failed = 0;
this.duration = 0;
},
assertions: defaultAssertions,
env: {
defaultScope: this,
getDate: function () {
return new Date();
}
},
attachAssertions: function (scope) {
scope = scope || this.env.defaultScope;
for (var fn in jsUnity.assertions) {
scope[fn] = jsUnity.assertions[fn];
}
},
log: function () {},
error: function (s) { this.log("[ERROR] " + s); },
compile: function (v) {
if (v instanceof jsUnity.TestSuite) {
return v;
} else if (v instanceof Function) {
return parseSuiteFunction(v);
} else if (v instanceof Array) {
return parseSuiteArray(v);
} else if (v instanceof Object) {
return parseSuiteObject(v);
} else if (typeof v === "string") {
return parseSuiteString(v);
} else {
throw "Argument must be a function, array, object, string or "
+ "TestSuite instance.";
}
},
run: function () {
var results = new jsUnity.TestResults();
var suiteNames = [];
var start = jsUnity.env.getDate();
for (var i = 0; i < arguments.length; i++) {
try {
var suite = jsUnity.compile(arguments[i]);
} catch (e) {
this.error("Invalid test suite: " + e);
return false;
}
var cnt = suite.tests.length;
this.log("Running "
+ (suite.suiteName || "unnamed test suite"));
this.log(plural(cnt, "test") + " found");
suiteNames.push(suite.suiteName);
results.total += cnt;
for (var j = 0; j < cnt; j++) {
var test = suite.tests[j];
try {
suite.setUp && suite.setUp();
test.fn.call(suite.scope);
suite.tearDown && suite.tearDown();
results.passed++;
this.log("[PASSED] " + test.name);
} catch (e) {
suite.tearDown && suite.tearDown();
this.log("[FAILED] " + test.name + ": " + e);
}
}
}
results.suiteName = suiteNames.join(",");
results.failed = results.total - results.passed;
results.duration = jsUnity.env.getDate() - start;
this.log(plural(results.passed, "test") + " passed");
this.log(plural(results.failed, "test") + " failed");
this.log(plural(results.duration, "millisecond") + " elapsed");
return results;
}
};
})();
//%>

283
pm.svg Normal file
View File

@ -0,0 +1,283 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="300"
inkscape:export-xdpi="300"
inkscape:export-filename="C:\Documents and Settings\Felhasználó\Dokumentumok\WIKIPEDIA_TMP\hajítások\ferde_hajitas0.png"
width="1052.3622"
height="744.09448"
id="svg2"
version="1.1"
inkscape:version="0.48.0 r9654"
sodipodi:docname="ferde_hajitas0.svg">
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="1.0092804"
inkscape:cx="526.18109"
inkscape:cy="372.04724"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="975"
inkscape:window-x="-4"
inkscape:window-y="-4"
inkscape:window-maximized="1"
inkscape:snap-global="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:bbox-nodes="true">
<sodipodi:guide
orientation="1,0"
position="300,592.75388"
id="guide5749" />
<sodipodi:guide
orientation="1,0"
position="400,734.86118"
id="guide5751" />
<sodipodi:guide
orientation="1,0"
position="500,803.99447"
id="guide5753" />
<sodipodi:guide
orientation="1,0"
position="600,818.07717"
id="guide5755" />
<sodipodi:guide
orientation="1,0"
position="700,775.82905"
id="guide5757" />
<sodipodi:guide
orientation="1,0"
position="800,788.63151"
id="guide5759" />
<sodipodi:guide
orientation="0,1"
position="200,661.88716"
id="guide5761" />
<sodipodi:guide
orientation="1,0"
position="200,810.3957"
id="guide5765" />
</sodipodi:namedview>
<defs
id="defs4">
<linearGradient
id="linearGradient8342"
osb:paint="solid">
<stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop8344" />
</linearGradient>
<linearGradient
id="linearGradient5953"
osb:paint="solid">
<stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop5955" />
</linearGradient>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mend"
style="overflow:visible;">
<path
id="path4387"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mendy"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mendy"
style="overflow:visible;">
<path
id="path3058"
style="stroke-linejoin:round;font-size:12.0;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.62500000;fill:#0000ff"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2MendA"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2MendA"
style="overflow:visible;">
<path
id="path6365"
style="stroke-linejoin:round;font-size:12.0;fill-rule:evenodd;stroke:#ff7f00;stroke-width:0.62500000;fill:#ff7f00"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mendyh"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mendyh"
style="overflow:visible;">
<path
id="path6632"
style="stroke-linejoin:round;font-size:12.0;fill-rule:evenodd;stroke:#ff7f00;stroke-width:0.62500000;fill:#ff7f00"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
</defs>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="1. réteg"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-308.2677)"
style="display:inline">
<path
sodipodi:type="arc"
style="color:#000000;fill:#ffff7f;fill-opacity:1;stroke:#ff0000;stroke-width:0.42601788px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3036"
sodipodi:cx="893.70605"
sodipodi:cy="617.27142"
sodipodi:rx="26.751734"
sodipodi:ry="26.751734"
d="m 903.98867,592.5748 c 9.97242,4.15209 16.46912,13.89436 16.46912,24.69662 l -26.75174,0 z"
transform="matrix(2.3424173,0,0,2.3522315,-1992.9325,-699.6031)"
sodipodi:start="5.1069165"
sodipodi:end="6.2831853" />
<path
style="fill:#ff7f00;fill-opacity:1;stroke:#ff7f00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mendyh)"
d="m 100,752.36218 850.39409,-0.5"
id="path2995"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#ff7f00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2MendA)"
d="m 100,1031.4102 0.50001,-696.32431"
id="path3001"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4983"
d="m 99.999995,752.36216 1.5e-5,200.26795"
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Mend)" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 100,444.09448 c 27.44907,-68.02458 59.20304,-137.62081 100,-200 28.49953,-43.57623 57.87472,-89.39653 100,-120 29.04537,-21.10108 64.0989,-39.999998 100,-39.999998 35.9011,0 70.95463,18.898918 100,39.999998 42.12528,30.60347 71.50047,76.42377 100,120 40.79696,62.37919 70.74563,131.44537 100,200 38.89842,91.15446 66.66667,186.66667 100,280"
id="path5767"
inkscape:connector-curvature="0"
transform="translate(0,308.2677)"
sodipodi:nodetypes="caaaaaac" />
<g
id="g15516" />
<path
style="fill:#00ffff;fill-opacity:1;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Mendy)"
d="m 100,752.36218 97.322,-247.354"
id="path5747"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
sodipodi:linespacing="125%"
id="text4804"
y="374.42151"
x="116.34017"
style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:1.11000001px;word-spacing:0px;fill:#ff7f00;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
xml:space="preserve"><tspan
y="374.42151"
x="116.34017"
id="tspan4806"
sodipodi:role="line">Y</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4808"
y="795.39862"
x="927.70691"
style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:1.11000001px;word-spacing:0px;fill:#ff7f00;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
xml:space="preserve"><tspan
y="795.39862"
x="927.70691"
id="tspan4810"
sodipodi:role="line">X</tspan></text>
<path
sodipodi:type="arc"
style="color:#000000;fill:#ff0000;stroke:#000000;stroke-width:3.36906815px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path6689"
sodipodi:cx="897.45239"
sodipodi:cy="374.10339"
sodipodi:rx="32.006149"
sodipodi:ry="32.006149"
d="m 929.45854,374.10339 c 0,17.67651 -14.32964,32.00615 -32.00615,32.00615 -17.67651,0 -32.00615,-14.32964 -32.00615,-32.00615 0,-17.6765 14.32964,-32.00615 32.00615,-32.00615 17.67651,0 32.00615,14.32965 32.00615,32.00615 z"
transform="matrix(0.29681796,0,0,0.29681796,-166.37999,641.32158)" />
<g
style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:1.11000001px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
id="text6691">
<path
d="m 123.15146,612.4632 -7.52344,-18.66797 5.18555,0 3.51562,9.52734 1.01953,3.18164 c 0.26953,-0.80859 0.43945,-1.34179 0.50977,-1.59961 0.16405,-0.52733 0.33983,-1.05468 0.52734,-1.58203 l 3.55078,-9.52734 5.08008,0 -7.41797,18.66797 z"
style="font-weight:bold;fill:#0000ff;-inkscape-font-specification:Arial Bold"
id="path3084"
inkscape:connector-curvature="0" />
<path
d="m 137.55493,611.40224 c 0,-1.98049 0.20376,-3.5744 0.61129,-4.78176 0.40752,-1.20732 1.0131,-2.13854 1.81672,-2.79364 0.80362,-0.65507 1.81482,-0.98261 3.03359,-0.98263 0.89883,2e-5 1.68722,0.18093 2.36517,0.54273 0.67793,0.36184 1.2378,0.88362 1.67961,1.56536 0.4418,0.68176 0.78838,1.51204 1.03976,2.49085 0.25136,0.97883 0.37705,2.29853 0.37706,3.95909 -1e-5,1.96527 -0.20187,3.55157 -0.60557,4.7589 -0.40373,1.20735 -1.0074,2.14047 -1.81102,2.79936 -0.80363,0.6589 -1.81863,0.98834 -3.04501,0.98834 -1.61487,0 -2.88315,-0.57891 -3.80484,-1.73674 -1.10451,-1.39396 -1.65676,-3.66391 -1.65676,-6.80986 z m 2.1138,0 c 0,2.74985 0.32183,4.5799 0.96549,5.49016 0.64366,0.91027 1.43776,1.36541 2.38231,1.3654 0.94454,10e-6 1.73864,-0.45703 2.38231,-1.37111 0.64365,-0.91407 0.96548,-2.74222 0.96549,-5.48445 -1e-5,-2.75745 -0.32184,-4.58941 -0.96549,-5.49588 -0.64367,-0.90644 -1.44539,-1.35967 -2.40516,-1.35969 -0.94455,2e-5 -1.69866,0.39993 -2.26234,1.19973 -0.70841,1.02073 -1.06261,2.90601 -1.06261,5.65584 z"
style="font-size:65.00091553%;baseline-shift:sub;fill:#0000ff"
id="path3086"
inkscape:connector-curvature="0" />
</g>
<text
xml:space="preserve"
style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:1.11000001px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
x="68.307388"
y="860.3139"
id="text6699"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6701"
x="68.307388"
y="860.3139"
style="font-weight:bold;-inkscape-font-specification:Arial Bold">g</tspan></text>
<text
xml:space="preserve"
style="font-size:36px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:1.11000001px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial Oblique"
x="123.86403"
y="738.86432"
id="text3842"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3844"
x="123.86403"
y="738.86432">α</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

BIN
sze_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

452
vonat.js Normal file
View File

@ -0,0 +1,452 @@
let adatbazis = {
"4910 személyvonat": [
{
megallo: "Budapest-Déli",
erkezik: null,
indul: "04:30"
},
{
megallo: "Budapest-Kelenföld",
erkezik: "04:36",
indul: "04:38"
},
{
megallo: "Budaörs",
erkezik: "04:42",
indul: "04:43"
},
{
megallo: "Törökbálint",
erkezik: "04:47",
indul: "04:47"
},
{
megallo: "Biatorbágy",
erkezik: "04:51",
indul: "04:52"
},
{
megallo: "Herceghalom",
erkezik: "04:56",
indul: "04:57"
},
{
megallo: "Bicske alsó",
erkezik: "05:02",
indul: "05:02"
},
{
megallo: "Bicske",
erkezik: "05:04",
indul: "05:05"
},
{
megallo: "Szár",
erkezik: "05:09",
indul: "05:09"
},
{
megallo: "Szárliget",
erkezik: "05:12",
indul: "05:13"
},
{
megallo: "Alsógalla",
erkezik: "05:18",
indul: "05:18"
},
{
megallo: "Tatabánya",
erkezik: "05:23",
indul: "05:24"
},
{
megallo: "Vértesszőlős",
erkezik: "05:27",
indul: "05:27"
},
{
megallo: "Tóvároskert",
erkezik: "05:30",
indul: "05:30"
},
{
megallo: "Tata",
erkezik: "05:32",
indul: "05:33"
},
{
megallo: "Almásfüzitő",
erkezik: "05:40",
indul: "05:44"
},
{
megallo: "Almásfüzitő felső",
erkezik: "05:48",
indul: "05:49"
},
{
megallo: "Szőny",
erkezik: "05:52",
indul: "05:52"
},
{
megallo: "Komárom",
erkezik: "05:56",
indul: "05:57"
},
{
megallo: "Ács",
erkezik: "06:02",
indul: "06:03"
},
{
megallo: "Nagyszentjános",
erkezik: "06:08",
indul: "06:09"
},
{
megallo: "Győrszentiván",
erkezik: "06:14",
indul: "06:15"
},
{
megallo: "Győr-Gyárváros",
erkezik: "06:19",
indul: "06:19"
},
{
megallo: "Győr",
erkezik: "06:23",
indul: null
}
],
"912 Claudius IC": [
{
megallo: "Budapest-Keleti",
erkezik: null,
indul: "08:10"
},
{
megallo: "Budapest-Kelenföld",
erkezik: "08:23",
indul: "08:25"
},
{
megallo: "Tatabánya",
erkezik: "08:55",
indul: "08:56"
},
{
megallo: "Tata",
erkezik: "09:03",
indul: "09:04"
},
{
megallo: "Komárom",
erkezik: "09:16",
indul: "09:17"
},
{
megallo: "Győr",
erkezik: "09:35",
indul: "09:38"
},
{
megallo: "Csorna",
erkezik: "09:58",
indul: "09:59"
},
{
megallo: "Répcelak",
erkezik: "10:18",
indul: "10:19"
},
{
megallo: "Szombathely",
erkezik: "10:49",
indul: null
}
],
"9306 személyvonat": [
{
megallo: "Budapest-Keleti",
erkezik: null,
indul: "16:53"
},
{
megallo: "Ferencváros",
erkezik: "17:01",
indul: "17:02"
},
{
megallo: "Budapest-Kelenföld",
erkezik: "17:09",
indul: "17:10"
},
{
megallo: "Biatorbágy",
erkezik: "17:19",
indul: "17:20"
},
{
megallo: "Bicske alsó",
erkezik: "17:29",
indul: "17:29"
},
{
megallo: "Bicske",
erkezik: "17:31",
indul: "17:32"
},
{
megallo: "Alsógalla",
erkezik: "17:44",
indul: "17:44"
},
{
megallo: "Tatabánya",
erkezik: "17:47",
indul: "17:48"
},
{
megallo: "Tóvároskert",
erkezik: "17:54",
indul: "17:54"
},
{
megallo: "Tata",
erkezik: "17:56",
indul: "17:57"
},
{
megallo: "Komárom",
erkezik: "18:09",
indul: "18:10"
},
{
megallo: "Ács",
erkezik: "18:15",
indul: "18:16"
},
{
megallo: "Győr-Gyárváros",
erkezik: "18:28",
indul: "18:28"
},
{
megallo: "Győr",
erkezik: "18:31",
indul: null
}
],
"9696 InterRégió": [
{
megallo: "Balatonszentgyörgy",
erkezik: null,
indul: "16:00"
},
{
megallo: "Keszthely",
erkezik: "16:11",
indul: "16:12"
},
{
megallo: "Gyenesdiás",
erkezik: "16:16",
indul: "16:16"
},
{
megallo: "Vonyarcvashegy",
erkezik: "16:19",
indul: "16:20"
},
{
megallo: "Balatongyörök",
erkezik: "16:23",
indul: "16:24"
},
{
megallo: "Balatonederics",
erkezik: "16:29",
indul: "16:30"
},
{
megallo: "Tapolca",
erkezik: "16:40",
indul: "16:41"
},
{
megallo: "Sümeg",
erkezik: "16:58",
indul: "17:01"
},
{
megallo: "Jánosháza",
erkezik: "17:15",
indul: "17:15"
},
{
megallo: "Celldömölk",
erkezik: "17:29",
indul: "17:37"
},
{
megallo: "Pápa",
erkezik: "18:00",
indul: "18:02"
},
{
megallo: "Vaszar",
erkezik: "18:09",
indul: "18:09"
},
{
megallo: "Szerecseny",
erkezik: "18:17",
indul: "18:17"
},
{
megallo: "Gyömöre-Tét",
erkezik: "18:22",
indul: "18:23"
},
{
megallo: "Győrszabadhegy",
erkezik: "18:38",
indul: "18:39"
},
{
megallo: "Győr-Gyárváros",
erkezik: "18:42",
indul: "18:42"
},
{
megallo: "Győr",
erkezik: "18:47",
indul: null
}
],
"4945 személyvonat": [
{
megallo: "Győr",
erkezik: null,
indul: "12:40"
},
{
megallo: "Győr-Gyárváros",
erkezik: "12:42",
indul: "12:42"
},
{
megallo: "Győrszentiván",
erkezik: "12:46",
indul: "12:47"
},
{
megallo: "Nagyszentjános",
erkezik: "12:52",
indul: "12:53"
},
{
megallo: "Ács",
erkezik: "12:58",
indul: "12:59"
},
{
megallo: "Komárom",
erkezik: "13:04",
indul: "13:05"
},
{
megallo: "Szőny",
erkezik: "13:09",
indul: "13:09"
},
{
megallo: "Almásfüzitő felső",
erkezik: "13:11",
indul: "13:12"
},
{
megallo: "Almásfüzitő",
erkezik: "13:16",
indul: "13:23"
},
{
megallo: "Tata",
erkezik: "13:29",
indul: "13:30"
},
{
megallo: "Tóvároskert",
erkezik: "13:33",
indul: "13:33"
},
{
megallo: "Vértesszőlős",
erkezik: "13:36",
indul: "13:36"
},
{
megallo: "Tatabánya",
erkezik: "13:39",
indul: "13:40"
},
{
megallo: "Alsógalla",
erkezik: "13:43",
indul: "13:43"
},
{
megallo: "Szárliget",
erkezik: "13:48",
indul: "13:49"
},
{
megallo: "Szár",
erkezik: "13:52",
indul: "13:52"
},
{
megallo: "Bicske",
erkezik: "13:57",
indul: "13:58"
},
{
megallo: "Bicske alsó",
erkezik: "14:00",
indul: "14:00"
},
{
megallo: "Herceghalom",
erkezik: "14:04",
indul: "14:05"
},
{
megallo: "Biatorbágy",
erkezik: "14:09",
indul: "14:10"
},
{
megallo: "Törökbálint",
erkezik: "14:15",
indul: "14:15"
},
{
megallo: "Budaörs",
erkezik: "14:19",
indul: "14:20"
},
{
megallo: "Budapest-Kelenföld",
erkezik: "14:27",
indul: "14:32"
},
{
megallo: "Budapest-Déli",
erkezik: "14:39",
indul: null
},
]
};

BIN
web.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
zilap.ttf Normal file

Binary file not shown.