• sudopacman
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    Может, под аватарку тогда уже звёзды запихнуть?

    • crypt
      link
      fedilink
      arrow-up
      0
      ·
      4 years ago

      когда их много, они не влезут

        • crypt
          link
          fedilink
          arrow-up
          0
          ·
          4 years ago

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

          • sudopacman
            link
            fedilink
            arrow-up
            0
            ·
            4 years ago

            у тебе вертикальная ава

            Высота у неё такая же, что и у квадратной. Просто ширина меньше.

            что там еще будет три шеренги звезд

            Мои 10 звёзд спокойно и в один ряд помещаются.

            • crypt
              link
              fedilink
              arrow-up
              0
              ·
              4 years ago

              «Мои 10 звёзд спокойно и в один ряд помещаются.» это при текущем размере шрифта. если шритф станет больше (настройки браузера) они вылезут.

              • sudopacman
                link
                fedilink
                arrow-up
                0
                ·
                4 years ago

                ⚫ клуб Новые участники (Club) 16 минут назад, crypt

                Не могу открыть тему, в которую меня скастовало: 403.

                P.S. Как картинки загружать-то?

              • sudopacman
                link
                fedilink
                arrow-up
                0
                ·
                4 years ago

                В любом случае звёзды отдельной строкой как-то не очень выглядят. Можно просто вернуть на первоначальное место и сделать, чтобы количество звёзд росло медленнее, чем линейно. Например вот так:

                static int starCount (int score) {
                    int stars = 0;
                
                    int n;
                
                    Deque<Integer> d = new ArrayDeque<Integer>();
                    d.add(1);
                    d.add(1);
                    d.add(1);
                
                    for(;;) {
                        if (stars < 3) {
                            n = 1;
                            score = score - n*100;
                            if (score < 0) {
                                break;
                            }
                            stars = stars + 1;
                        } else {
                            n = d.pollLast() + d.peekLast();
                            d.addFirst(n);
                            score = score - n*100;
                            if (score < 0) {
                                break;
                            }
                            stars = stars + 1;
                        }
                    }
                    return stars;
                }
                

                Тогда количество звёзд будет расти следующим образом:

                Score Звёзды
                0 0
                100 1
                200 2
                300 3
                500 4
                700 5
                1000 6
                1400 7
                1900 8
                2600 9
                3500 10
                • crypt
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 years ago

                  хз. бери гитхаб, присылай патч.

                  • sudopacman
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    4 years ago

                    Регистрировать новый аккаунт на GitHub не охота, поэтому отправлю патч тут.

                    https://github.com/cocucka-dev/lorsource/blob/master/src/main/java/ru/org/linux/user/User.java:

                    @@ -30,6 +30,9 @@
                     import java.sql.SQLException;
                     import java.sql.Timestamp;
                    
                    +import java.util.ArrayDeque;
                    +import java.util.Deque;
                    +
                     public class User implements Serializable {
                       private static final int ANONYMOUS_LEVEL_SCORE = 50;
                       public static final int ANONYMOUS_ID = 2;
                    @@ -278,37 +281,41 @@
                         return getStars(score, maxScore, true);
                       }
                    
                    -  private static int getGreenStars(int score) {
                    -    if (score < 0) {
                    -      score = 0;
                    +  private static int getStarCount(int score) {
                    +    int stars = 0;
                    +    int n;
                    +
                    +    Deque<Integer> d = new ArrayDeque<Integer>();
                    +    d.add(1);
                    +    d.add(1);
                    +    d.add(1);
                    +
                    +    for(;;) {
                    +      if (stars < d.size()) {
                    +        n = (int) d.toArray()[stars];
                    +      } else {
                    +        n = d.pollLast() + d.peekLast();
                    +        d.addFirst(n);
                    +      }
                    +      score = score - n*100;
                    +      if (score < 0) {
                    +        break;
                    +      }
                    +      stars = stars + 1;
                         }
                    -/*    if (score >= 600) {
                    -      score = 599;
                    -    }*/
                    -
                    -    return (int) Math.floor(score / 100.0);
                    -  }
                    -
                    -  private static int getGreyStars(int score, int maxScore) {
                    -    if (maxScore < 0) {
                    -      maxScore = 0;
                    -    }
                    -    if (maxScore < score) {
                    -      maxScore = score;
                    -    }
                    -/*    if (maxScore >= 600) {
                    -      maxScore = 599;
                    -    }*/
                    -
                    -    int stars = getGreenStars(score);
                    -    return (int) Math.floor(maxScore / 100.0) - stars;
                    +    return stars;
                       }
                    
                       public static String getStars(int score, int maxScore, boolean html) {
                         StringBuilder out = new StringBuilder();
                    
                    -    int stars = getGreenStars(score);
                    -    int greyStars = getGreyStars(score, maxScore);
                    +    int stars = getStarCount(score);
                    +    int greyStars;
                    +    if (maxScore == score) {
                    +      greyStars = 0;
                    +    } else {
                    +      greyStars = getStarCount(maxScore) - stars;
                    +    }
                    
                         if (html) {
                           out.append("<span class=\"stars\">");
                    
                    • sudopacman
                      link
                      fedilink
                      arrow-up
                      0
                      ·
                      4 years ago

                      @cocucka, что скажешь? Предлагаю вернуть звёзды на изначальное место и изменить систему расчёта их количества на вышеописанную.

                      Вот у @cetjs2 должно быть 22 звезды, а вы ему только 11 насыпали. Видимо, потому, что даже если звёзды передвинуть под ник, то всё равно 22 штуки многовато. А по моему алгоритму у него будет 8 звёзд. Заодно четырёхзвёздочники перестанут быть краснокнижными существами.

                      • cocuckaOP
                        link
                        fedilink
                        arrow-up
                        0
                        ·
                        4 years ago

                        По мне так чем проще – тем лучше. Линейный рост, имхо, меньше вопросов вызовет, но и более 5 звёзд у ника даёт ощущение разговора с Брежневым. Может лучше сделать звёзды разноцветными? Типа до 500 простые зелёные, за 5 зелёных давать одну серебрянную, за 5 серебрянных – золотую. Не каждая птица долетит до пяти золотых.

                        • l-xoid
                          link
                          fedilink
                          arrow-up
                          0
                          ·
                          4 years ago

                          Типа до 500 простые зелёные, за 5 зелёных давать одну серебрянную, за 5 серебрянных – золотую

                          А за 5 золотых - библию в простом переплёте.

                        • sudopacman
                          link
                          fedilink
                          arrow-up
                          0
                          ·
                          4 years ago

                          По мне так чем проще – тем лучше. Линейный рост, имхо, меньше вопросов вызовет

                          По-моему, начисление score уже достаточно нетривиально, чтобы вызывать вопросы у тех, кто пытается понять, как оно работает. Собственно, я вообще считаю, что пользователям достаточно просто знать, что чем больше звёзд, тем дольше будешь добираться до следующей — понимать механизм работы необязательно. В профиле рядом со score отображать количество, при котором появится следующая звезда. Т. е., например, 350 / 500. (При наведении на 500 показывать поясняющую надпись.) Любителям “игоря” такой принцип должен быть вполне знаком. Для любознательных где-нибудь на FAQ-странице привести вышеуказанную таблицу и описание алгоритма. Если что, я лично готов объяснять, как оно работает, всем, у кого возникнут вопросы.

                          Может лучше сделать звёзды разноцветными?

                          Мне такая идея не очень нравится, обилие цветов слишком перегружает информационный фон. Всё-таки цвета лучше использовать для выделения информации, а не как отдельную смысловую единицу. (Тут ещё стоит учитывать существование разных тем и пользовательских стилей.)

                        • sudopacman
                          link
                          fedilink
                          arrow-up
                          0
                          ·
                          4 years ago

                          Ещё неплохо бы время написания сообщения перенести в ту же строчку, что и user-agent (с тем же размером шрифта):

                          sudopacman ★★★★★★ <тут может быть комментарий о пользователе>
                          Последнее исправление: sudopacman 14.06.22 20:01:06 (всего исправлений: 2)
                          Windows / Firefox / 14.06.22 19:51:48  
                          [Ответить на это сообщение] [Показать ответ] [Ссылка]
                          
                • torvn77
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 years ago

                  Тогда количество звёзд будет расти следующим образом:

                  А почему не по степеням двойки или тройки?

                  • sudopacman
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    4 years ago

                    Потому что эта функция лучше подходит и не нужно городить никаких кусочных функций.

                    • torvn77
                      link
                      fedilink
                      arrow-up
                      0
                      ·
                      4 years ago

                      2^x на положительной полуоси кусочная?

                      • sudopacman
                        link
                        fedilink
                        arrow-up
                        0
                        ·
                        4 years ago

                        2^n не подходит для маленьких значений score, поэтому нужна кусочная функция.

                        • sorrow
                          link
                          fedilink
                          arrow-up
                          0
                          ·
                          4 years ago

                          50*2^n идеально подходит:

                          скор звёзды
                          100 1
                          200 2
                          400 3
                          800 4
                          1600 5
                          3200 6
                          • torvn77
                            link
                            fedilink
                            arrow-up
                            0
                            ·
                            4 years ago

                            50*2^n идеально подходит

                            Тогда уж 2^(6+2n)

                              • torvn77
                                link
                                fedilink
                                arrow-up
                                0
                                ·
                                4 years ago

                                Как я понимаю @sudopacman имел ввиду скорость роста порога, а не количества звёзд.

                                • sudopacman
                                  link
                                  fedilink
                                  arrow-up
                                  0
                                  ·
                                  4 years ago

                                  Нет, неправильно понимаешь.

                                  2^(6+2n)

                                  Ты хоть на график посмотри, прежде чем такое предлагать.

                                  • torvn77
                                    link
                                    fedilink
                                    arrow-up
                                    0
                                    ·
                                    4 years ago

                                    Ну вообще эту формулу я писал как альтернативу формуле sorrow.

                                    Ты какие хочешь для неё коэфициэнты?

                                    • sudopacman
                                      link
                                      fedilink
                                      arrow-up
                                      0
                                      ·
                                      4 years ago

                                      Ну вообще эту формулу я писал как альтернативу формуле sorrow.

                                      Молодец, только она ещё меньше подходит, чем его.

                                      Ты какие хочешь для неё коэфициэнты?

                                      Я хочу другую функцию.

                                      • torvn77
                                        link
                                        fedilink
                                        arrow-up
                                        0
                                        ·
                                        4 years ago

                                        Ну положим первая звезда 128 скора, вторя 256 скора, третья 512 скора, четвёртая 1024 скора.
                                        Помоему вполне хорошо.

                                        Это формула 2^(5+n)

                                        • sudopacman
                                          link
                                          fedilink
                                          arrow-up
                                          0
                                          ·
                                          4 years ago

                                          Помоему вполне хорошо.

                                          А по-моему — нет.

                                          Это формула 2^(6+n)

                                          А ты предлагал вообще 2^(6+2n).

                                          • torvn77
                                            link
                                            fedilink
                                            arrow-up
                                            0
                                            ·
                                            4 years ago

                                            Это sorrow предлагал, я только чуть чуть поправил.

                                            Так когда по твоему мнению должна быть первая и вторая звезда?

                                              • torvn77
                                                link
                                                fedilink
                                                arrow-up
                                                0
                                                ·
                                                4 years ago

                                                Первая при 100, вторая при 200?

                                                Это позор, мы как программисты должны считать по степеням двойки, это символ професии.

                                                То есть 64 128 256 512 1024

                                                • sudopacman
                                                  link
                                                  fedilink
                                                  arrow-up
                                                  0
                                                  ·
                                                  4 years ago

                                                  мы как программисты

                                                  «Мы»?

                                                  должны считать по степеням двойки

                                                  Любое натуральное число можно представить в виде суммы степеней двойки.

                                                  • torvn77
                                                    link
                                                    fedilink
                                                    arrow-up
                                                    0
                                                    ·
                                                    4 years ago

                                                    Ты не знаком с концепцией круглого числа?

                                                      • torvn77
                                                        link
                                                        fedilink
                                                        arrow-up
                                                        0
                                                        ·
                                                        4 years ago

                                                        Круглое число это число в котором значение имеет либо только один порядок, либо все порядки имеют одинаковое значение.

                                                        В посте https://linuxtalks.co/forum/feedback/33?cid=2243 @sudopacman предложил считать по круглым числам десятичной системы, а я думаю что мы должны как программисты брать круглые числа из двоичной или троичной системы.

                                                        • l-xoid
                                                          link
                                                          fedilink
                                                          arrow-up
                                                          0
                                                          ·
                                                          4 years ago

                                                          мы должны как программисты

                                                          Тут не только программисты

                                                  • l-xoid
                                                    link
                                                    fedilink
                                                    arrow-up
                                                    0
                                                    ·
                                                    4 years ago

                                                    А искусственное число можно?

                                                    • sudopacman
                                                      link
                                                      fedilink
                                                      arrow-up
                                                      0
                                                      ·
                                                      4 years ago

                                                      Что такое «искусственное число»?

                                                      • l-xoid
                                                        link
                                                        fedilink
                                                        arrow-up
                                                        0
                                                        ·
                                                        4 years ago

                                                        Которое состоит из сплошной химии и немножко ГМО

                        • CrocodoomBanned
                          link
                          fedilink
                          arrow-up
                          0
                          ·
                          4 years ago

                          Можно просто стакать 5 звёзд в одну “большую” звезду (другого цвета)

                          Я уже предлагал это @crypt, кстати, но его ответа не помню, если он вообще был

                          • CrocodoomBanned
                            link
                            fedilink
                            arrow-up
                            0
                            ·
                            4 years ago

                            На dxdy так сделано. У меня синдром утёнка, возможно

                            • CrocodoomBanned
                              link
                              fedilink
                              arrow-up
                              0
                              ·
                              4 years ago

                              Но ЛОР мне нравится больше! Про LT вообще молчу 😶

                          • crypt
                            link
                            fedilink
                            arrow-up
                            0
                            ·
                            4 years ago

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

                            • CrocodoomBanned
                              link
                              fedilink
                              arrow-up
                              0
                              ·
                              4 years ago

                              Как серые и можно стакать в зелёные 🙂 Типа, заслуженный тролль. 10 звёзд = 2 зелёных = …

                              • crypt
                                link
                                fedilink
                                arrow-up
                                0
                                ·
                                4 years ago

                                пожалуй. но код писать надо. если бы вы предложили патч, другое дело. а тут и так в движке непочатый край работы.

                                • CrocodoomBanned
                                  link
                                  fedilink
                                  arrow-up
                                  0
                                  ·
                                  4 years ago

                                  Патч я уже предложил, а код пусть джависты пишут 😉

                                  • crypt
                                    link
                                    fedilink
                                    arrow-up
                                    0
                                    ·
                                    4 years ago

                                    вот в том-то и дело. код кому-то надо писать. я не джавист, но пытаюсь и помогаю сосиске, как могу. ты ссылку на lt в профиле на лоре поставил?

                                    • CrocodoomBanned
                                      link
                                      fedilink
                                      arrow-up
                                      0
                                      ·
                                      4 years ago

                                      и помогаю сосиске, как могу

                                      Солидарен. Я тоже помогаю сосиске, как могу

                                      • crypt
                                        link
                                        fedilink
                                        arrow-up
                                        0
                                        ·
                                        4 years ago

                                        ссылку на лт прописал в профиле на лоре?

                                        • CrocodoomBanned
                                          link
                                          fedilink
                                          arrow-up
                                          0
                                          ·
                                          4 years ago

                                          Я пока не могу логиниться на ЛОРе. Чуть позже ситуация может измениться

            • crypt
              link
              fedilink
              arrow-up
              0
              ·
              4 years ago

              и еще тут используется шаблон, который я плохо понимаю. под картинку просто убрать сложнее. если ты патч предложишь, я потестю.