Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 20

Тема: Помогите расшифровать С исходник

  1. #1
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,755
    Спасибо Благодарностей отдано 
    261
    Спасибо Благодарностей получено 
    269
    Поблагодарили
    203 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Помогите расшифровать С исходник

    Код:
    void moverjean (struct protagonista *jean, Mix_Chunk *fx[]) {
    
        /* Salto */
        if (jean->salto == 1) {
            if (jean->altura == 0) /* Reproducir sonido de salto */
                Mix_PlayChannel(-1, fx[3], 0);
            if (jean->altura < 56) {
                jean->altura += 1.6;
                if ((jean->colision[0] == 0) && (jean->altura < 44))
                    jean->y -= 1.5;
                jean->animacion = 0;
            }
            else {
                jean->salto = 2;
                jean->colision[0] = 0;
            }
        }
    
    
        /* Mover a la derecha */
        if (jean->pulsa[3] == 1) {
            jean->direccion = 1;
            if (jean->colision[3] == 0) {
                if (jean->salto == 0) {
                  if (jean->animacion < 13)
                        jean->animacion ++;
                  else
                        jean->animacion = 0;
                }
                if (jean->pulsa[1] == 1)
                    jean->x += 0.30;
                else
                    jean->x += 0.65;
            }
        }
    
        /* Mover a la izquierda */
        if (jean->pulsa[2] == 1) {
            jean->direccion = 0;
            if (jean->colision[2] == 0) {
                if (jean->salto == 0) {
                  if (jean->animacion < 13)
                        jean->animacion ++;
                  else
                        jean->animacion = 0;
                }
                if (jean->pulsa[1] == 1)
                    jean->x -= 0.30;
                else
                    jean->x -= 0.65;
            }
    
        }
    
    }
    Вот тут. вроде все понимаю но не совсем.
    Последний раз редактировалось jerri; 04.06.2013 в 09:36.
    С уважением,
    Jerri / Red Triangle.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,115
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    655
    Поблагодарили
    402 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так а что именно не понятно?
    Больше игр нет

  4. #3
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,755
    Спасибо Благодарностей отдано 
    261
    Спасибо Благодарностей получено 
    269
    Поблагодарили
    203 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Так а что именно не понятно?
    Прыжок
    то что там называется Salto
    условия прохождения прыжка.

    не совсем понимаю выделенный сегмент

    Код:
    /* Salto */
        if (jean->salto == 1) {
            if (jean->altura == 0) /* Reproducir sonido de salto */
                Mix_PlayChannel(-1, fx[3], 0);
            if (jean->altura < 56) {
                jean->altura += 1.6;
                if ((jean->colision[0] == 0) && (jean->altura < 44))
                    jean->y -= 1.5;
                jean->animacion = 0;
            }
            else {
                jean->salto = 2;
                jean->colision[0] = 0;
            }
        }
    Последний раз редактировалось jerri; 04.06.2013 в 13:29.
    С уважением,
    Jerri / Red Triangle.

  5. #4
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. #5
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,755
    Спасибо Благодарностей отдано 
    261
    Спасибо Благодарностей получено 
    269
    Поблагодарили
    203 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Blade, я знаю что прыжок в другом месте
    я не понимаю КАК прыжок проходит

    например вот это
    if ((jean->colision[0] == 0) && (jean->altura < 44))
    jean->y -= 1.5;
    jean->animacion = 0;
    по идее если герой стукнулся об потолок и его высота <44 то герой должен падать?
    а он не падает - он движется по горизонтали.
    С уважением,
    Jerri / Red Triangle.

  7. #6
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не совсем. Я так понимаю jean->altura это высота прыжка. Пока она меньше 56 герой находится в состоянии прыжка (salto=1). Изменение координаты y происходит если есть куда прыгать (colision[0]==0) и высота прыжка меньше 44. В интервале 44..56 он будет просто висеть в воздухе. Это наверно сделано, чтобы герой не сразу падал, а немного повисел в верхней точке.

  8. #7
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,255
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    82
    Поблагодарили
    35 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #8
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,755
    Спасибо Благодарностей отдано 
    261
    Спасибо Благодарностей получено 
    269
    Поблагодарили
    203 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Данный код надо давать на разбор тем, кто утверждает, что комментарии и имена переменных на транслите (или родном русском) - это нормально.
    Это если чо испанский для испанцев я думаю нормально

    ---------- Post added at 14:52 ---------- Previous post was at 14:50 ----------

    Цитата Сообщение от Blade Посмотреть сообщение
    Не совсем. Я так понимаю jean->altura это высота прыжка. Пока она меньше 56 герой находится в состоянии прыжка (salto=1). Изменение координаты y происходит если есть куда прыгать (colision[0]==0) и высота прыжка меньше 44. В интервале 44..56 он будет просто висеть в воздухе. Это наверно сделано, чтобы герой не сразу падал, а немного повисел в верхней точке.
    сложноватый прыжок :-/

    jean -> altura что вообще означает этот символ?
    С уважением,
    Jerri / Red Triangle.

  10. #9
    Master
    Регистрация
    04.07.2012
    Адрес
    г. Москва
    Сообщений
    552
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    39 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Данный код надо давать на разбор тем, кто утверждает, что комментарии и имена переменных на транслите (или родном русском) - это нормально.
    Иногда лучше пусть будут на родном языке, чем на языке тех, кто думает, что знает английский. А вот транслит - это зло, да.

    ---------- Post added at 14:59 ---------- Previous post was at 14:58 ----------

    jean -> altura что вообще означает этот символ?
    Доступ к полю, если переменная типа стуктура является указателем.
    Последний раз редактировалось haywire; 04.06.2013 в 15:02.

  11. #10
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,115
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    655
    Поблагодарили
    402 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    jean->altura это просто аккумулятор "силы" прыжка,
    jean->y -- вертикальное положение.

    jean->salto: 0, ничего, 1 - взлет, 2 - падение

    В этом коде только первая фаза прыжка, salto == 1. Когда altura накапливается до 56, salto становится равным двум и jean переходит в состояние падения. Во всех фазах, кроме salto == 1, на jean->y действует gravedad (гравитация) -- это не в этом фрагменте кода, ниже.

    jean->altura используется для подсчета высоты прыжка. Сначала она растет вместе с изменением координаты jean->y. Начиная с jean->altura == 44, altura продолжает накапливаться, но jean->y остается там же, где был, пока не начинается падение.

    Получается, что есть определенный потолок, достигнув которого Жан зависает на одной высоте перед тем, как начать падать.
    Больше игр нет

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Исходник турбо-диск-драйвера ВГ93
    от Dmitry в разделе Программирование
    Ответов: 6
    Последнее: 05.04.2012, 16:17
  2. Нужен драйвер (или исходник) для NemoIDE
    от ALEXEY.GORDEEV в разделе Программирование
    Ответов: 4
    Последнее: 09.11.2008, 21:23
  3. Исходник плеера PT2, модифицированный
    от Barmaley_m в разделе Программирование
    Ответов: 4
    Последнее: 21.09.2007, 16:24
  4. Исходник плеера PT2, модифицированный
    от Barmaley_m в разделе Музыка
    Ответов: 4
    Последнее: 21.09.2007, 16:24
  5. Ищу исходник журнала Spectrofon
    от Vitron в разделе Софт
    Ответов: 7
    Последнее: 18.03.2007, 02:08

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •