Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: Drobna pomoc z kodem - help programiści :D

10.05.2014 15:54
siwy346
1
siwy346
106
addicted to music
Image

Drobna pomoc z kodem - help programiści :D

Mam sobie taką małą krzyżówkę i potrzebuje uzupełnić kod w taki sposób aby jej hasło po ukończeniu było jakoś wyróżnione(jakiś kolor, ramka albo coś).

Kod nie jest mój, więc nie wiem czemu coś jest tak, a nie inaczej - w każdym bądź razie działa. Niestety zadanie nie jest totalnie na moje siły. Poza tym wszystko śmiga i gra w tej krzyżówce.

Dla zainteresowanych cały kod:
http://wklej.org/hash/151cd901a6c/txt/

I obrazek co bym chciał.
----------->

Da się w ogóle tak?

10.05.2014 16:59
kaczmen
2
odpowiedz
kaczmen
98
GINOBILI!!!

nie wiem, czy jest to taka "drobna pomoc"
nienawidzę javaScript'u ale:

document.writeln("<table id=\"crossword\" cellpadding=\"0\" cellspacing=\"0\" style=\"display: none; border-collapse: collapse;\">");
for (var y = 0; y < CrosswordHeight; y++)
‹;;;;
document.writeln("<tr>");
for (var x = 0; x < CrosswordWidth; x++)
‹;;;;
if (TableAcrossWord[x][y] >= 0 || TableDownWord[x][y] >= 0)
if (x === 16) ‹;;;;
document.write("<td id=\"c" + PadNumber(x) + PadNumber(y) + "\" class=\"ecw-box ecw-boxnormal_unsel rozwiazanie\" onclick=\"SelectThisWord(event);\"> </td>");
›;;;; else ‹;;;;
document.write("<td id=\"c" + PadNumber(x) + PadNumber(y) + "\" class=\"ecw-box ecw-boxnormal_unsel\" onclick=\"SelectThisWord(event);\"> </td>");
›;;;;
else
document.write("<td><\/td>");
›;;;;
document.writeln("<\/tr>");
›;;;;
document.writeln("<\/table>");

w Twoim przykładzie cała krzyżówka ma 39 pól szerokości, a litera hasła w każdej linijce jest na 16 miejscu, dlatego dodałem przy tworzeniu komórki warunek, który sprawdza czy współrzędna x jest równa 16, jeżeli jest dodaje klasę "rozwiazanie" do komórki
(jest to kod dla tego konkretnego przykładu, żeby działało dla każdej innej krzyżówki trzeba by było dodać zmienną i trzymać w niej numer komórki z hasłem i sprawdzać x === zmienna)

w części style trzeba dodać jakieś opcje dla takiej komórki np .rozwiazanie ‹;;;; background-color: lightgray;›;;;;
z obramowaniem jest trochę ciężej bo składa się na nie obramowanie komórki z rozwiązaniem + prawa strona komórki poprzedzającej, u Ciebie to 15

problem pojawia się też przy podpowiedziach do hasła, bo użycie tej opcji resetuje styl komórki...

a tak poza tym, to okropny ten kod...

edit.

function ChangeWordStyle(WordNumber, NewStyle)
‹;
if (WordNumber< 0) return;
var x = WordX[WordNumber];
var y = WordY[WordNumber];


if (WordNumber<= LastHorizontalWord)
for (i = 0; i < WordLength[WordNumber]; i++)‹;
if (CellAt(x + i, y).className.indexOf("rozwiazanie") > -1) ‹;
CellAt(x + i, y).className = NewStyle + " rozwiazanie";
›; else ‹;
CellAt(x + i, y).className = NewStyle;
›;
›;
else
for (i = 0; i < WordLength[WordNumber]; i++)
CellAt(x, y + i).className = NewStyle;
›;

taka zmiana w tej funkcji sprawia, że przy wybraniu podpowiedzi hasło też jest dobrze podświetlane

cały kod po zmianach : http://wklej.org/id/1357505/

10.05.2014 17:33
siwy346
3
odpowiedz
siwy346
106
addicted to music

Dziękuje bardzo za zainteresowanie. Wiszę Ci przysługę :D

Powiedz mi jeszcze gdzie to wstawić (bo kombinuje w różnych miejscach i i coś mnie nie słucha).
Klasę umiem dodać i wiem gdzie. Jednak skrypty mnie przerastają najwyraźniej.

10.05.2014 17:50
kaczmen
4
odpowiedz
kaczmen
98
GINOBILI!!!

chyba najlepiej zamienić cały kod na ten który podałem na wklej

10.05.2014 18:08
siwy346
👍
5
odpowiedz
siwy346
106
addicted to music

O Dzięki Ci wielkie.

Forum: Drobna pomoc z kodem - help programiści :D