Показано с 1 по 8 из 8

Тема: SpTBS (Space Tactical battle system) Alpha version

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Бывалый Аватар для Dark32
    Информация о пользователе
    Регистрация
    30.12.2008
    Адрес
    Арзамас
    Сообщений
    640
    Записей в дневнике
    2
    Репутация: 20 Добавить или отнять репутацию

    По умолчанию

    Прокомментировать скрипт я позволю себе.
    Минусы опишу:
    1. я не смог сразу запустить демо (ерунда, исправил ини, всё заработало)
    2. дальше первого тура я не смог продвинуться (смог, оказывается кто-то в углу сидел)
    3. чары не убираются после смерти, это обидно
    4. поворот реализован не очень хорошо
    5. можно атаковать себя (или это глюк?)
    6. в конце ХП бары прикрепляются к курсору
    Плюсы:
    1. красиво
    2. ново (ты один из немногих русских, кто реализовал хотя бы часть боёвки и выложил её на обзор)
    3. Скрипты, люблю скрипты.
    Критика кода: (пожалуй с чего и следовало начать)
    1. крайне сложно перенести в свой проект, скрипты боёвки разбросаны по родным скриптам
    2. Type unit - бесклассовые методы, знаешь чем это чревато? Хотя может это и оправданно
    3.
    Спойлер unit_type:
    PHP код:
    def unit_type (type_number)
      case 
    type_number
      when 1 
    # Главный герой
        
    return [0,       #  0.Unit
                
    2,       #  1.State
                
    3,       #  2.Max HP
                
    3,       #  3.HP
                
    3,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [1,2,3]] # 10.Type attack
      
    when 2 # Простой пират
        
    return [1,       #  0.Unit
                
    2,       #  1.State
                
    3,       #  2.Max HP
                
    3,       #  3.HP
                
    2,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [1,2,3]] # 10.Type attack
      
    when 3 # Главный герой
        
    return [0,       #  0.Unit
                
    0,       #  1.State
                
    10,      #  2.Max HP
                
    1,       #  3.HP
                
    3,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [1,2,3]] # 10.Type attack
      
    when 4 # Главный герой
        
    return [0,       #  0.Unit
                
    2,       #  1.State
                
    7,       #  2.Max HP
                
    7,       #  3.HP
                
    3,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [1,2,3]] # 10.Type attack
      
    when 5 # Главный герой
        
    return [0,       #  0.Unit
                
    1,       #  1.State
                
    5,       #  2.Max HP
                
    2,       #  3.HP
                
    3,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [1,2,3]] # 10.Type attack
      
    when 6 # Главный герой
        
    return [0,       #  0.Unit
                
    1,       #  1.State
                
    10,       #  2.Max HP
                
    3,       #  3.HP
                
    3,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [4]]     # 10.Type attack
      
    end
    end 

    можно было так
    Спойлер *:
    PHP код:
    module  CONST_SpTBS
     Unit_Type 
    = [nil,
     
    #  0.Unit #  1.State #  2.Max HP #  3.HP  #  4.Type move #  5.Step SP Max #  6.Step SP #  7.Shield HP Max  #  8.Shield HP #  9.Remount # 10.Type attack
    [0,2,3,3,3,3,3,1,1,0,[1,2,3]] # Главный герой
    [1,2,3,3,2,3,3,1,1,0,[1,2,3]] # Простой пират
    [0,2,3,3,3,3,3,1,1,0,[1,2,3]]# Главный герой
    # дальше в твоём стиле, хоть и занимает много места, зато читабельность хорошая.
      # Простой пират
         
    [1,       #  0.Unit
                
    2,       #  1.State
                
    3,       #  2.Max HP
                
    3,       #  3.HP
                
    2,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [1,2,3]] # 10.Type attack
       # Главный герой
         
    [0,       #  0.Unit
                
    0,       #  1.State
                
    10,      #  2.Max HP
                
    1,       #  3.HP
                
    3,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [1,2,3]] # 10.Type attack
       # Главный герой
        
    [0,       #  0.Unit
                
    2,       #  1.State
                
    7,       #  2.Max HP
                
    7,       #  3.HP
                
    3,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [1,2,3]] # 10.Type attack
       # Главный герой
         
    [0,       #  0.Unit
                
    1,       #  1.State
                
    5,       #  2.Max HP
                
    2,       #  3.HP
                
    3,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [1,2,3]] # 10.Type attack
       # Главный герой
       
    [0,       #  0.Unit
                
    1,       #  1.State
                
    10,       #  2.Max HP
                
    3,       #  3.HP
                
    3,       #  4.Type move
                
    3,       #  5.Step SP Max
                
    3,       #  6.Step SP
                
    1,       #  7.Shield HP Max
                
    1,       #  8.Shield HP
                
    0,       #  9.Remount
                
    [4]]     # 10.Type attack
    ]
      
    end 
    вызывать так
    CONST_SpTBS::Unit_Type[type_number]


    С остальными методами, где идёт простое case - when бинарное дерево проделать то же самое. Это конечно будет несколько медленние бинарного дерева (того что было изначально), но RGSS и так медленная штука.

    4.
    PHP код:
      if $game_variables[1] == 0
        nulling
    (ev_arr)
      
    end 
    заменить на постусловие
    PHP код:
      nulling(ev_arr)  if $game_variables[1] == 
    5.
    PHP код:
     for i in 0..ev_arr.size-1
        
    if $dead_actors.include? (ev_arr[$num_step][0])
            
    $ksd true
        end
      end 
    на
    PHP код:
     for i in 0...ev_arr.size # считаем точки
           
    $ksd true if $dead_actors.include? (ev_arr[$num_step][0])
      
    end 
    Хотя смысл сий действия мне не ясно.
    6.
    PHP код:
    if $ksd == false 
    Забываем паскаль! В Руби истина всё, что существует и не ложно, т.е. если объект есть, то он вернёт истину при проверки (если объект не false)
    PHP код:
    if !$ksd 
    7.
    PHP код:
    $coord_move = Array.new 
    или
    PHP код:
    $coord_move =[] 
    чисто дело стиля.

    В целом, мне понравилось, скрипт с коментами, со структурой. Надеюсь мой комент не повлияет на самооценку автора и он продолжит разрабатывать сий скрипт.
    Нужна помощь в скриптах? Запутался? Голова не варит?
    Читал это и это тоже? Не помогло? Тогда тебе сюда!
    Спойлер •••:
    Цитата Сообщение от Реймон
    В мире нет вещей которые нельзя решить с помощью сладостей
    Цитата Сообщение от Ундер
    Ночью можно обойтись и без сладостей...

  2. #2
    Познающий Аватар для Space
    Информация о пользователе
    Регистрация
    26.08.2010
    Адрес
    Воскресенск
    Сообщений
    382
    Репутация: 18 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Dark32 Посмотреть сообщение
    Прокомментировать скрипт я позволю себе.
    Минусы опишу:
    4. поворот реализован не очень хорошо
    Если подкинешь идейку лучшей реализации, буду благодарен (меня она так же не удовлетворяет, но работает)

    Цитата Сообщение от Dark32 Посмотреть сообщение
    5. можно атаковать себя (или это глюк?)
    В случае атаки по местности, можно задеть союзников, как предполагается)))

    Цитата Сообщение от Dark32 Посмотреть сообщение
    6. в конце ХП бары прикрепляются к курсору
    Опиши подробнее, я тебя не понял?

    Цитата Сообщение от Dark32 Посмотреть сообщение
    1. крайне сложно перенести в свой проект, скрипты боёвки разбросаны по родным скриптам
    Не сложно, изменения минимальны, сейчас проект на стадии экспериментов, и поэтому не идеален)


    Цитата Сообщение от Dark32 Посмотреть сообщение
    2. Type unit - бесклассовые методы, знаешь чем это чревато? Хотя может это и оправданно
    Лучше расскажи!


    4. ...
    5. ... Хотя смысл сий действия мне не ясно.
    (проверка, мёртв ли эвент, если да, пропуск хода)...
    6. ...
    7. ...


    Честно, очень сильно боялся запутаться в коде, и поэтому предпочёл расписывать структуры полностью)

    П.С. Спасибо за критику (мотаю на ус)
    Спойлер Творения моих рук:

    Angel Beats - первая проба на Мейкере - 4.20 МБ
    Space Scene - ролик на конкурс ФМР'2010 (Нейтральная полоса) - 15.6 МБ
    Naomi-chan - ролик на конкурс "Предпраздничный конкурс музыкальных проектов" (Светлая зона) - 4.63 МБ

  3. #3
    Бывалый Аватар для Dark32
    Информация о пользователе
    Регистрация
    30.12.2008
    Адрес
    Арзамас
    Сообщений
    640
    Записей в дневнике
    2
    Репутация: 20 Добавить или отнять репутацию

    По умолчанию

    Про курсор: если все мертвы (да-да я умудрился убить всех) - то за курсором следуют хп бары, те маленикие прямоугольники.
    Про бесклассовый метод: проблема в том, что его можно вызвать там, где он не будет работать. Н-р.: если выводишь текст на спрайте и вызываешь метод скажем на сцене, то бац - ошибка, или пытаешься привести число к файлу. Но в твоём случае этого не произойдёт, у тебя там только выбор.
    Нужна помощь в скриптах? Запутался? Голова не варит?
    Читал это и это тоже? Не помогло? Тогда тебе сюда!
    Спойлер •••:
    Цитата Сообщение от Реймон
    В мире нет вещей которые нельзя решить с помощью сладостей
    Цитата Сообщение от Ундер
    Ночью можно обойтись и без сладостей...

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
SpTBS (Space Tactical battle system) Alpha version