2015-06-09 3 views
1

Я делаю множитель EXP для игры, поэтому, когда я набираю количество, я буду отмечать определенный множитель, и он будет умножать мой EXP, чтобы отобразить, сколько EXP i заработает.VB.Net: показывать общее количество, когда флажки отмечены

Я хочу знать, как включить оператор, если я поставлю флажок, чтобы оператор был включен, иначе он ничего не повлияет.

AIM: Я хочу, чтобы я ввел ключ i, который является exp, умножить на 2, если установлен флажок системы. В котором system = checkbox1 и общее значение exp умножается на 1,5x, если установлен флажок «hs = checkbox4». И если оба проверены, общий exp будет умножаться на 2x1.5 = 3. Иначе, это всего лишь 2x или 1.5x. Но я не знаю, как это сделать.

Например (я не знаю, как писать, но это что-то вокруг точки я хочу)

system = exp * 2 
    hs = exp * (50/100) 


    If CheckBox1.CheckState = CheckState.Checked Then 
     totalexp INCLUDES multiplier system 
    ElseIf CheckBox1.CheckState = CheckState.Unchecked Then 
     totalexp is not affected by multiplier system 
    End If 
    If CheckBox4.CheckState = CheckState.Checked Then 
     totalexp INCLUDES multiplier hs 
    ElseIf CheckBox4.CheckState = CheckState.Unchecked Then 
     totalexp INCLUDES multiplier hs 
    End If 

    totalexp = hs * system 

Пожалуйста, помогите!

+0

Если я верно понял ваш вопрос, вы хотели для умножения ввода с определенной скоростью, если установлен определенный флажок и отображать его, правильно? – MAC

+0

да! это правильно, и если флажок не установлен, это ничего не повлияет. – pleasega

+0

, пожалуйста, проверьте мой ответ и сообщите мне, если он сработает. – MAC

ответ

0

Предоставление у вас есть TextBox1 как ваши exp входных и два флажков, которые CheckBox1 и CheckBox4 для system и hs соответственно и кнопки для обработки ввода, то вы можете иметь этот код, приведенный ниже.

Public Class Form1 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim exp As Double 
    If IsNumeric(TextBox1.Text) Then 
     exp = CDbl(TextBox1.Text) 
    Else 
     MsgBox("Please input a number.") 
    End If 
    If CheckBox1.Checked = True Then 
     exp = exp * 2 
    End If 
    If CheckBox4.Checked = True Then 
     exp = exp * 1.5 
    End If 
    If exp <> 0 Then 
     MsgBox(exp) 
    End If 
End Sub 
End Class 

Если оба флажок проверены, то ваш вход (exp) будет умножен на 2 и 1,5.

Если ни один из флажков не установлен, отображаемое сообщение будет равно нулю. Если вы хотите, чтобы ни одно сообщение не будет отображаться, как только там будет никакого флажок не установлен, то вы можете добавить сразу после последнего End If кода

изменений MsgBox(exp) в

If exp<> 0 Then 
    MsgBox(exp) 
End If 
+0

Я пробовал, но когда оба флажка отмечены, я хочу, чтобы входные данные exp умножались на оба, что равно 2 x 1,5 = 3, но здесь не работает – pleasega

+0

да, теперь это работает, но могу ли я спросить, добавлю ли я больше множители будут работать? – pleasega

+0

да будет. просто следуйте концепции приведенных выше кодов. кстати, примите мой ответ, если это поможет. – MAC

Смежные вопросы