|
Потестите игру плиз
Я недавно увлёкся 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, время: 08:48. |
|