Nyolcadik vizsga

This commit is contained in:
2024-12-06 12:08:15 +01:00
parent 3fb3920015
commit e7b2b7125b
10 changed files with 444 additions and 0 deletions

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.