ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Стиль Elite, FFE и технические подробности | страница 3 |
|
|
|
Канал Elite: «Стиль Elite, FFE и технические подробности» |
|
Описание не только кораблей, но и устройств - нужно ? |
Да: пилоту-одиночке следует знать своё железо. |
|
60% |
[ 9 ] |
Да: пусть игроки хоть что-то из физики вспомнят. |
|
0% |
[ 0 ] |
Ну, если кому-то не лень - можно. Было бы забавно. |
|
20% |
[ 3 ] |
Неплохо бы, но на него всё равно не будут смотреть. |
|
0% |
[ 0 ] |
Мне пофигу. Если мешать не будет, конечно. |
|
6% |
[ 1 ] |
Стоит знать разве что ТТХ. Остальное нафиг не нужно. |
|
6% |
[ 1 ] |
Нет: не надо усложнять интерфейс, даже в неактивной области. |
|
6% |
[ 1 ] |
Нет:не надо зря грузить лишними подробностями. |
|
0% |
[ 0 ] |
Смотря что конкретно. Если увижу в игре - скажу. |
|
0% |
[ 0 ] |
А мне этот стиль не нравится. Да ещё эту фигню навешивать... |
|
0% |
[ 0 ] |
А по-моему, это бы плохо совмещалось со стилем Элиты. |
|
0% |
[ 0 ] |
|
Всего проголосовало : 15 |
|
|
|
Turbo Beholder
70 EGP
 Репутация: 7 Сообщения: 108 Откуда: chthonic safety Зарегистрирован: 04.04.2006
 |
|
Richas : |
Цитата: |
Я вполне понимаю, почему ТТХ оборудования вписывается в стиль Элиты - но почему туда должны вписываться ТТХ могилок?!
|
ТТХ могилок - это мысль на нобелевку! Я дурак, что вообще заговорил о стиле, он у всех разный, каюсь.
|
Оспорю венок из лаврового листа: о стиле заговорил я - см. название темы. Хотя за политикой могло и забыться.
Richas : |
М.б. действительно как-то красиво и "элитно" собранный мануал был бы золотой серединой. И информации туда больше помещается, и не так навязчиво - не хочешь, не читаешь...
|
Описание нового корабля в FFE тоже не хочешь, не читаешь, покупай не глядя.
Можно, наверное, даже и после покупки не выводить.
И корабли тоже можно засунуть в рулбуки и энциклопии. Вместе с описаниями разновидностей станций и портов, оружия ПКО и так далее.
Сейчас вот подумал - как сделать лучше: ТТХ и общий вид сразу, а уже оттуда - ссылка на раздел, где подробно дать специфику данного класса устройств. Для лазеров - на общее описание лучевых / импульсных / хитрых импульсных, для пучкового оружия - на общее описание особенностей поражающего фактора. Для ракет и ECM - на общий полный список известного оборудования "что чем бьётся", для прыгательных движков - на формулу или калькулятор параметров прыжка.
_________________ And even I make no pretence Of having more than common sense -R.W.Wood |
|
|
Richas
240 EGP
   Рейтинг канала: 2(10) Репутация: 15 Сообщения: 302 Откуда: абориген Зарегистрирован: 28.11.2005
 |
|
Цитата: |
Оспорю венок из лаврового листа: о стиле заговорил я - см. название темы.
|
Да нет, это венок неоспоримый - HeadHunter'у за формулировку. А что заговорили - факт, приношу извинения.
Цитата: |
Описание нового корабля в FFE тоже не хочешь, не читаешь, покупай не глядя.
Можно, наверное, даже и после покупки не выводить.
|
Почему и для чего?!
ИМХА, конечно, но мне очень нравится в приложении к любого рода модострою девиз г-на Ветинари: "не сломано - не чини". С кораблями все в порядке.
С гипотетической формой согласен, только одно пожелание от чайника, который считать не умеет: для движков желательно не только формулу, но и конкретные ее значения для, скажем, трех-четырех наиболее ходовых корабликов (вопрос только, как определить наиболее ходовые...).
|
|
|
Turbo Beholder
70 EGP
 Репутация: 7 Сообщения: 108 Откуда: chthonic safety Зарегистрирован: 04.04.2006
 |
|
Richas : |
С гипотетической формой согласен, только одно пожелание от чайника, который считать не умеет: для движков желательно не только формулу, но и конкретные ее значения для, скажем, трех-четырех наиболее ходовых корабликов (вопрос только, как определить наиболее ходовые...).
|
Так если идти до конца, это и получится тот же калькулятор (пусть даже значения задаются в виде листбокса, не важно) и/или график с разметкой.
_________________ And even I make no pretence Of having more than common sense -R.W.Wood |
|
|
Helga
1196 EGP
     Рейтинг канала: 5(220) Репутация: 242 Сообщения: 2509 Откуда: Lave Зарегистрирован: 17.09.2004
 |
|
Richas : |
но и конкретные ее значения
|
Так при покупке корабля указывается, какой прыжок он будет иметь с тем или иным классом двигателя. А касательно формул - они известны.
_________________ Не води компанию с теми, с кем бы ты не хотел умереть. |
|
|
Richas
240 EGP
   Рейтинг канала: 2(10) Репутация: 15 Сообщения: 302 Откуда: абориген Зарегистрирован: 28.11.2005
 |
|
Спасибо, я про это не забыл , но речь-то идет о гипотетическом мануале и его, мануала, содержании. Функции оборудования тоже известны, спасибо авторам БД. И из всего этого мануал получился бы - на зависть Беседка-софтверку.
|
|
|
Payne
160 EGP
  Рейтинг канала: 2(20) Репутация: 42 Сообщения: 352 Откуда: Sol, Earth, Smolensk Зарегистрирован: 07.01.2006
 |
|
Может не по теме, но все же: сваял сегодня от нечего делать калькулятор для вычисления времени гиперпрыжка. Скачать можно отсюда: http://alternative-Ссылки на narod.ru запрещены! Используйте пожалуйста другие, более нормальные хостинги./mymisc/jumptime.exe
Пока там, думаю, много недоработок, но если есть необходимость, могу подправить.
|
|
|
Helga
1196 EGP
     Рейтинг канала: 5(220) Репутация: 242 Сообщения: 2509 Откуда: Lave Зарегистрирован: 17.09.2004
 |
|
Payne : |
Пока там, думаю, много недоработок,
|
А какие там недоработки? Вроде все правильно считает. Я загружу его на ЕГу, если не возражаешь.
_________________ Не води компанию с теми, с кем бы ты не хотел умереть. |
|
|
Payne
160 EGP
  Рейтинг канала: 2(20) Репутация: 42 Сообщения: 352 Откуда: Sol, Earth, Smolensk Зарегистрирован: 07.01.2006
 |
|
Helga : |
А какие там недоработки?
|
Ну, из тех, что мне пока известны:
1. Нельзя ввести дробное значение для расстояния прыжка. Для массы тоже, но насколько мне известно, в Элите масса всех кораблей выражается целым числом.
2. Можно изменять содержание "Помощи" и "О программе".
Вот, может еще что-нибудь такое обнаружится. Можно, еще, конечно, для большего удобства "присобачить" количество топлива, необходимое для прыжка - об этом я даже сразу как-то не подумал .
Helga : |
Я загружу его на ЕГу, если не возражаешь.
|
Нет конечно ! В смысле, не возражаю .
|
|
|
Helga
1196 EGP
     Рейтинг канала: 5(220) Репутация: 242 Сообщения: 2509 Откуда: Lave Зарегистрирован: 17.09.2004
 |
|
Payne : |
Нельзя ввести дробное значение для расстояния прыжка.
|
Задать для переменной значение Real вместо Integer. Вот только не помню, есть ли функция преобразующая строку в вещественное число. Если таки нет, то могу написать. Программка кстати дельфевая, нэ?
Payne : |
2. Можно изменять содержание "Помощи" и "О программе".
|
У компонента TMemo надо выставить свойство ReadOnly:=True; (по умолчанию False) или использовать вместо него TLabel или TStaticText.
_________________ Не води компанию с теми, с кем бы ты не хотел умереть. |
|
|
Payne
160 EGP
  Рейтинг канала: 2(20) Репутация: 42 Сообщения: 352 Откуда: Sol, Earth, Smolensk Зарегистрирован: 07.01.2006
 |
|
Helga : |
Задать для переменной значение Real вместо Integer
|
Она итак real, но проблема в другом - у меня стоит таймер, который подсчитывает результат в соответствии с введенными значениями каждые полсекунды. Так вот, если в поле ввода ввести разделитель, после которого нет дробной части, то возникает ошибка, т.к. такую строку уже нельзя преобразовать в число. Кроме того, нужно будет сделать, чтобы нельзя было ввести более одного разделителя целой и дробной части.
Helga : |
Вот только не помню, есть ли функция преобразующая строку в вещественное число.
|
StrToFloat.
Helga : |
Программка кстати дельфевая, нэ?
|
Канэщна . За что люблю дельфи, так это за то, что можно такие вот программки довольно быстро писать. Только не люблю за то, что весят они много .
Helga : |
У компонента TMemo надо выставить свойство ReadOnly:=True;
|
Это понятно, просто я заметил это только тогда, когда уже выложил приложение.
|
|
|
Helga
1196 EGP
     Рейтинг канала: 5(220) Репутация: 242 Сообщения: 2509 Откуда: Lave Зарегистрирован: 17.09.2004
 |
|
Payne : |
но проблема в другом - у меня стоит таймер, который подсчитывает результат
|
Подсчет лучше повесить не на таймер, а на событие OnExit. А хотя, можно и на таймере оставить, просто добавить функцию контроля ввода, она же будет и второй разделитель отсекать. Если нужно, могу запостить примерный код функции.
_________________ Не води компанию с теми, с кем бы ты не хотел умереть. |
|
|
Payne
160 EGP
  Рейтинг канала: 2(20) Репутация: 42 Сообщения: 352 Откуда: Sol, Earth, Smolensk Зарегистрирован: 07.01.2006
 |
|
Helga : |
Если нужно, могу запостить примерный код функции
|
Спасибо, конечно, за предложение, но здесь принципиальных сложностей не возникает. Нужно-то всего-навсего добавить нолик после запятой и проследить, чтобы не ввели запятую два раза. Хотя можешь запостить. Как говорится, очень ценным опытом в программировании является разбор чужого кода .
|
|
|
Helga
1196 EGP
     Рейтинг канала: 5(220) Репутация: 242 Сообщения: 2509 Откуда: Lave Зарегистрирован: 17.09.2004
 |
|
Я нолик не подставляла, я просто обрубала строку. Вот примерно так:
procedure TForm1.Button1Click(Sender: TObject);
var x: real; str: string[100]; i: integer;
begin
str:=trim(Edit1.Text);
if (pos('.', str)=0) then //Ищем первую точку
begin
x:=StrToFloat(str); //Точки нет - преобразуем число в строку
end
else //Точка есть
begin
i:=pos('.', str); //Запоминаем позицию точки
i:=pos('.', copy(str,i+1,length(str)-i)); //С этой позиции ищем, нет ли второй точки
if (i=0) and (length(str)>=i) then
begin //Второй точки нет и на точке строка не заканчивается
x:=StrToFloat(str); //Преобразуем в число
end
else
begin
if i<>0 then //Есть вторая точка - сообщаем об ошибке
begin
showmessage('Некорректный ввод!!!');
x:=0;
end
else
begin //Строка заканчивается на точке
setlength(str, i-1); //Обрезаем строку по точку
x:=StrToFloat(str); //Преобразуем в число
end;
end;
end;
Label1.Caption:=FloatToStr(x);
end;
У меня это правда не функция, а процедура на нажатие кнопки, но это не суть.
Вообще, неплохо бы еще на OnKeyPressed повесить контроль ввода, дабы можно было вводить только цифры и точку. Собственно, туда же можно повесить и подавление ввода второй точки.
_________________ Не води компанию с теми, с кем бы ты не хотел умереть. |
|
|
The Lich
220 EGP
   Репутация: 45 Сообщения: 805 Откуда: из склепа Зарегистрирован: 15.08.2003
 |
|
Helga : |
i:=pos('.', copy(str,i+1,length(str)-i));
|
Ребята, учите VB
_________________ Жить хорошо. А нежить - еще лучше. |
|
|
Helga
1196 EGP
     Рейтинг канала: 5(220) Репутация: 242 Сообщения: 2509 Откуда: Lave Зарегистрирован: 17.09.2004
 |
|
The Lich : |
Ребята, учите VB
|
VB - нафиг!
Цитата: |
i:=pos('.', copy(str,i+1,length(str)-i));
|
Вообще, в Паскале вроде бы была функция, аналогичная pos(), которая позволяла находить n-ное вхождение подстроки в строку, что позволило бы избежать такого нагромождения. Но что-то в дельфе я ее не нашла. Хотя, может плохо искала.
_________________ Не води компанию с теми, с кем бы ты не хотел умереть. |
|
|
The Lich
220 EGP
   Репутация: 45 Сообщения: 805 Откуда: из склепа Зарегистрирован: 15.08.2003
 |
|
Ну не знаю, я, как говорят наши скромные парни, в сем дилетант, но спроси меня по чести - даже не предположил бы, что пропорция из пары десятичных чисел таких аццких конструкций требует. Не просче сразу введенное привезти к флоату? С текстом "казьол" - понятно, тут просто делаем MsgBox("А по ушам?") , но на фига утилите с парой полей и кнопкой нужно точки в цифре считать? Или в дельфиях введенная целая не преобразуется дефултно в х.0?
В Дельфе, насколько я знаю (а знаю я ++ Билдер, притом хреново ) должна быть фирменная борляндовская объектовая библиотека со строковыми функциями, они там вроде в одном хелпе задокуменчены. Точно помню, преобразования чисел оттуда и брал. Потоки ввода тоже там вроде.
А вот с
я бы охотно согласился полгодика назад, пока знакомые не спонсировали Express-версией VB 2005. Я все тоже думал, что вот С и вообще Болляндий - это круто, но сия милая штучка научила меня взрослой жизни. Система для ослов-гуманитариев: думать вообще не надо, перебросить строку в цифирь - вообще дело постыдное за элементарностью. Да какой там стртуфлоат, оно бмп в джипег одной строчкой конвертит! Не будь я лентяй, был бы уже атасный программер.
_________________ Жить хорошо. А нежить - еще лучше. |
|
|
Helga
1196 EGP
     Рейтинг канала: 5(220) Репутация: 242 Сообщения: 2509 Откуда: Lave Зарегистрирован: 17.09.2004
 |
|
2The Lich
Тут проблема не с перебросом стьроки в число, это-то как раз деалется одной функцией i:=StrToFloat(str); но проблема в том, что 1. и 1.5. - это как бы не совсем числа и функция на них валится в ошибку, поэтому необходим контроль ввода. Хотя, можно было обойтись и обработчиком исключений:
flag:=True;
try
x:=StrToFloat(Edit1.Text);
except
showmessage('Ты че нажал?!');
flag:=False;
end;
if flag then ....
_________________ Не води компанию с теми, с кем бы ты не хотел умереть. |
|
|
AlexD
383 EGP
  Репутация: 82 Сообщения: 1084 Откуда: Тюмень, Россия Зарегистрирован: 25.04.2003
 |
|
Как говорится, ну вы блин даете. )
Если уж я бы и пошел на такой изврат с точкой, то я бы сделал через обработчики исключений, только не показывал бы сообщения showmessage'ем, а выводил бы в строке статуса, что-то типа "Введены некорректные данные". Это раз. Во-вторых, а почему вы решили, что разделитель дробной части это у всех всегда точка? В Дельфе есть переменная, которая возвращает символ текущего разделителя дробной части в системе. Если использовать эту функцию вместо ".", то у каждого будет свой, удобный ему, разделитель. Вот так-то.
Edited:
Вернее это не функция, а переменная DecimalSeparator. Вот вней и содержится нужный нам символ.
Далее, а зачем вам воообще флаги???
Если уж так хотите, то можно сделать так:
Код: |
try
x:=StrToFloat;
// считаем дальше и показываем результат
except
//сбрасываем окошко с результатом вычисления, например в "0" или в ""
//ругаемся тихонько в строку статуса и все
end;
|
Вот это все дело можно повесит на таймер. Таким образом результат просчета будет показывается только тогда, когда будет введено правильное число. Обо всем остальное просто тихонько сообщаем в строке статуса. Или куда-нибудь в TLabel.
_________________ тетрагидрометаноптерина макарена
метилентетрагидрофолата макарена
ЭЭЭЭЭ МАКАРЕНА |
|
|
Payne
160 EGP
  Рейтинг канала: 2(20) Репутация: 42 Сообщения: 352 Откуда: Sol, Earth, Smolensk Зарегистрирован: 07.01.2006
 |
|
Helga : |
Вообще, неплохо бы еще на OnKeyPressed повесить контроль ввода
|
Вот, у меня как раз это и сделано: вводятся только цифры, backspace и delete, вот теперь еще запятая и точка, причем при вводе точки она автоматически переводится в запятую, т.к. в дельфях это и есть разделитель. Поиск второй запятой можно очень просто сделать так:
for i := 1 to length(str) do if pos(',', str) <> 0 then ErrorBeep(key);
ErrorBeep - это у меня процедура, которая обнуляет клавишу и выдает звуковой сигнал.
Helga : |
Я нолик не подставляла, я просто обрубала строку
|
Ну, 2 и 2.0 это одно и то же число, так что тут уже вопрос стоит в сложности реализации этих алгоритмов и выборе оптимального. Но я сделал так, чтобы после введения запятой просто автоматически учитывалось, что там стоит нуль.
Загрузил на тот же адрес обновленную программу. Helga, можешь подсказать формулу для рассчета необходимого топлива для прыжка?
|
|
|
Helga
1196 EGP
     Рейтинг канала: 5(220) Репутация: 242 Сообщения: 2509 Откуда: Lave Зарегистрирован: 17.09.2004
 |
|
AlexD : |
только не показывал бы сообщения showmessage'ем
|
Ну это я так, для примера. Лень мне было статусную строку прилеплять.
AlexD : |
Далее, а зачем вам воообще флаги???
|
Люблю я флаги.
Payne : |
for i := 1 to length(str) do if pos(',', str) <> 0 then ErrorBeep(key);
|
Только наверное pos(',', str[i])
Payne : |
можешь подсказать формулу для рассчета необходимого топлива для прыжка?
|
На максимальный прыжок топливо равно квадрату класса двигателя. Для 8 гипердрайва класс нужно брать равным 9, а для 4 милитари топливо на максимальный прыжок = 7т. Соответственно получаем:
X=(Jump/JumpMax)*(class*class)
_________________ Не води компанию с теми, с кем бы ты не хотел умереть. |
|
|
|
|
|
Канал Elite: «Стиль Elite, FFE и технические подробности» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: ImperialHunter культурно матом высказался. (CooL_SnipeR)
|
» Стиль Elite, FFE и технические подробности | страница 3 |
|