Nyolcadik vizsga
This commit is contained in:
24
2019-20-1-03/Feladat/gknb_intm049_2019-20-1_03.css
Normal file
24
2019-20-1-03/Feladat/gknb_intm049_2019-20-1_03.css
Normal 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;
|
||||
}
|
56
2019-20-1-03/Feladat/gknb_intm049_2019-20-1_03.html
Normal file
56
2019-20-1-03/Feladat/gknb_intm049_2019-20-1_03.html
Normal 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>
|
73
2019-20-1-03/Feladat/gknb_intm049_2019-20-1_03.js
Normal file
73
2019-20-1-03/Feladat/gknb_intm049_2019-20-1_03.js
Normal 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);
|
||||
}
|
||||
});
|
||||
});
|
BIN
2019-20-1-03/Feladat/gknb_intm049_2019-20-1_03.odt
Normal file
BIN
2019-20-1-03/Feladat/gknb_intm049_2019-20-1_03.odt
Normal file
Binary file not shown.
Reference in New Issue
Block a user