如果有 int 输入,则更改变量

问题描述

我的目标是,如果我输入“points”,它会显示变量的内容,但如果我在它后面添加一个 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 = ''

解决方法

您可以获取输入文本并使用 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 进行转换。