|
Потестите игру плиз
Я недавно увлёкся javascript'ом и написал игру. Беда в том что по непонятной причине скрипт иногда зависает, при этом немного грузится проц, но страница не подаёт признаков жизни. Гуру яваскрипта, может вы заметите где там косяк?
Правила игры - нужно накопить власть 100 или уничтожить противника. каждая карта стоит ресурс который написан в нижнем углу. Ресурсы добавляются каждый ход. Дизайн ещё не доделал но думаю разберётесь. https://c9.io/iwinalone/lernphp/workspace/Acromage.html |
Цитата:
Инструментов отладки( инструменты разработчика) не существует? В любом браузере есть профилировщик, запустив который можно узнать что выполняется дольше, сколько выполняется каждая функция. В тех же инструментах и ошибки можно посмотреть |
Спасибо за плофилировщик, с ним ещё не работал, поищу инфу на эту тему... Но всё же мне бы хотелось чтобы профи посмотрели на код и сказали чего не хватает и что можно оптимизировать. Явных ошибок там вроде нет.
|
Я не могу понять в чём проблема. Просто по прошествии нескольких минут скрипт останавливается и весь браузер виснет. При обновлении страницы игра начинается заново. Может кто подскажет как от этого избавиться, ведь не всегда получается довести игру до конца
|
фигасе нет.. просто тупо потыкал, по кликал.. ерроры сыпятся..
Uncaught TypeError: Object #<player> has no method 'Drop'. вываливается на 373 строчке Uncaught TypeError: Cannot call method 'reload' of null. вывалилось на 379 строчке используйте фаербаг. в хроме вызывается f12. вкладка console |
Большое спасибо, нашёл в фаербаге и исправил ошибку. AI не мог сбрасывать карты. Просто метод дроп должен писаться с маленькой буквы, а вторая вылезла из за первой. Может ещё что найдёте?:)
|
ммм, давайте исправленный код
или на том сайте исправили? на 379-й по прежнему валится ошибка... |
Всё там же по ссылке, правлю в онлайн ide cloud9
https://c9.io/iwinalone/lernphp/workspace/Acromage.html |
такое возможно из за циклов. идет бесконечный цикл(т.е. без выхода) грузится проц и притормаживает страница.. сразу нужно искать циклы..
там у вас они есть несколько, но они все с определенным интервалом? например: for (i=7;i<13;i++). разумеется здесь ни будет бесконечного цикла.. а вот есть два цикла странных.. // это первый while( i ){ j = Math.floor( ( i-- ) * Math.random() ); t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i]; this[i] = this[j]; this[j] = t; } //вот это второй while(rCard===undefined){takeCard();lvl=lvl-1;} разместите туда console.log(1) и console.log(2) вот так: while( i ){ j = Math.floor( ( i-- ) * Math.random() ); t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i]; this[i] = this[j]; this[j] = t; console.log(1); } while(rCard===undefined){takeCard();lvl=lvl-1; console.log(2);} откройте фаербаг, вкладка консоль и смотрите.. если туда бесконечно будут сыпаться 1 или двойки - значит у вас бесконечный цикл! |
я заметил, когда это происходит в конце вашей игры..
|
Часовой пояс GMT +3, время: 11:11. |
|