2017-01-12 2 views
-2

Итак, как часть моей работы в колледже, я работал над игрой и игрой в программу всплеска с функциональной боевой системой. Это делается в Visual Studio, однако у меня проблема.Ошибки кодирования VB.Net

Всякий раз, когда вы установите, чтобы участвовать в бою, я дал эту ошибку: http://prntscr.com/duswke

Вот код, который приводит к ошибке:

Console.WriteLine("You have arrived at the " & Place(randomNum) & " aboard your ship") 
    System.Threading.Thread.Sleep(1000) 
    Console.WriteLine("You look around to check for hostiles...") 
    System.Threading.Thread.Sleep(5000) 

    Enemy(1) = "An enemy runs towards you and engages with you in combat!" 
    Enemy(2) = "You see nothing around you but stars, It's all clear" 

    Randomize() 
    randomNum2 = Int(Int((2 * Rnd()) + 1)) 

    Console.WriteLine("" & Enemy(randomNum2) & "") 

    If Enemy(1) Then 
     System.Threading.Thread.Sleep(5000) 
     Console.Clear() 
     Call Sub() Combat() 
    ElseIf Enemy(2) Then 
     Console.Clear() 
     Console.WriteLine("You have found some treasure deep within the " & Place(randomNum) & " ") 
     System.Threading.Thread.Sleep(2000) 
     Console.WriteLine("Continue Adventuring?") 

    Console.Clear() 
     Call Sub() Combat() 
    End If 

В принципе, Что должно случиться он должен очистить консоль и открыть меню боя (Console.WriteLine() Console.WriteLine («1 - Attack») Console.WriteLine() Console.WriteLine («2 - Inventory») Console.WriteLine () Console.WriteLine («3 - Run») Console.WriteLine()) , и после того, как это открыто, используя chrMenu Char, вы должны быть в состоянии выбрать и выполнить и вариант, однако он останавливается на «If Enemy (1)), которого он не должен. Любая помощь приветствуется.

+0

Что вы ожидали от того, что произойдет в 'If Enemy (1) Then'? – Jonesopolis

+3

Это VB.NET или что-то в этом роде? Это определенно не похоже на C# –

+1

Это помогает, если вы знаете, для чего вы кодируете. Это определенно не C#. Это VB.NET. Подумайте, что было бы разумнее узнать немного больше и сделать небольшие куски. – Bugs

ответ

2

Вы не можете сделать это:

If Enemy(1) Then 

, потому что элемент в положении 1:

Enemy(1) = "An enemy runs towards you and engages with you in combat!" 

То есть строка. Условие в выражении if должно производить значение True или False.

Так что, возможно, вы хотите проверить, соответствует ли значение чему-то, а затем что-то делать. Вот так:

If Enemy(1) = "Something you want to compare it to" Then 
    ' Do Something here 
End If 
+0

Думаю, он собирался написать If (randomnum2 = 1). , , – peterG

+0

Я понятия не имею peterG, но он/она явно нуждается в помощи с ветвями, и поэтому я попытался упомянуть об этом в своем ответе. Но я, может быть;) – CodingYoshi

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