Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Может ли свойство объекта быть массивом??? (https://javascript.ru/forum/misc/23234-mozhet-li-svojjstvo-obekta-byt-massivom.html)

Alexeich 17.11.2011 01:27

Может ли свойство объекта быть массивом???
 
Я недавно начал изучать js. Вот решился сотворить игру морской бой :)
Собственно проблема:
Хочу создать объект "Ships" с координатами кораблей игрока и компутера. Соответственно c 8-ю свойствами, в каждом по массиву с координатами.
Пытался создать свойства так:
Ships={battllC:coords[]}

И так:
Ships={battllC[]}

И эдак:
for(i=0;i<selectedArea.length;i++){
Ships.batllC[i]=selectedArea[i];
}
А оно никак:)

Если задавать таким способом:
Ships.battllC=selectedArea

просто передается ссылка на selectedArea, т.е. при изменении selectedArea, меняется и Ships.battllC

Подскажите в чем моя ошибка

trikadin 17.11.2011 01:35

Цитата:

Сообщение от Alexeich
Я недавно начал изучать js. Вот решился сотворить игру морской бой
Собственно проблема:
Хочу создать объект "Ships" с координатами кораблей игрока и компутера. Соответственно c 8-ю свойствами, в каждом по массиву с координатами.

Наверное, сначала стоило почитать про ООП в JS.

Цитата:

Сообщение от Alexeich
Пытался создать свойства так:
Ships={battllC:coords[]}

И так:
Ships={battllC[]}

И эдак:

А надо так:
Ships= {battllC: []}

ksa 17.11.2011 09:32

Цитата:

Сообщение от Alexeich
Вот решился сотворить игру морской бой

А опыт в программировании вообще есть? А то эта игрушка не для новичков... Я например ей прогеров тестирую. Если смог написать - можно давать самостоятельную работу.
Цитата:

Сообщение от Alexeich
Хочу создать объект "Ships" с координатами кораблей игрока и компутера. Соответственно c 8-ю свойствами, в каждом по массиву с координатами.

Какой-то выверт. :D
Обычно делается массив кораблей, а не "корабль массивов"...

Alexeich 17.11.2011 12:49

trikadin
Спасибо огромное:)
ksa
Параллельно с изучением js пишу игруху, для закрепления материала так сказать.
За 3 дня около 20% уже написал :)
Цитата:

Какой-то выверт.
Обычно делается массив кораблей, а не "корабль массивов".
А чем такой вариант плох?
ships{
usersDredn:[],
usersBattleC:[],
usersCruiser:[],
usersDestr:[],
aiDredn:[],
aiBattleC:[],
aiCruiser:[],
aiDestr:[]}

И в каждом свойстве получаются координаты данного корабля

ksa 17.11.2011 13:16

Цитата:

Сообщение от Alexeich
За 3 дня около 20% уже написал

Как тут ранее говаривалось, самые трудные это последние 20%... :lol:
Цитата:

Сообщение от Alexeich
А чем такой вариант плох?

Обычно объекты/классы создаются для множества экземпляров такой структуры.

Например объект "Корабль"... Он имеет какие-то там свойства его характеризующие...
Есть объект "Игрок"... Он имеет определённое количество кораблей.

А утебя получился объект "ИгрокоКорабли". :D Т.е. это даже стилистически звучит смешно, хоть и название ты ему дал зычное - ships!

В одной книжке когда-то давно прочитал такую фразу:
- Не стремитесь из объекта/класса делать швейцарский нож...
Мне оно понравилось и я его взял на вооружение.

Но на Руси есть так же поговорка - каждый дрочет, как он хочет. :lol: Т.ч. смотри сам... Программка твоя, тебе в ней и косячить. :)

trikadin 17.11.2011 20:26

Цитата:

Сообщение от ksa
Обычно делается массив кораблей, а не "корабль массивов"...

Представил себе корабль, гружёный массивами))

Shaci 18.11.2011 17:17

Цитата:

Сообщение от ksa (Сообщение 137100)
А опыт в программировании вообще есть? А то эта игрушка не для новичков... Я например ей прогеров тестирую. Если смог написать - можно давать самостоятельную работу.

Какой-то выверт. :D
Обычно делается массив кораблей, а не "корабль массивов"...

сколько морских боев накопилось то наверное)))

ksa 18.11.2011 19:14

Цитата:

Сообщение от Shaci
сколько морских боев накопилось то наверное

несколько десятков... :D И на разных языках...

trikadin 18.11.2011 19:28

ksa, круто! Предлагаю создать сайт, посвящённый различным реализациям морского боя))

Цитата:

Сообщение от ksa
Я например ей прогеров тестирую

Искусственный интеллект писать заставляете? Или просто для игры 1x1?

ksa 18.11.2011 19:34

Цитата:

Сообщение от trikadin
Искусственный интеллект писать заставляете?

Да он там вовсе простой...

Прошу наисать, что они сами считают по-силам и как они вообще представляют концепцию игры... Т.е. смотрю вообще на все сразу.

Еще мои любимые:
- Спейс патруль
- Охота на лис
А для вовсе освоения языка и работы с БД - телефонный справочник. :)

trikadin 18.11.2011 19:47

Цитата:

Сообщение от ksa
Еще мои любимые:
- Спейс патруль
- Охота на лис

Ссылку можно на реализацию? А то я не знаю, что за игры. :(

ksa 18.11.2011 19:57

Цитата:

Сообщение от trikadin
Спейс патруль

Космический патрульный корабль мочит всё что появляется в секторе... Вооружение "бесконечный пулемёт", более мощное получает в бою но оно имеет конечный запас боекомплекта.
Враги разного рода, т.е. летают по-разному и могут стрелять, так же по-разному
Задача продержать как можно дольше и пройти как можно больше уровней.
Игрушка из серии "проигрывающих", т.к. с новым уровнем врагов все больше. :)
Цитата:

Сообщение от trikadin
Охота на лис

Вот описание...
Полюбил её еще с калькулятора. :lol:

Помню для коллег сделал еще Рендзю... :) Так программный алгоритм получился неплох. Лучше чем в тех играх, которые играл сам...

trikadin 18.11.2011 20:24

Цитата:

Сообщение от ksa
Спейс патруль

На первых телефонах была популярна, знаю...

Цитата:

Сообщение от ksa
Охота на лис

Крутая тема. Написать, что ли...)) Надо алгоритм нахождения прикинуть.

От себя могу предложить ещё "Быки-коровы")

ksa 18.11.2011 20:28

Цитата:

Сообщение от trikadin
Надо алгоритм нахождения прикинуть.

Он там не сложный... :)

Цитата:

Сообщение от trikadin
От себя могу предложить ещё "Быки-коровы")

Этой преподами баловались... :D На цифрах она не интересна... А на словах нужна база слов... Да и игровой момент там слабо развит (я так считаю)...

А "мои" игрульки вроде не так страшны, но развивают их и поныне. :)

trikadin 18.11.2011 20:31

Цитата:

Сообщение от ksa
Он там не сложный...

Но прикинуть-то надо)

trikadin 18.11.2011 20:32

Цитата:

Сообщение от ksa
Этой преподами баловались...

И по сей день "балуются")

ksa 18.11.2011 20:46

Цитата:

Сообщение от trikadin
И по сей день "балуются"

Ты с волгоградского физмата? :blink:

trikadin 18.11.2011 20:56

Цитата:

Сообщение от ksa
Ты с волгоградского физмата?

Из московской школы)) Но это ничего не меняет. :D

Shaci 19.11.2011 01:26

Цитата:

Сообщение от ksa (Сообщение 137462)
Да он там вовсе простой...

Прошу наисать, что они сами считают по-силам и как они вообще представляют концепцию игры... Т.е. смотрю вообще на все сразу.

Еще мои любимые:
- Спейс патруль
- Охота на лис
А для вовсе освоения языка и работы с БД - телефонный справочник. :)

у нас в академии первый проект - шашки на C++
с "АИ", если минимаксный алгоритм можно так назвать))

Shaci 19.11.2011 01:28

Цитата:

Сообщение от Shaci (Сообщение 137556)
у нас в академии первый проект - шашки на C++
с "АИ", если минимаксный алгоритм можно так назвать))

ну, кто крутан тот шахматы пишет само-собой))

trikadin 19.11.2011 01:44

Цитата:

Сообщение от Shaci
у нас в академии первый проект - шашки на C++

У меня на диске где-то лежит шикарная книжка... "Этюды для программистов" называется. Я всё думаю, что пора бы её уже писать на JS...

Shaci 19.11.2011 02:16

да, игры писать - дело бесперспективное, написал одну (морской бой или шашки или тетрис, просто чтобы себя проверить да уровень поднять) и хватит, ИМХО))
Всё равно чтобы игруху достаточно посредственного уровня написать(шутер какй-нить), человек 60-100 наверное нужно.

можно конечно для мобилы казуальную хрень написать типо "ну, погоди"
из серии МК Электроника, у нас народ на Qt для Maemo вроде писал, и даже заказчик на это дело нашелся, но это всё баловство.


хотя если браузерные игры рассматривать, то тут я может и не прав, герои онлайн - коммерческий проект, который на мой взгляд бешенно популярен, и для вконтакте можно игруху написать, друг рассказывал, что у них парень написал игру "померяйся редисками или хренами, не помню точно))", так он за счет СМС бабла срубил не мало))

ksa 19.11.2011 16:31

Цитата:

Сообщение от Shaci
у нас в академии первый проект - шашки

По-мне, так явный перебор... :-/

trikadin 19.11.2011 17:25

Цитата:

Сообщение от Shaci
герои онлайн - коммерческий проект, который на мой взгляд бешенно популярен

Это вот это? Как же, знаю, в своё время поиграл, уровня до четвёртого дошел, что ли, а потом надоело...

Shaci 21.11.2011 13:12

Цитата:

Сообщение от trikadin (Сообщение 137639)
Это вот это? Как же, знаю, в своё время поиграл, уровня до четвёртого дошел, что ли, а потом надоело...

да

Shaci 21.11.2011 13:47

Цитата:

Сообщение от Alexeich (Сообщение 137130)
trikadin
Спасибо огромное:)
ksa
Параллельно с изучением js пишу игруху, для закрепления материала так сказать.
За 3 дня около 20% уже написал :)


А чем такой вариант плох?
ships{
usersDredn:[],
usersBattleC:[],
usersCruiser:[],
usersDestr:[],
aiDredn:[],
aiBattleC:[],
aiCruiser:[],
aiDestr:[]}

И в каждом свойстве получаются координаты данного корабля


можно как-нить так попробовать по идее
var user = {ships:[], count:5}
....
ships[i] = new Ship(x, y, vertical, length)


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