Autor | Zpráva | ||
---|---|---|---|
Darker Profil |
#1 · Zasláno: 30. 6. 2010, 14:04:07 · Upravil/a: Darker
Potřeboval bych procházet 2D pole (které je ekvivalentem tabulky) po úhlopříčkách, a nenapadá mě jediný způsob, jak to udělat... :(
Vás ano, že jo? :) Dík |
||
Chamurappi Profil |
#2 · Zasláno: 30. 6. 2010, 14:07:30 · Upravil/a: Chamurappi
Reaguji na Darkera:
Ano. Reaguji na Taygera: Úhlopříčka je jednorozměrný útvar, k čemu dva cykly? Aha, on dělá piškvorky a potřebuje projít i rovnoběžky. |
||
Tayger Profil * |
#3 · Zasláno: 30. 6. 2010, 14:07:30
Darker:
Dvojtý vnořený cyklus, jednou doprava a pak dolů ;-) |
||
Darker Profil |
#4 · Zasláno: 30. 6. 2010, 14:10:41
Jednou doprava a dolů?
Dvojitý cyklus mám už na vertikální a horizontální prolejzání... Nemohl bys být konrétní prosím? Já už nemůžu, bojuju s tim už třetí den (teď myslim celej program, ne tu tabulku...) |
||
Tayger Profil * |
#5 · Zasláno: 30. 6. 2010, 14:15:29
Darker:
Jsem spíše takový javascriptový věčný začátečník, ale myslel jsem to takto cyklus1 { doprava cyklus2 { dolů } } samozřejmě za pomoci dom posouvání ukazatele na úhlopříčnou pozici. Zkus si to nějak dát do kupy, protože já bych to dělal ty tvé tři dny. Jen navrhuji možný postup. :-) Ale asi jsem měl spíše držet hubu. :-D |
||
Radek9 Profil |
#6 · Zasláno: 30. 6. 2010, 14:18:18
Darker:
Pokud se počet sloupců rovná počtu řádku, je to jednoduché: var tabulka = [[…], […], …], uhlopricka = []; for(x=0;x<tabulka.length;x++){ uhlopricka[x] = tabulka[x][x]; } |
||
joe Profil |
#7 · Zasláno: 30. 6. 2010, 14:20:04
Podle mě stačí jeden cyklus. I na rovnoběžky.
|
||
Chamurappi Profil |
#8 · Zasláno: 30. 6. 2010, 14:33:42
Reaguji na joe:
Šlo by to i jedním cyklem, ale nebylo by to moc hezké, ne? Reaguji na Darkera: Jestli děláš piškvorky, stačí ti jeden průchod všemi políčky a jedno pomocné pole o velikosti [šířka, 4] k nalezení libovolně orientovaných pětic. |
||
joe Profil |
#9 · Zasláno: 30. 6. 2010, 14:48:52
Chamurappi:
To asi moc ne :-) |
||
Darker Profil |
#10 · Zasláno: 30. 6. 2010, 14:49:57
Jak to myslíš? Já to nerad přiznávám ale chybí mi "polová" představivost, takže když tohle řekneš, tak nevím jak to má vypadat.
Radek9: Ale tím nedostanu jen ty nejdelší úhlopříčku, ne? |
||
Radek9 Profil |
#11 · Zasláno: 30. 6. 2010, 14:52:41
Darker:
Co já vím, tak čteverec/obdelník má jen dvě úhlopříčky. :o) Z tvého prvního příspěvku jsem nepochopil, že chceš čáry s náklonem 45 stupňů. |
||
Darker Profil |
#12 · Zasláno: 30. 6. 2010, 15:03:11
No, ale všechny, nebo všechny menší než 4/5polí (podle typu hry, neboť, jak Chamurappi správně odhadl, jedná se o piškvorky)
|
||
_es Profil |
#13 · Zasláno: 30. 6. 2010, 19:18:17
Darker:
Nejde ani tak o JS, ako skôr o trochu matematické uvažovanie: Je šachovnica políčok s celočíselnými súradnicami x a y. Celkovo môžeš ísť od políčka (x,y) ôsmimi smermi, na susedné políčko: (x+1,y) (x+1,y+1) (x,y+1) (x-1,y+1) (x-1,y) (x-1,y-1) (x,y-1) (x+1,y-1) a pre nové políčko zrátaš pre každý z týchto ôsmich smerov v cykle počet políčok za sebou a protismerné smery zohľadníš. |
||
Václav_ Profil * |
#14 · Zasláno: 1. 7. 2010, 00:01:02
Tak můžeš to udělat cyklem:
<div id="ctverecky" style="width:600px;"> <script type="text/javascript"> var pocetx=30; var pocety=30; for(y=1;y>=pocety;y--){ for(x=1;x<=pocetx;x++){ document.getElementById("ctverecky").innerHTML="<div onClick='spustAjax("+x+","+y+")' style='width:20px;height:20px;float:left;'></div>"; } } </script> </div> nějak takto můžeš začít, ajaxem to můžeš dodělat a bude to šlapat, tím cyklem uděláš to pole a v té funkci spustAjax() při odesílání si do url strč ?x=...&y=.... a pak si to ulož, po nahrání to akorát obnov, obnov. Určitě to takhle nebude zdaleka vypadat ale snažím se tě jen navést :) |
||
Václav_ Profil * |
#15 · Zasláno: 1. 7. 2010, 00:25:07
No to úhlopříčně jsem trošku vypustil :) v tom případě sorry za mů bezpředmětný komentář. Tak se pokusím pomoci :), můj první pokus by byl udělat funkci která se spouští při průchodu již zaškrtnutým čtverečkem, v té funkci by byly 2 podmínky, jedna by kontrolovala směr vpravo a jedna vlevo, pokud by už nebyl další tak break.... 100% by to fungovalo ;-) Ale někdo by mohl mít námitky.
|
||
Darker Profil |
#16 · Zasláno: 1. 7. 2010, 12:10:43 · Upravil/a: Darker
Václav:
Generovat tabulku umím. Na to mám skript v php. Kontrola vodorovných a svislých linek není problém, uděláš si 2D pole co je jak ta tabulka a jedeš. Máš číslo, když narazíš na křížek přičteš jedna, když ne, vynuluješ ho... Ale tu úhlopříčku jsem pochopil až díky Esovi, takže díky jemu i ostatním. Dneska už to tam dodělávat nebudu, páč odjíždim, ale nemohl by se prosím někdo podívat, proč to nechodí v IE a opeře? |
||
Časová prodleva: 14 let
|
0