Измените переменную, если есть ввод int

Моя цель: если я наберу очки, он покажет мне содержимое переменной, но если я добавлю после него int, это изменит значение переменной.

Вот что у меня сейчас:

func add_message(text):
    chatLog.bbcode_text += '\n'
    chatLog.bbcode_text += text

func text_entered(text):
    if text == "points":
        chatLog.bbcode_text = ''
        add_message("Current value of [color=yellow]Points: [/color]" + str("[color=fuchsia]" + str(points) + "[/color]"))
        inputField.text = ''

person SynT    schedule 10.01.2021    source источник


Ответы (1)


Вы можете взять введенный текст и разбить его на слова с помощью split. Затем возьмите их по одному:

func text_entered(text):
    var tokens = text.split(" ");
    var count = tokens.size();
    if count == 0:
        # (empty input)
        return; # or whatever

    if count > 0 and tokens[0] == "points":
        if count > 1 and tokens[1].is_valid_integer():
            # points int
            var integer = tokens[1].to_int();
            points = points + integer; # or whatever
        elif count > 1:
            # points invalid_int
            pass; # or whatever
        else:
            # points
            pass; # or whatever
    else:
        pass; # not_points

В приведенном выше коде мы используем is_valid_integer, чтобы проверить, что текущее слово является целым числом, и если да, мы можем преобразовать его с помощью to_int.

person Theraot    schedule 14.01.2021