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
Искусственный интеллект писать заставляете?

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

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

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


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