XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Oxygen D
Вернулся
offline
Опыт: 5,180
Активность:
Ошибки в коде
Здравствуйте! Найдите пожалуйста ошибки в коде, а то при проверке не запускается.
fucntion SaveIntegerType takes integer u, integer id return nothing
local integer c = 0
local integer v = 0
local string conform = I2S(u)
local integer le = StringLength(conform)
local string endcode = ""
local integer rancode = 0
set c=1
loop
exitwhen c >le
     set v= 1
loop
          exitwhen v > 10
          if  SubString(conform, c, c+1) == udg_C_Symbol[v] then
          set rancode = GetRandomInt(1, 2)
          if rancode == 1 then
          set rancode = v
else
          set rancode == v+10
endif
          set endcode = endcode + udg_C_Alphabet[rancode]
endif
          set v= v+1
endloop
          set c = c+2
endloop
          if udg_C_Integer[id] == "" then
          set udg_C_Integer[id] = udg_C_Integer[id] + endcode
else
          set udg_C_Integer[id] = udg_C_Integer[id] + "-" + endcode
endif
endfunction

function SaveStringType takes string u, integer id return nothing
local integer c = 0
local integer v = 0
local integer le = StringLength(u)
local string endcode = ""
local integer rancode = 0
set c=1
loop
exitwhen c >le
     set v= 1
loop
          exitwhen v > 10
          if  SubString(u, c, c+1) == udg_C_Symbol[v] then
          set rancode = GetRandomInt(1, 2)
          if rancode == 1 then
          set rancode = v
else
          set rancode == v+10
endif
          set endcode = endcode + udg_C_Alphabet[rancode]
endif
set v= v+1
endloop
          set c = c+2
endloop
          set udg_C_Integer[id] = endcode
          if udg_C_Integer[id] == "" then
          set udg_C_Integer[id] = udg_C_Integer[id] + endcode
else
          set udg_C_Integer[id] = udg_C_Integer[id] + "-" + endcode
endif
endfunction
Заранее спасибо
udg_C_Integer - строка, массив
udg_C_Alphabet - строка, массив
udg_C_Symbol - строка, массив.
Старый 01.07.2011, 14:31
Voldislav
Solitude
offline
Опыт: 1,051
Активность:
Ужасно нечитабельно и в некоторых операциях присвоения "==" вместо "="
» Тык
function SaveIntegerType takes integer u, integer id returns nothing
    local integer c = 0
    local integer v = 0
    local string conform = I2S(u)
    local integer le = StringLength(conform)
    local string endcode = ""
    local integer rancode = 0
    
    set c=1
    
    loop
        exitwhen c >le
        set v= 1
        loop
            exitwhen v > 10
            if(SubString(conform, c, c+1) == udg_C_Symbol[v])then
                set rancode = GetRandomInt(1, 2)
                if(rancode == 1)then
                    set rancode = v
                else
                    set rancode = v+10
                endif
            set endcode = endcode + udg_C_Alphabet[rancode]
            endif
            set v= v+1
    endloop
        set c = c+2
    endloop
    
    if(udg_C_Integer[id] == "")then
        set udg_C_Integer[id] = udg_C_Integer[id] + endcode
    else
        set udg_C_Integer[id] = udg_C_Integer[id] + "-" + endcode
    endif
endfunction

function SaveStringType takes string u, integer id returns nothing
    local integer c = 0
    local integer v = 0
    local integer le = StringLength(u)
    local string endcode = ""
    local integer rancode = 0
    
    set c=1
    
    loop
        exitwhen c >le
        set v= 1
        loop
            exitwhen v > 10
            if  SubString(u, c, c+1) == udg_C_Symbol[v] then
                set rancode = GetRandomInt(1, 2)
                if rancode == 1 then
                    set rancode = v
                else
                    set rancode = v+10
                endif
                set endcode = endcode + udg_C_Alphabet[rancode]
            endif
            set v= v+1
        endloop
    set c = c+2
    endloop
    
    set udg_C_Integer[id] = endcode
    
    if udg_C_Integer[id] == "" then
        set udg_C_Integer[id] = udg_C_Integer[id] + endcode
    else
        set udg_C_Integer[id] = udg_C_Integer[id] + "-" + endcode
    endif
endfunction
Старый 01.07.2011, 14:46
Doc

offline
Опыт: 63,163
Активность:
у тебя синтаксис вообще проверяет?
Старый 01.07.2011, 14:48
Oxygen D
Вернулся
offline
Опыт: 5,180
Активность:
Doc, в то то и дело, что проверяет только в cJass и vJass а в обычном нет
Старый 01.07.2011, 15:35
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт: 8,237
Активность:
Oxygen_D:
set rancode == v+10
2 = вместо одного
Voldislav:
endcode + udg_C_Alphabet[rancode]
Это не может быть ошибкой?..
вроде, больше ничего подозрительного не нашёл... Ты карту пересохранял? в пути к карте есть русские буквы?
Старый 04.07.2011, 11:11
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 01:31.