ArnisR Posted June 9, 2014 Report Posted June 9, 2014 (edited) Sveiki! Tātad, izlieku novērtēšanai savu jaunizcepto JavaScript spēļuku! ;D Šoreiz klasiskais Color Lines. Spēle: http://color-lines.eu01.aws.af.cm/ Source kods: https://github.com/arnisritins/Color-Lines Varat izteikt kritiku, ieteikumus. :) Edited June 9, 2014 by ArnisR Quote
gurkjis Posted June 9, 2014 Report Posted June 9, 2014 Prasās plūstošākas animācijas (lielāku update FPS uzlikt). Quote
mefisto Posted June 10, 2014 Report Posted June 10, 2014 Divas galvenās problēmas, kuras šobrīg kodā redzu ir variable scope (tu bieži vien nepamani, ka tavi callback'i sāk grābstīties pa globālajiem mainīgajiem) un funkciju garums (tev ir vairākas 50+ rindu funkcijas kodā). Quote
codez Posted June 10, 2014 Report Posted June 10, 2014 (edited) Vai vari parādīt, kurā vietā pieskaras globālajiem mainīgajiem un kur funkcija (ar šo es šeit domāju funkcijas, nevis klases, kuras tiek simulētas ar funkcijām) ir virs 50 rindiņām. Edited June 10, 2014 by codez Quote
mefisto Posted June 10, 2014 Report Posted June 10, 2014 (edited) Globāli mainīgie piemēram ir visi kas tiek izmantoti iekš https://github.com/arnisritins/Color-Lines/blob/master/lines.js#L346 timeout'a. Mainīgais "blocked" nav redzams no šīs rindas un no šīs (jo nav definēts ne funkcijā, ne iekš closure kas to ietver) tāpēc vērtības nonāk window.blocked mainīgajā. Un 50+ rindu funkcijām piemēri ir: https://github.com/arnisritins/Color-Lines/blob/master/lines.js#L180 un https://github.com/arnisritins/Color-Lines/blob/master/lines.js#L552 Edited June 10, 2014 by mefisto Quote
codez Posted June 10, 2014 Report Posted June 10, 2014 blocked ir definēts šeit: https://github.com/arnisritins/Color-Lines/blob/master/lines.js#L17 Un šķiet, ka funkcija find realizē vienu konkrētu algoritmu, tur nebūtu neko prātīgi viņu dalīt. Quote
codez Posted June 10, 2014 Report Posted June 10, 2014 Man šķiet, ka tev nav: http://jsfiddle.net/cZU52/ function log(s){ $('#log').append('<div>'+s+'</div>'); } (function(){ var foo = 1, outer = function () { log(foo); foo = 2; bar = 7; window.setTimeout(function () { log(foo); log(window.foo); log(bar); log(window.bar); }, 1000); }; outer(); }()); output: 1 2 undefined 7 7 Kā redzams, foo nav globālais. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.