Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Помогите пожалуйста (https://javascript.ru/forum/project/42862-pomogite-pozhalujjsta.html)

ksa 22.11.2013 20:30

Цитата:

Сообщение от l-liava-l
не ругаца

Во. Уже объекты в ход пошли - это набор очков в организации хранения. :yes:

Только нужно развивать дальше это "направление".

alexan0308 23.11.2013 12:28

Вопрос:
Цитата:

Сообщение от l-liava-l (Сообщение 282234)
А как ты будешь проверять куда выстрелил игрок попал/нет?

Запятых нет, вопрос не очень понятен, но наверно:
Ответ:
Цитата:

Сообщение от alexan0308 (Сообщение 280879)
Допустим попал в поле где написано 5. Значит, попал в корабль. Меняешь поле на -2. Ищешь, остались ли в этом массиве 5-ки. Если остались, то корабль ранен. Ставишь соответствующую картинкУ "ранен".
Если 5-рок не осталось, то корабль убит. Пробегаешь по первому массиву ищешь там 5-ки. При нахождении оных меняешь соответствующие поля на картинкИ "убит".

Вопрос:
Цитата:

Сообщение от l-liava-l (Сообщение 282234)
Что касается генерации кораблей то тут нужно подумать но вполне решается 1 функцией, но я уже в пижаме)

Ответ:
Цитата:

Сообщение от alexan0308 (Сообщение 280677)
Ну еще подумав, можно добавить еще один логический аргумент )) и тогда хватит одной функции на все корабли ))) просто это все приходит уже при разработке. Не все сразу ))

Вопрос:
Цитата:

Сообщение от ksa (Сообщение 282181)
Сегодня уже 22-е, есть что показать?

Ответ:
Неудобно как-то перед Cerfuck - ом )) Да и занят я был. Сорокопятку еще свою переделывал ) Ладно, согласен с тобой, три дня мало )) чтоб нормально сделать, с графикой, с эффектами, а не с кружочками ) Неделя нужна )) Как будет время, стартую, и сразу тебе отпишу, ок? Поверишь надеюсь на слово, что пока не начинал ))

ksa 23.11.2013 20:24

Цитата:

Сообщение от alexan0308
Неделя нужна

Ну началось... :lol:

l-liava-l 24.11.2013 14:08

Кстати вчера посидел чуток, там по сути для начала нужно отслеживать попадания и строить корабли научится, аи компа можно просто заставить рэндомно стрелять по клеточкам.
window.onload = init;
        function init() {

            var _map = {

               "a": {
                   1: 0,
                   2: 0,
                   3: {
                       'allDecks':3,
                       'otherDecks': {"b":3, "c":3}
                   },
                   4: 0,
                   5: 0
               },

               "b": {
                   1: 0,
                   2: 0,
                   3: {
                       'allDecks':3,
                       'otherDecks': {"a":3, "c":3}
                   },
                   4: 0,
                   5: 0
               },

                "c": {
                    1: 0,
                    2: 0,
                    3: {
                        'allDecks':3,
                        'otherDecks': {"b":3, "a":3}
                    },
                    4: 0,
                    5: 0
                }

            };


            var core = new GameCore(_map);
            core.onFire("a", 3);//выстрел в нас


        }

        function GameCore(_map) {



            this.onFire = function(symb, num){

                if(typeof _map[symb][num] == 'object') {//все корабли - обьекты

                    if(_map[symb][num].allDecks ==  1) {//определяем разряд корабля

                        alert(symb + num + '  убит!');
                        _map[symb][num] = 0;

                    }
                    else {

                        replaceShip(_map[symb][num], symb);

                    }


                }
                else{

                    alert('не попал!');

                }



            };

            function replaceShip(coordHit, s) {

                for(var i in coordHit.otherDecks) {
                    var obj = _map[i][coordHit.otherDecks[i]];

                    delete obj.otherDecks[s];//удаляем координаты убитых палуб
                    obj.allDecks--;//уменьшаем разряд корабля
                 

                }



            }
}
Отслеживает попадания (ранил, убил) норм, но как их по джедайски делать(корабли) я не придумал.
Если захочу то засяду потом

ksa 24.11.2013 15:20

Цитата:

Сообщение от l-liava-l
но как их по джедайски делать(корабли) я не придумал

Делать объект "корабль"... Создать их целый массив... Тот массив так же можно засунуть в объект, дабы отслеживать сколько осталось "живых" кораблей...

l-liava-l 24.11.2013 17:43

Цитата:

Делать объект "корабль"... Создать их целый массив... Тот массив так же можно засунуть в объект, дабы отслеживать сколько осталось "живых" кораблей...
О, точно, получилось) благодарю

alexan0308 24.11.2013 18:25

Цитата:

Сообщение от ksa (Сообщение 282355)
Ну началось... :lol:

Ага... ну если не надо , что свои корабли игрок сам расставляет, то можно быстрее ))

ksa 24.11.2013 19:07

Цитата:

Сообщение от alexan0308
что свои корабли игрок сам расставляет, то можно быстрее

Не согласен, что это будет быстрее... :no: Ведь нужно еще написать для этого свой функционал.
Да и за тачку ведь никто корабли не расставит. :)

Причем замечу про собственно результат...
Задача ставится сделать программку т.с. "на продажу". А не "лабораторку" так, "чтобы отстал препод"... :D
У нас ведь контора занимается производством ПО на продажу... Таки там другого не делают. :D

alexan0308 24.11.2013 19:27

Цитата:

Сообщение от ksa (Сообщение 282492)
Не согласен, что это будет быстрее... :no:

как не будет? Я имею в виду, можно рандомно раскидать корабли и компу и игроку , а можно рандомно компу а игрок сам себе расставляет. Очевидно, что первое быстрее

l-liava-l 24.11.2013 20:04

Цитата:

как не будет? Я имею в виду, можно рандомно раскидать корабли и компу и игроку , а можно рандомно компу а игрок сам себе расставляет. Очевидно, что первое быстрее
:D быстрее расставит эт да)

ну а ты напиши функцию чтобы расставлял корабли, или хотя бы пихал их в мапу без визуализации.
и чтобы корабли не касались друг друга.)
эт сложнее)

убил сегодня часа 3 на нее)


Часовой пояс GMT +3, время: 23:59.