summaryrefslogtreecommitdiff
path: root/examples/speech/pt-identify.lali
diff options
context:
space:
mode:
Diffstat (limited to 'examples/speech/pt-identify.lali')
-rwxr-xr-xexamples/speech/pt-identify.lali47
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/speech/pt-identify.lali b/examples/speech/pt-identify.lali
new file mode 100755
index 0000000..aac6416
--- /dev/null
+++ b/examples/speech/pt-identify.lali
@@ -0,0 +1,47 @@
+(set '_ '_)
+
+(set 'question '((+8 "sim todo" +3)
+ (+7 "sim muito" +2)
+ (+6 "todo" +1)
+ (+5 "muito" +0)
+ (+4 "algo" _)
+ (+3 "pouco" -0)
+ (+2 "nao (outro)" -1)
+ (+1 "nao (outro) pouco" -2)
+ (+0 "nada" -3)))
+
+(defun assoc (number lst)
+ (fill
+ ((dif number (car (car lst))) (car lst))
+ ((ap lst) f)
+ (f (assoc number (cdr lst)))))
+
+(defun train-ups-and-downs ()
+ (random +8))
+
+(defun train-ups ()
+ (+ +4 (random +4)))
+
+(defun train-downs ()
+ (random +4))
+
+(defun train-middle ()
+ (+ +2 (random +4)))
+
+(defun main ()
+ (progs
+ f
+ (set 'target-question (train-ups-and-downs))
+ (set 'it-quest (assoc target-question question))
+ (princ (car (cdr it-quest)))
+ (princ "\b?")
+ (not (dif (read) (car (cdr (cdr it-quest)))))))
+
+(defun loop ()
+ (fill
+ ((main) (prog
+ (princ ">> errado")
+ (newline)))
+ (f (loop))))
+
+(loop)