
es sollte also locker gehen, den code zu kompilieren (auch wenn er eingerückt ist)
aber es kommt höchstwarscheinlich gar nicht auf die zeilen an (gibt ja schon genug topics)
Code: Alles auswählen
For i = 0 To num-1
Wort$(i) = StringField(text$, i + 1, " ")
;Wort für Wort analysieren und Synonyme vereinheitlichen
If FindString (Wort$(i),"nehm",1) : Wort$(i)="nimm"
ElseIf Wort$(i)="schwert"Or Wort$(i)="messer"Or Wort$(i)="saebel"Or Wort$(i)="degen"Or Wort$(i)="stichwaffe"Or Wort$(i)="dolch" : Wort$(i)="messer"
ElseIf Wort$(i)="gehen"Or Wort$(i)="gehe"Or Wort$(i)="ging"Or Wort$(i)="laufe"Or Wort$(i)="wandern"Or Wort$(i)="schreite"Or Wort$(i)="schleichen" : Wort$(i)="gehen"
ElseIf FindString (Wort$(i),"nord",1)Or FindString (Wort$(i),"sued",1)Or FindString (Wort$(i),"west",1)Or FindString (Wort$(i),"ost",1) : Wort$(i)="Richtung"
ElseIf FindString (Wort$(i),"movie",1)Or FindString (Wort$(i),"streifen",1) : Wort$(i)="film"
ElseIf FindString (Wort$(i),"gucken",1)Or FindString (Wort$(i),"schauen",1): Wort$(i)="sehen"
EndIf
Ausgabe$ = Ausgabe$ + Wort$(i) + " " : Debug (Ausgabe$)
Next
Code: Alles auswählen
OpenConsole()
PrintN( "HALLO")
PrintN( "BEENDEN KANNST DU DIES PROGRAMM MIT - quit" )
PrintN ( "Wie geht es Dir - USER ?" )
Global Ausgabe$
Procedure String(text$)
If FindString(Ausgabe$, text$, 1)
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
Repeat
PrintN("")
ConsoleColor(13,0)
text$ = LCase(Trim(Input())) : PrintN("")
If text$ = ("quit") : End
EndIf
text$=RemoveString (RemoveString (RemoveString (RemoveString (RemoveString (RemoveString (text$,","),"."),";"),":"),"!"),"?")
num = CountString(text$, " ") + 1
Dim Wort$(num)
For I = 0 To num-1
Wort$(I) = StringField(text$, I + 1, " ")
If FindString (Wort$(I),"nehm",1) : Wort$(I)="nimm"
ElseIf Wort$(I)="schwert"Or Wort$(I)="messer"Or Wort$(I)="saebel"Or Wort$(I)="degen"Or Wort$(I)="stichwaffe"Or Wort$(I)="dolch" : Wort$(I)="messer"
ElseIf Wort$(I)="gehen"Or Wort$(I)="gehe"Or Wort$(I)="ging"Or Wort$(I)="laufe"Or Wort$(I)="wandern"Or Wort$(I)="schreite"Or Wort$(I)="schleichen" : Wort$(I)="gehen"
ElseIf FindString (Wort$(I),"nord",1)Or FindString (Wort$(I),"sued",1)Or FindString (Wort$(I),"west",1)Or FindString (Wort$(I),"ost",1) : Wort$(I)="Richtung"
ElseIf FindString (Wort$(I),"movie",1)Or FindString (Wort$(I),"streifen",1) : Wort$(I)="film"
ElseIf FindString (Wort$(I),"gucken",1)Or FindString (Wort$(I),"schauen",1): Wort$(I)="sehen"
EndIf
Ausgabe$ = Ausgabe$ + Wort$(I) + " " : Debug (Ausgabe$)
Next
ConsoleColor(14,0) : PrintN("")
If String ("mir")And String ("geht")And String ("gut") : PrintN ( "Das freut mich zu hoeren, das es Dir gut geht USER.")
ElseIf String ("bist")And String ("du") And String ("da") : PrintN ( "Ja, wo soll ich denn sonst sein." )
ElseIf String ("film")And String ("sehen") : PrintN ( "Was willst Du denn fuer einen Film sehen ?" )
ElseIf String ("geht")And String ("dir") : PrintN ( "Danke der Nachfrage - USER." )
ElseIf String ("fuehle")And String ("wohl") : PrintN ( "Ich bin erfreut, dass Du dich wohl fuehlst." )
ElseIf String ("geht")And String ("gut") : PrintN ( "Ich bin erfreut das es Dir gut geht." )
ElseIf String ("geht")And String ("so") : PrintN ( "Vieleicht geht es Dir besser, wenn Du Dir einen Spielfilm ansiehst." )
ElseIf String ("nachfrage") : PrintN ("Es freut mich, dass es Dir gut geht.")
ElseIf String ("gut") : PrintN ("Schoen zu hoeren, das es Dir gut geht.")
Else : ConsoleColor (15,0) : PrintN ( "Das Thema lautet FILM, deswegen habe ich Deine Eingabe nicht verstanden - USER." )
EndIf
Ausgabe$ = ""
ForEver
CloseConsole()
Code: Alles auswählen
OpenConsole()
;Hallo, sagt das Programm
PrintN( "HALLO" )
PrintN( "BEENDEN KANNST DU DIES PROGRAMM MIT - quit" )
PrintN ( "Wie geht es Dir - USER ?" )
;Globaliere String$
Global Ausgabe$
Procedure String(text$)
If FindString(Ausgabe$, text$, 1)
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
;Beginn der Endlos - Schleife
Repeat
PrintN("")
ConsoleColor(13,0)
;Texteingabe
text$ = Input() : PrintN("")
;Entfernt Space von Beginn & Ende des Strings
text$ = Trim(text$)
;Konvertiert alle Grossbuchstaben in Kleinbuchstaben
text$ = LCase(text$)
If text$ = ("quit") : Break : EndIf
;Satzzeichen , . ; : ! ? werden ermittelt und entfernt
text$ = RemoveString (text$,",")
text$ = RemoveString (text$,".")
text$ = RemoveString (text$,";")
text$ = RemoveString (text$,":")
text$ = RemoveString (text$,"!")
text$ = RemoveString (text$,"?")
AnzahlReplacements=5
Dim Replacements$(AnzahlReplacements)
Replacements$(0)="nehm;nimm"
Replacements$(1)="schwert;messer;saebel;degen;stichwaffe;dolch;messer"
Replacements$(2)="gehen;gehe;ging;laufe;wandern;schreite;schleichen;gehen"
Replacements$(3)="nord;sued;west;ost;Richtung"
Replacements$(4)="movie;streifen;film"
Replacements$(5)="gucken;schauen;sehen"
Ausgabe$ = ""
;String wird in einzelne Woerter geteilt
num = CountString(text$, " ") + 1
Dim Wort$(num) ; num viele elemente (0 bis num-1)
For I = 0 To num-1
;Wort für Wort analysieren und Synonyme vereinheitlichen
Wort$(I) = StringField(text$, I + 1, " ")
For r_Counter = 0 To AnzahlReplacements
If Replacements$(r_Counter) <> ""
For w_Counter = 1 To CountString(Replacements$(r_Counter), ";")
If Wort$(I) = StringField(Replacements$(r_Counter), w_Counter, ";")
Wort$(I) = StringField(Replacements$(r_Counter), CountString(Replacements$(r_Counter), ";")+1, ";")
EndIf
Next
EndIf
Next
Ausgabe$ + Wort$(I) + " "
Next
Debug Ausgabe$
ConsoleColor(14,0) : PrintN("")
;Ausgabe der Antwort, anhand von Schlüsselwörtern - 3 WÖRTER
If String ("mir")And String ("geht")And String ("gut") : PrintN ( "Das freut mich zu hoeren, das es Dir gut geht USER.")
ElseIf String ("bist")And String ("du") And String ("da") : PrintN ( "Ja, wo soll ich denn sonst sein." )
;Ausgabe der Antwort anahnd von Schlüsselwörtern - 2 WÖRTER
ElseIf String ("film")And String ("sehen") : PrintN ( "Was willst Du denn fuer einen Film sehen ?" )
ElseIf String ("geht")And String ("dir") : PrintN ( "Danke der Nachfrage - USER." )
ElseIf String ("fuehle")And String ("wohl") : PrintN ( "Ich bin erfreut, dass Du dich wohl fuehlst." )
ElseIf String ("geht")And String ("gut") : PrintN ( "Ich bin erfreut das es Dir gut geht." )
ElseIf String ("geht")And String ("so") : PrintN ( "Vieleicht geht es Dir besser, wenn Du Dir einen Spielfilm ansiehst." )
;Ausgabe der Antwort, anhand von Schlüsselwörtern - 1 WORT
ElseIf String ("nachfrage") : PrintN ("Es freut mich, dass es Dir gut geht.")
ElseIf String ("gut") : PrintN ("Schoen zu hoeren, das es Dir gut geht.")
Else : ConsoleColor (15,0) : PrintN ( "Das Thema lautet FILM, deswegen habe ich Deine Eingabe nicht verstanden - USER." )
EndIf
ForEver
CloseConsole()