Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%)
|
W ramach ćwiczenia się w js i jQuery(wersja: 1.2.3) postanowiłem popełnić Snake'a, który w praktyce wygląda tak: SNAKE
Info: -sterowanie na klawiszach W,S,A,D -jestem świadom, że odznaczenie inputa sprawia, że gra nie działa. Kody: jQuery:
css: Kod <style type="text/css"> /* <![CDATA[ */ div{ height:20px; width:20px; } div.pole{ background:#217F25; } div.glowa{ background:yellow; } div.ogon{ background:red; } div.owoc{ background:blue; } table.waz,#gameover { margin:20px auto; padding:0; } #gameover{ width:100px; } td,tr{ padding:0; margin:0; border:0; } /* ]]> */ </style> Trochę mi ten kod przycięło do lewej, no ale tak działa forum na tabulacje;) Ładniejszy w źródle strony:) Ten post edytował lord_t 18.07.2008, 21:19:39 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%)
|
Najpierw trochę odpowiem:
@tiraeth: to nie literówka;) ale fakt, że w wielu miejscach ths można było zastąpić this (co też zrobiłem). W jednym miejscu nie można ( $(document).keypress(function(e){...}), ponieważ tam this odwołuje się do document. @Babcia@Stefa: a od kiedy angielskie nazewnictwo są wyznacznikiem dobrego kodu? Nazwy metod są po ang, bo wydaja mi się krótsze niż pol. odpowiedniki. Jeśli lepiej i łatwiej czyta Ci się kody pisane całkowicie po ang. to możesz sobie przetłumaczyć ten kod. Wersja 1.1 Zmiany: -wyrzucenie 'czytnika' (thx dla bima2) -punktacja Kod jQuery (wkleiłem jako php tylko dlatego, żeby były TABy;) )
Kod css
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%)
|
ogólnie dobrze napisana aplikacja - na głębsze przejżenie kodu nie mam czasu i tylko ogólne uwagi (IMG:style_emoticons/default/winksmiley.jpg)
Najpierw trochę odpowiem: @tiraeth: to nie literówka;) ale fakt, że w wielu miejscach ths można było zastąpić this (co też zrobiłem). W jednym miejscu nie można ( $(document).keypress(function(e){...}), ponieważ tam this odwołuje się do document. tak, zmienne prywatne i zasięg - tu ok, ale skoro już takie obtymalizacje i mała "hermetyzacja" kodu to dlaczego używasz eval?? - w ostatniej wersji też jest: Cytat Kod setTimeout(this.nazwa+".timeLoop()",this.szybkosc); i w powyższym właśnie jest eval (IMG:style_emoticons/default/winksmiley.jpg) - a wszystko obchodzisz odwołując się do zmiennej globalnej window.Waz... podczas gdy zwróć uwagę i wklej w pasku adresu poniższy kod i zauważ, że też będzie działał: Kod java script:var a={b:function(){alert('ggg')},c:function(){setTimeout(this.b,1000);}};a.c();void(0); i jeszcze jedna mała uwaga - trochu nie mam czasu analizować kod ale tak na szybko patrząc na metody to chyba nie buforujesz uchwytu do elementów do których się da tylko za każdym razem ich szukasz w DOM?? np. w tej metodzie (tak na szybko nie zauważyłem buforowania uchwytów a i nie zwróciłem głębiej uwagi na logikę gry czy akurat tu da się zbuforować uchwyty): Kod this.putHead=function(i,j) { $('#'+i+'_'+j).addClass('glowa'+this.kierunek); this.checkCol(i,j); this.i=i; this.j=j; } a i nie wiem z jakiego edytora korzystasz więc czy te kreski, że to zmienne prywatne to nie wnikam... ale od razu napiszę jedną uwagę - zmienna prywatna może mieć tą samą nazwę (identyczną) jakby co jak zmienna publiczna i też definiując zmienne w argumentach funkcji danych zmiennych prywatnych nie trzeba definiować (chyba, że sprawdzasz czy jest podany argument) - i tu taki mały teścik: Kod java script:function test(){var a=2;this.a=3;this.a1=function(){return a;};this.a2=function(){return this.a;}};b=new test();alert(b.a1());alert(b.a2());void(0) ps. javascript w tych kodach ma być razem jak będziesz wklejał do paska adresu (IMG:style_emoticons/default/winksmiley.jpg) EDIT. ps. zaktualizuj sobie link do gry w temacie z Twoją ofertą do gry gdyż tam nie działa link (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował zegarek84 4.02.2010, 21:00:37 |
|
|
|
lord_t [jQuery] Snake 18.07.2008, 21:17:51
bim2 zamiast
$('#czytnik').keypress
daj
... 21.07.2008, 23:55:04
lord_t $(document).key... pomogło, thx.
Jak zrobię ... 22.07.2008, 11:31:37
Szunaj85 Gierka nawet całkiem całkiem, ale według mnie:
- p... 7.08.2008, 18:47:23
.radex Jest ok, ale nic specjalnego. Można powiedzieć, że... 7.08.2008, 21:07:57
Миха
Gra bardzo fajna, oceniam na 8/10. Zamiast kolorow... 11.08.2008, 16:25:39
tiraeth Widzę kilka literówek w kodzie, np. ths.niemozliwy... 11.08.2008, 17:27:41
Crozin @tiraeth: autor wcześniej zrobiłKodvar ths=this;Ni... 11.08.2008, 17:50:01
Babcia@Stefa Kodu nie oceniam (nie mam czasu przegląda... 11.08.2008, 19:19:05
vokiel Sterowanie w Operze wreszcie działa, aż się skusił... 12.08.2008, 07:51:42
snovvy Straciłem na tej grze około 10 min świetna sprawa... 13.08.2008, 11:47:18
lord_t RE: [jQuery] Snake 4.02.2010, 19:27:44
lord_t Dzięki za konstruktywny komentarz - Twoje rady uwz... 5.02.2010, 01:49:25
zegarek84 teraz jadę w pociągu i deczo się "znieczuliłe... 5.02.2010, 10:47:50
lord_t eval: bingo!
Uważam, że nie ma sensu już nic ... 5.02.2010, 12:18:01
ShadowD 318, nie było już za bardzo gdzie się zmieścić, po... 5.02.2010, 12:37:02
lord_t RE: [jQuery] Snake 21.02.2010, 17:50:47
darko Kozackie! Tylko brakuje mi liczenia punktów z... 21.02.2010, 17:58:39
koderrr swietne !
przydalaby sie jedynie lista graczy... 21.02.2010, 18:13:56
thomson89 Świetna gierka, a i postępy znakomite. Jak patrzę ... 21.02.2010, 22:00:02
frytek92 Naprawdę super jeszcze lepiej by było jak bym widz... 21.02.2010, 22:20:30 ![]() ![]() |
|
Aktualny czas: 7.12.2025 - 02:40 |