Я создаю текстовую приключенческую игру и хотел бы создать некоторые «глобальные» команды & ответы, которые будут работать везде, где бы вы ни находились. Для глобальных ответов, если мы посмотрим на этот код:Visual Basic Console - глобальная команда и строка anwser
Module Module1
Private Property answer1 As String
Private Property answer2 As String
Sub Main()
Console.WriteLine("Welocome to the training grounds!")
Console.WriteLine("What would you like to do? 1. I would like to train on dummies")
answer1 = Console.ReadLine()
Console.WriteLine()
If answer1 = "1" Then
Console.WriteLine("Okay what now?")
answer2 = Console.ReadLine
If anwser2 = "1" Then Console.WriteLine("New option")
End If
End Sub
Теперь, как вы можете видеть, что я должен создать строку для каждого нового пользовательского ввода. Я пробовал делать Public answer As String = Console.ReadLine
, а потом все реагировал на «ответ», но если бы я повторно использовал ключевое слово, например, номер 1 в коде вверху, программа не дождалась ввода пользователя и просто пошла бы по пути номер 1. Первая вариант кажется пупом спагеттих-кода, а вторая опция доза не работает, или я сам не получаю ее, чтобы работать, поэтому любые советы здесь были бы хороши.
Я также хочу знать, можно ли создать глобальную строку или что-то вроде. Скажите, что независимо от того, был ли я в том месте, где я должен был дать ответ, чтобы ответить 1 или 2, если я набрал «инвентарь», он откроет еще один подзадачный ресурс. Теперь, если возможно, я хочу сделать это без, имея if answer = inventory then Inventory()
.
Спасибо заранее всем ^^
Следуя советы, отведенных мой по b.pell я был в состоянии создать «GameCommand» к югу, но я не столкнулся с проблемой, как реализовать это в игру самостоятельно/сделать их доступными без разрушения игрового потока. Я тоже не совсем уверен, как написать команду, которая будет изменять что-то в GameCommand.vb (скажем, если игрок получает предмет, как бы я добавить его в инвентарный список?)
Module Module1
Sub Main()
Dim gc As New GameCommand
If Console.ReadLine = "Go to dummy" Then Dummy() Else
CallByName(gc, Console.ReadLine, CallType.Method, "")
End Sub
Sub Dummy()
Console.WriteLine("I am dummy hear me roar")
Return
End Sub
End Module
GameCommand.vb файл такая же, как в комментарии p.bells.
Обновлено командой VB для динамического вызова метода в классе. Это делает весь тяжелый подъем. –
Эй вы могли бы предоставить мне пример кода, пожалуйста? Я не уверен, что я полностью понял все. EDIT: Woah пропустил это редактирование, дайте мне секунду! –
Спасибо за пример. Я довольно новичок, когда дело доходит до программирования чего-либо, поэтому примеры действительно помогают тонну :) –