Показать сообщение отдельно
  #8 (permalink)  
Старый 16.06.2011, 11:07
Новичок на форуме
Отправить личное сообщение для Areso Посмотреть профиль Найти все сообщения от Areso
 
Регистрация: 14.06.2011
Сообщений: 5

Чего-то недопонимаю в логике конструкций.
Это же не while loop.
Здесь четко указано от какого значения и до какого...
Рабочие значения для этого цикла:
levelenchant = от 0 до 20, но как правило больше 4 и до 20 (из усл. выше). По умолчанию 4
safetyenchant = как правило, значение ровно 3.
Теперь, я инициирую цикл от 1 до (4-3) с приращением +1. Должен выполнится 1 раз.
Причем здесь условия?

Вот код этой же программы, написанной на VB6 (рабочий)

Код:
If levelenchant >= 0 And levelenchant <= 20 Then
    If chanceenchant >= 1 And chanceenchant <= 100 Then
        If levelenchant > safetyenchant Then
            For i = 1 To (levelenchant - safetyenchant)
            sum = sum + (1 - (chanceenchant / 100) ^ i) * priceitem
            Next i
        End If
        sumpriceitem = priceitem + priceenchant * levelenchant + sum
        Text6.Text = Str(sumpriceitem)
    Else
        a = MsgBox("Chance is incorrect" + Chr(13) + "Reenter chance of successful enchant, from 1 to 100", vbInformation + vbOKOnly, "Error:")
    End If
Else
    a = MsgBox("Enchant level is incorrect" + Chr(13) + "Reenter enchant level, from 0 to 20", vbInformation + vbOKOnly, "Error:")
End If
End Sub

Последний раз редактировалось Areso, 16.06.2011 в 11:22.
Ответить с цитированием