Autor Zpráva
Matesor
Profil *
Dobry den.
Dostal jsem za úkol napsat piškvorky (mám na mysli ty velké, ne 3x3) způsobem, kdy se v tabulce přepisují pomocí kliknutí obrázky, tj. na začátku je v každém políčku tabulky prázdný obrázek, a na střídačku se při kliknutí změní na kolečko a křížek. Narazil jsem však na nějaké problémy:
1)potřeboval bych, aby se každému políčku samo přiřazovalo nějaké id.
2)dále bych potřeboval, aby se obrázek změnil jen jednou, např. abych nemohl změnit křížek na kolečko

děkuju za rychlou pomoc :)
_es
Profil
Matesor:
Dostal jsem za úkol napsat piškvorky
Tú úlohu si dostal ty, nie my, tak ju rieš.

děkuju za rychlou pomoc :)
V to nedúfaj, nájdi si funkčný skript, vyhľadávače snáď používať vieš, alebo to daj do sekcie „Práce a zakázky“ a uveď aj odmenu.
Louka
Profil
Jak napsar _es, nečekej hotové skripty.
Naťukl bych tě (snad správně):
1) vypiš herní úlochu celou přes PHP nebo JS a ta id čísluj od 0 do X*Y-1, pak jednoduše zjistíš souřadnice pomocí modulo (->googli) a zároveň to lze předávat jako int argument.

2) pole kliknuto[], ve kterém bude X*Y-1 indexů, každý na počátku hodnotu 0, klikne-li se na políčko, vezme se jeho ID a tomu indexu (dle id) se nastaví hodnota 1 - když bude 1, už nepůjde kliknout ... zde se projevuje výhoda číslování polí jedním číslem a ne např x-y (snáze předáš index pole)
1Pupik1989
Profil
Na tohle jsem používal ajax. V momentě kdy kliknu na pole, ho zapíšu do databáze a z opětovného obnovení databáze zjistím, že už pole je plné. Pak ve čtyřech směrech při generování tabulky zjišťuji, pokud polí již není 5 se stejným symbolem. Pokud ano, tak jeden z hráčů vyhrál. Jestli se to hraje jen na jednom pc, tak je databáze zbytečná a ukládal bych to do pole.
peta
Profil
http://peter-mlich.wz.cz/web/php/pr/tic/tic.php
http://www.volny.cz/peter.mlich/ejshry.htm

Mozna by to chtelo tvuj kod.

"1)potřeboval bych, aby se každému políčku samo přiřazovalo nějaké id. "
Proc?
"2)dále bych potřeboval, aby se obrázek změnil jen jednou, např. abych nemohl změnit křížek na kolečko"

Jen nacrtek... samozrejme vyhodnocovani by se muselo resit trosku jinak, asik.
hodnoty = ['nic.jpg','krizek.jpg','kolecko.jpg']; // rozmery 50x50
hrac = 2; // na zacatku
hrac = hrac ? 1 : 2;
function zmen(img,hrac)
{
img.src = (img.src!=hodnoty[0]) ? hodnoty[hrac] : hodnoty[0];
}
function reset(img,hrac)
{
var im, ob, i;
ob = document.getElementById('pole');
im = ob.getElementsByTagName('img'); // ziskej vsechny img pod objektem s id=pole, tudiz nepotrebuji nic cislovat
for(i=0;i<im.length;i++)
{zmen(im[i],0);}
}
<div id=pole>
<img src="nic.jpg" onclick="zmen(this,hrac)">
<img src="nic.jpg" onclick="zmen(this,hrac)">
<img src="nic.jpg" onclick="zmen(this,hrac)">
<br>
<img src="nic.jpg" onclick="zmen(this,hrac)">
<img src="nic.jpg" onclick="zmen(this,hrac)">
<img src="nic.jpg" onclick="zmen(this,hrac)">
<br>
<img src="nic.jpg" onclick="zmen(this,hrac)">
<img src="nic.jpg" onclick="zmen(this,hrac)">
<img src="nic.jpg" onclick="zmen(this,hrac)">
</div>


PS. Jo, ver tomu, ze ucitel tohle forum zna :)

Minimalne na trojku to je, ale budes muset hodne vysvetlovat :)
http://peter-mlich.wz.cz/web/js/prjpw/tic.htm

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0