2017-05-14 7 views
-1

Ich habe eine KI mit Lua programmiert, mit der du in meiner eigenen logischen Sprache kommunizierst. Ich bin über ein Problem gestolpert und ich kann das nicht herausfinden.Was mache ich falsch mit meiner KI?

Ich versuche, y/n Fragen in. Ich sagte ziemlich viel: mi = David la; (setzt variabel auf David. la; ist Interpunktion) la mi = David dor la; (Ist 'mi' gleich 'David'?)

Als ich das eintippte, sagte 'ROBO-DUDE' nichts.

if v == "lol" then 
    local yes = true 
    for _,v in pairs(mode[2]) do 
    if v == false then 
     print(v) 
     yes = false 
    end 
    print(yes) 
    end 
    print(yes) 
    if yes == true then 
    things = things .. "jar; " 
    else 
    things = things .. "awa; " 
    end 
end 

Dieser Codeblock befindet sich in einer Schleife für die Anweisung 'la'. 'dor' bedeutet, ja/nein zu antworten, der lexer ändert es zu 'lol'.

Als ich es getestet habe, schien der Code den dor/lol-Teil der Schleife zu überspringen. Ich ging zum Lexer.

if v == "dor" then 
    sentence[#sentence+1] = "lol" 
end 

Ich habe keine Ahnung, was hier schief gelaufen ist. Ich möchte jemandes Hilfe zu diesem Problem.

Antwort

0

Vergesst nicht. Ich habe das Problem gefunden. Wenn ich eine for-Schleife verwendete, benutzte ich die Variable 'v' für die Haupt-Parser-Schleife und diejenige, die durch eine andere Tabelle/Array durchschlug. Ich glaube, das Ändern der Variablen (jeder von ihnen) wird mein Problem beheben.