Войти
ПрограммированиеФорумИгровая логика и ИИ

Решено. Как реализовать выбор случайного результата в зависимости от 1 параметра? (2 стр)

Страницы: 1 2 3 424 Следующая »
#15
15:10, 11 июля 2023

Ren
В школе так учили, может раньше не во всех языках так можно было записывать. Что так можно я узнал совсем недавно.

#16
15:11, 11 июля 2023

Всех благодарю за ответы!

#17
15:26, 11 июля 2023

RikiTikiTak
> В школе так учили
Ты вроде давно не в школе, чтобы каждую операцию фиксировать отдельной строкой.
Как по мне отдельной строкой надо собирать смысл, не важно сколько в нем операций.

#18
16:07, 11 июля 2023

Ren
Кроме написавшего, такой код потом никто не поймёт. В дальнейшем может понадобится переделать смысл.

#19
16:14, 11 июля 2023

RikiTikiTak
> Кроме написавшего, такой код потом никто не поймёт.
Наоборот.
Всегда следуйте правилу:

Следствие 33: Если результат можно рассчитать, это хорошо, если нет - нужно использовать таблицы. Только, если и это невозможно, можно применять сложные структуры управления языка программирования.

В приведенном случае и блок (образуемый локальной переменной) и условный оператор не нужны. Голое вычисление.

#20
16:15, 11 июля 2023

RikiTikiTak
> Кроме написавшего, такой код потом никто не поймёт.
То есть комментировать каждую строчку мы ленимся. А писать конструкции

a=1
b=2
c=a+b

это оказывается для понятливости.

#21
17:05, 11 июля 2023

gudleifr

return Random.Range(1, 101) <= per;

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

Ren
Тут может вы и правы, но я встречал варианты где в одной строке было много вложенных функции и комментарий для чего это нужно. Мне было очень сложно разложить это построчно для дальнейшей доработки. А было так что я просто искал вариант где попроще.

#22
17:13, 11 июля 2023

Ren
> Ты вроде давно не в школе, чтобы каждую операцию фиксировать отдельной строкой.

Так легче отлаживать. Особенно, если конструкции/вычисления и пр. сложные/многострочные.

> Как по мне отдельной строкой надо собирать смысл, не важно сколько в нем операций.

Нет такой рекомендации и тем более правила. Более того, есть рекомендация (в т.ч. от того же Макконнелла) по необходимости разбивать длинные/сложные конструкции на более мелкие и простые.

Хотя в примитивном случае, конечно, предпочтителен лаконичный вариант, как у gudleifr.

#23
17:18, 11 июля 2023

GDR
> вариант, как у gudleifr.
В данном случае вариант "как у меня" описан в первой главе первого тома моих заметок.

#24
17:19, 11 июля 2023

Это какая-то электронная книга или о чём речь ?

#25
17:20, 11 июля 2023

GDR
я конечн не программист, но мне проще рассматривать целиком конструкцию, чем копаться в отдельных ее частях.

parent_x=planet.orbit[planet.parent[ship_fly.finish_ID]] * Math.cos ( 2*((GlobalDay+(t_zam-j1)/86400)/planet.T[planet.parent[ship_fly.finish_ID]]-Math.floor((GlobalDay+(t_zam-j1)/86400)/planet.T[planet.parent[ship_fly.finish_ID]]))*Math.PI );
parent_y=planet.orbit[planet.parent[ship_fly.finish_ID]] * Math.sin ( 2*((GlobalDay+(t_zam-j1)/86400)/planet.T[planet.parent[ship_fly.finish_ID]]-Math.floor((GlobalDay+(t_zam-j1)/86400)/planet.T[planet.parent[ship_fly.finish_ID]]))*Math.PI );
x_meet =(planet.orbit[ship_fly.finish_ID] * Math.cos ( 2*((GlobalDay+(t_zam-j1)/86400)/planet.T[ship_fly.finish_ID]-Math.floor((GlobalDay+(t_zam-j1)/86400)/planet.T[ship_fly.finish_ID]))*Math.PI )) + parent_x;
y_meet = (planet.orbit[ship_fly.finish_ID] * Math.sin ( 2*((GlobalDay+(t_zam-j1)/86400)/planet.T[ship_fly.finish_ID]-Math.floor((GlobalDay+(t_zam-j1)/86400)/planet.T[ship_fly.finish_ID]))*Math.PI )) + parent_y;
#26
17:22, 11 июля 2023

Ren
> я конечн не программист, но мне проще рассматривать целиком конструкцию, чем
> копаться в отдельных ее частях.

Дык рассматривайте целиком, разве кто-то/что-то мешает?

#27
17:26, 11 июля 2023

GDR
> Это какая-то электронная книга или о чём речь ?
Ну, если Вы еще не догадались, то она Вам без надобности.


Ren
> но мне проще рассматривать целиком конструкцию

Правило красивого кода:

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

#28
17:26, 11 июля 2023

GDR
> Дык рассматривайте целиком, разве кто-то/что-то мешает?
Если разбить указанное выражение на составные части, то из этих составных частей я не увижу цельную картину, а буду вечно копаться в деталях.

#29
17:33, 11 июля 2023

gudleifr
> Ну, если Вы еще не догадались, то она Вам без надобности.

Даже не знаю, как это понимать и что ответить. Вряд ли мы знакомы, а ссылки я не вижу. В профиле есть что-то и, видимо, там нужно копаться, чтобы найти те самые заметки. Впрочем, мне они действительно без надобности, наверное. :)


Ren
> Если разбить указанное выражение на составные части, то из этих составных
> частей я не увижу цельную картину, а буду вечно копаться в деталях.

"Виделка" у каждого своя; видимо, Вам так удобнее. Хотя непосвященному эти формулы мало что говорят ("ну, какие-то вычисления орбит"), а посвященному, скорее всего, без нужды (лично я бы "свернул" эту портянку).

Страницы: 1 2 3 424 Следующая »
ПрограммированиеФорумИгровая логика и ИИ