Автор |
Сообщение |
Nivea
Смерть гоблинов
Пришел: 21.12.2001
Сообщения: 266
Откуда: Samara
|
Добавлено: 26 января 2002, 14:17 |
|
|
Мне то-же кажется ,что под повесть нужно местечко отвести. Формат мне по-шарам в независимости от популярности какого-то страшного или ужасного или популярного языка,а база Сану нужна для конструктора скриптов.
images/smiles/icon_smile.gif |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 26 января 2002, 14:23 |
|
|
Vasya.
Я не знаю язык Паскаль.
Я не понял, что ты хочешь сказать о названии функций у Нивала. То, что это абсолютно правильно написанные названия функций? Или мы должны продолжать идентифицировать их с ошибками, путая понятия и признаки?
Ты хочешь сказать что, например если в функцию вставить Сундук: «61 GetObjectID ( objUnit : object ): float» то, Сундук это: «objUnit»?
Может все-таки задумаешься? Или мне объяснишь поподробнее. |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 26 января 2002, 14:25 |
|
|
Конечно, можно писать и с примечанием ниже строки команды. Только выберите стиль, что бы было понятно, что это третье поле: Комментарий. |
|
|
Nivea
Смерть гоблинов
Пришел: 21.12.2001
Сообщения: 266
Откуда: Samara
|
Добавлено: 26 января 2002, 14:32 |
|
|
предлагаю желающим сдесь сформировать классификацию напиcания названий полей,
чтобы соблюдалась вся строгость стиля и правильность:
idUnit или UnitId или Unit_id images/smiles/icon_rolleyes.gif |
|
|
Vasya
Привратник
Пришел: 20.12.2001
Сообщения: 338
Откуда: Москва
|
Добавлено: 26 января 2002, 14:34 |
|
|
sun
Я, честно говоря, тебя тоже не понял. images/smiles/icon_smile.gif Видимо, это судьба. images/smiles/icon_biggrin.gif
В скриптах есть типы данных Object, Group, float, bool. Чтобы не перепутать номер игрока (типа float) с типом данных group, не стоит включать слово "group" в название переменной. Мне кажется, у Чейза все переменные очень хорошо обозначены. "nPlayerA" - "номер игрока А".
Слово Player в командах SetPlayer, GetPlayer и многих других перевести иначе, как "игрок", я не могу. И именно это слово я предлагаю использовать в названии переменной. |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 26 января 2002, 14:41 |
|
|
Да, но ведь это номер ГРУППЫ юнитов (врагов в том числе), а не только игроков.
Или я не прав? |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 26 января 2002, 14:44 |
|
|
...
Получается, что ты в переменной указываешь номер игрока в группе, а не номер группы.
И ещё…
Группа представляется как объект? Это отдельный класс? |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 26 января 2002, 14:57 |
|
|
Вообще-то, база данных в ПЗ идентифицируется несколько иначе, чем названия у функций и команд. Например: игровые объекты идентифицируются на следующие группы, это: Units и Pers. Что дословно обозначат как: Единицы и Персонажи.
Наверное, слово «Pers», понимается как синоним «Player». |
|
|
Vasya
Привратник
Пришел: 20.12.2001
Сообщения: 338
Откуда: Москва
|
Добавлено: 26 января 2002, 20:02 |
|
|
sun
Игрок (player) - это, фактически, группа юнитов, для которой устанавливается единая дипломатия с другими аналогичными группами. Все юниты одного игрока всегда являются союзниками друг друга.
Каждый игрок имеет свой номер - вещественное число (на самом деле, целое неотрицательное).
Группа (group) - это отдельный тип данных. Переменная этого типа может содержать произвольное количество произвольных юнитов (по крайней мере, про ограничения пока ничего не известно).
Получить группу юнитов данного игрока можно с помощью функции GetPlayerUnits (nPlayer). |
|
|
KalbasKa
Неторопливый черный админ
Пришел: 20.12.2001
Сообщения: 2348
Откуда: КрасногорсК
|
Добавлено: 26 января 2002, 22:39 |
|
|
я не из вашего племени, поэтому не буду вгрызаться тут в полено, но кое-что сказать имею. есть такое понятие, как "логический игрок". оно означает группу юнитов, находящихся под управлением компа и равноправную с игроком человеческим. т.е. если передать Зака и компанию под управление компа, получится логический игрок. |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 26 января 2002, 23:37 |
|
|
Я искренне сожалею, что мы не можем прийти к общему знаменателю.
«Игрок (player) - это, фактически, группа юнитов»
Странное упорство с твоей стороны. Что значит: «…фактически»? Или группа или игрок! И незачем выдавать одно за другое? Может, в том контексте стоит хотя бы написать: «Players»? Хотя тогда потеряется смысл….
И я снова хочу тебя спросить: А если сравнить свойство дипломатии группы юнитов врагов, это тоже номер игрока?
Моё личное, субъективное мнение:
«GetPlayerUnits (nPlayer)» - Я считаю, что эта функция должна была выглядеть так: «GetGroupUnits».
Мне кажется, мы будем путаться в признаках и понятиях, если не утвердим очевидное.
Я прекрасно понимаю, что объект «Group» это собственный класс данных.
Пожалуйста, почитай внимательно, что я пишу в предыдущих сообщениях и в этом в том числе. Ты не отвечаешь на мои вопросы. Я тебе говорю, что Нивал неверно идентифицировал в названиях функций понятие Группа и Игрок. И я не хотел бы повторять дальше их ошибки – двойственного толкования. В МП играют до шести игроков, но все они принадлежат одной группе. Понятие «nPlayer» подходит для внутрегруппной идентификации, а также для номера помощника в группе игрока в сингле.
Возможно, что Нивал, первоначально задумывали, что каждой группой юнитов будут управлять другие игроки. Но это не решает теперешней проблемы. На этот момент, подобная (GetPlayerUnits) функция в своем имени содержит несколько иное понятие, нежели просто, конкретно группа юнитов.
КалбасКа, в игре бывает до девяти групп объектов юнитов. |
|
|
KalbasKa
Неторопливый черный админ
Пришел: 20.12.2001
Сообщения: 2348
Откуда: КрасногорсК
|
Добавлено: 27 января 2002, 00:18 |
|
|
я знаю, что их может быть до 9. это ты слегка не понимаешь images/smiles/icon_sad.gif
я имею в виду, та группа живности, которой можно поставить дипломатию относительно другой группы живности, называется логическим игроком. логический игрок 1, логический игрок 2, и так далее. |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 27 января 2002, 00:41 |
|
|
КалбасКа.
Ну, вообще не о том...
Да причем здесь оправдания как можно представить себе нечто. У меня достаточно фантазии чтобы понять, что могут быть некие виртуальные, логические игроки.
Читай внимательно мое сообщение и задумайся по существу. Я не буду больше повторять одно и тоже….
И к вашему сведению в ПЗ существует только одно значение nPlayer – это «0».
Неужели вы не видите в теме у Чейза: «Функции для работы с группами» противоречий? Посмотрите повнимательнее…. |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 27 января 2002, 00:55 |
|
|
И ещё одно уточнение nPlaeyr, по значению всегда совпадает с nGroup для Игрока. То есть Зак (и его помощники) как игрок - 0 и как Группа где он находится - тоже 0. Других игроков групп в ПЗ не существует, даже в МП на каждой машине Игрок равен 0. Если вы не измените своё понимания по отношению скриптовым командам, то столкнётесь с ошибками в идентификации и других функций. |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 27 января 2002, 01:28 |
|
|
У меня несколько вопросов и просьб:
Нам нужна база данных, а не повесть о консольных командах и процедурах. Я прошу Вас, осмысливайте каждую запись, а не переписывайте у Чейза все в подряд. Обязательно несколько раз проверяйте лично все команды. Очень хочется, чтобы небыли ошибки в нашей базе.
Итак, будем внимательными. Например, поступила проверенная функция от вас:
«GetDiplomacy ( nPlayerA : float , nPlayerB : float )»
«nPlayerA», - может быть дать имя параметру: nGroupA?
Слово «Player» - обозначает участник игры, игрок. Монстры на карте это не группы игроков, значит с группой монстров эту функцию использовать нельзя? Если нельзя то – оставить.
Стиль записи:
Если известно, что вы пишите функцию тогда, в одном стиле оформляйте, какой тип данных она возвращает. А также, идентифицируйте функцию с моим списком, чтобы получилась база данных. Запись в вашей таблице в виде Функции должна бы выглядеть так:
053 GetDiplomacy (nGroupA: float , nGroupB: float ) : float
056 GetLeader () : object
…
В таком виде получится таблица с двумя полями: Код из моей таблицы базы данных, и проверенная, идентифицированная команда, функция.
Затем создавайте следующий список - описания и примечаний в том же стиле:
Первое поле - код из моей таблицы базы данных, и второе поле - примечание. Например:
053 Возвращает (значение) тип(а) дипломатии: кем является игрок номер nPlayerA (группа юнитов номер nGroupA) для игрока номер nPlayerB (группы юнитов номер nGroupA).
Возможные значения (типы значения дипломатии):
____1 - союзник
____0 - нейтрал
____-1 - враг
____© CHaSE (проверено) (Совершенно необязательно засорять авторством права первой ночи: тогда ещё нужно указать, что эту функцию создала компания Nival. Можете об этом указать отдельно в конце сообщения.)
З.Ы.:
С тем списком, что вы сейчас создаете работать сложно. И кстати очень похоже на «повесть» о консольных командых и скриптовых процедурах как на сайте у Чейза.
Нам нужна база данных, которую можно будет использовать в конструкторе уровней. |
|
|
Vasya
Привратник
Пришел: 20.12.2001
Сообщения: 338
Откуда: Москва
|
Добавлено: 27 января 2002, 01:56 |
|
|
Вопрос такой: а зачем нам база данных? Разве команды нужны не для тех, кто будет программировать различные события аддона?
В любом случае, как мне кажется, нужно и то, и другое (и база, и "повесть").
цитата Цитата: | GetDiplomacy (nGroupA: float , nGroupB: float ) : float |
Принимаем формат Паскаля, а не Си? Ну ладно, я не против, хотя Си - более популярный язык.
Группа юнитов и игрок - это совсем разные понятия (и разные типы данных). Названия процедур и функций явно дают понять, что имеется в виду в каждом конкретном случае. Например, GetPlayer : float выводит именно игрока (как можно иначе перевести слово "player"?), а GetPlayerUnits : group - группу юнитов игрока.
[ 26 января 2002: Изменил: Vasya ] |
|
|
Vasya
Привратник
Пришел: 20.12.2001
Сообщения: 338
Откуда: Москва
|
Добавлено: 27 января 2002, 13:47 |
|
|
sun
Ну, непонимание с моей стороны - это нормально, надо уже привыкать. images/smiles/icon_biggrin.gif
Ладно, насчёт дипломатии. Насколько я понимаю, это свойство задаётся только тем группам, которые обозначены, как player'ы. То есть, нельзя выделить произвольную группу юнитов (например, командой UnitSee) и задать дипломатию для неё. С этим ты согласен? И разве нельзя по этому принципу разделить player и group?
Честно говоря, я не знаю, что такое "собственный класс данных", я бы сказал, что group - это контейнер класса object. (Object - тоже не лучшее название для класса, но ничего не поделаешь.) При этом, видимо, player (в ниваловском пониманиии) - это класс, ассоциированный с group по принципу 0..1 - 1. Не каждая group соответствует некоторому player, но каждому player соответствует group. У объекта класса player есть атрибут "номер", который его однозначно идентифицирует (в пределах игровой зоны), а у объекта класса group такого атрибута нет. Поэтому я не понимаю, что ты подразумеваешь под nGroup. images/smiles/icon_confused.gif
цитата Цитата: | в ПЗ существует только одно значение nPlayer – это «0». |
Это я вообще не понял. Где существует? Что значит "существует"?
цитата Цитата: | Неужели вы не видите в теме у Чейза: «Функции для работы с группами» противоречий? |
Стараюсь, но не вижу. images/smiles/icon_smile.gif |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
|
|
Alexy III
Оружейник
Пришел: 22.12.2001
Сообщения: 198
Откуда: Ярославль
|
Добавлено: 27 января 2002, 18:57 |
|
|
Ok. |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 28 января 2002, 00:47 |
|
|
Vasya.
Видимо стОит поподробнее написать…
images/smiles/icon_smile.gif
Ты раскрыл мне глаза, что заниматься дальше объяснением моей точки зрения тебе, в форме диалога - есть бессмысленное занятие. Я заметил, что ты практически никогда не задаешь вопросов, в которых ты не компетентен, а если и задаешь, то сам же на них и отвечаешь, и к тому же даешь советы. Я ждал от тебя вопросов по существу проблемы, а ты перешел в частности. В твоем последнем сообщении, на мой взгляд, слишком много ошибок в методике классификации структуры ПЗ, да и сквозит раздражение…. Логично было, отвечая «…Стараюсь, но не вижу.» на мой вопрос, задать встречный вопрос, но этого не последовало. И мне осталось только развести руками…
У меня сложилось впечатление, что тебе психологически очень трудно признавать свои ошибки. images/smiles/icon_sad.gif
Я попытаюсь на форме, в виде монолога, довести тебе моё виденье структуры ПЗ и классификацию терминов и понятий консольных команд, процедур и функций для скрипитов. Я обязательно буду использовать ваш опыт из темы «Разбор скриптовых команд.». |
|
|
Vasya
Привратник
Пришел: 20.12.2001
Сообщения: 338
Откуда: Москва
|
Добавлено: 28 января 2002, 01:30 |
|
|
sun
Вот и ладушки. images/smiles/icon_biggrin.gif
Alexy III
Если ты сюда заглянешь, то знай, что у меня есть просьба: отсортируй, пожалуйста, разобранные тобой команды в алфавитном порядке, что бы проще можно было определить, какие же именно ты разобрал. |
|
|
Vasya
Привратник
Пришел: 20.12.2001
Сообщения: 338
Откуда: Москва
|
Добавлено: 28 января 2002, 13:18 |
|
|
sun
Я согласен с тобой в том, что лучше меня ни о чём не спрашивать, когда хочешь доказать свою точку зрения, а сразу написать всё полностью с объяснениями. Фраза "стараюсь, но не вижу" тоже намекала именно на то, что надо мне показать пальцем на конкретные противоречия (я ведь так стараюсь images/smiles/icon_wink.gif ). Я просто в скрытой форме предолжил тебе продолжить мысль.
Ошибки мне признавать, пожалуй, трудновато. У меня о себе самом сложилось такое впечатление images/smiles/converted/re_16.gif , что я редко выношу необдуманные суждения, поэтому, чтобы показать мне их ошибочность, надо постараться. images/smiles/converted/re_16.gif |
|
|
Vasya
Привратник
Пришел: 20.12.2001
Сообщения: 338
Откуда: Москва
|
Добавлено: 01 февраля 2002, 14:58 |
|
|
sun
Я давно прочитал статью и согласен с тобой во всём. Раньше я действительно не задумывался о том, что кроме игроков (дип. групп) есть и партии, точнее, одна партия. Видимо, во многих командах, где у Чейза стоит nPlayer, надо написать idParty с комментарием, что этот параметр всегда должен быть нулём. Но не уверен, что всегда можно определить наверняка, где речь о дип. группе, а где - о партии.
Хотя после опытов Sagrer'а я опять начал путаться.
[ 01 февраля 2002: Изменил: Vasya ] |
|
|
sun
Опытный воин
Пришел: 22.12.2001
Сообщения: 673
|
Добавлено: 02 февраля 2002, 04:22 |
|
|
Я думаю, что мы обсудим детальнее этот вопрос….
На самом деле я и сам сомневаюсь в правильности моего представления о структуре ПЗ. Считаю, что в функциях работающих с уровнем дипломатии Партий, лучше использовать имя параметра: nPlayer, но осторожно, а в Дипломатических группировках, что-то похожее на: nPlayerGroupDiplomacy. Моя статья теоретическая, я многого того, что написал, самостоятельно не проверял.
В дальнейшем я напишу по вашим исследованиям новый список команд, и мы все ещё раз обсудим.
То почему Сагрер сделал такого рода выводы я так и не понял. |
|
|
|
Вы не можете создавать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы Вы можете скачивать выложенные файлы
|
Часовой пояс: GMT +4:00
|
|