2015-10-16 3 views
1

Мне нужна помощь в преобразовании этой строки php в vba Мне не нужно проверять $ pre, мне просто нужно вычислить изменения любых переменных в этой строке (например: $ dx + = $ ay ..)Перевод php на vba

$pre = $dy % 2 && ($dx += $ay %2 ? 0.5 : -0.5);

поэтому в основном это моя попытка:

If (dy Mod 2) Then 
    If ((dx + ay) Mod 2) Then 
     dx = dx - 0.5 
    Else 
     dx = dx + 0.5 
    End If 
End If 

Я провел несколько тестов, и я не получаю те же результаты с этим УВОЙ

+0

Во втором состоянии I, вероятно, вам не нужно подвести итог, я буду ах + ау. Это должно быть просто ay – Vova

+0

Да, вы правы, спасибо :) - хотя я действительно не понимаю, что происходит - почему он указывает $ dx + = $ ay? вы, возможно, не можете сказать мне больше, но он переопределяет значение dx на сумму dx и ay вправо? – kitty

+0

'a? x: y' часть означает, что если a истинно, используется x, иначе y. dx + = .. является присваиванием a краткой формой dx = dx + .. – Philipp

ответ

1

Я думаю, что это должно быть:

If (dy Mod 2) Then 
    If (ay Mod 2) Then 
     dx = dx + 0.5 
    Else 
     dx = dx - 0.5 
    End If 
End If 
1

Похоже, что ваше второе условие неверно. Код PHP говорит $ay %2, но ваш пишущий dx+ay % 2

If (dy Mod 2) Then 
    If (ay Mod 2) Then 
     dx = dx + 0.5 
    Else 
     dx = dx - 0.5 
    End If 
End If 
+0

большое вам спасибо :) он работает с кодом вашего/eugenjoy – kitty