Paso 5:
Deja comienzo con información dinámica simple, el tiempo y el día.
En primer lugar, comentar o quitar la línea...
Respond(s);desde el si declaración en su función de loop. Comentar que sólo lo preceden con "/ /", esta...
//Respond(s);No queremos hacer un loro, sino más bien un árbol que parece un poco más inteligente.
Agregue las líneas que están confiadas a la función de bucle.
void draw() {}
Si (voce. SpeechInterface.getRecognizerQueueSize() > 0) {//if voce reconoce nada se dice
String s = voce. SpeechInterface.popRecognizedString(); Asigne la cadena que voce oído a la variable s
println ("usted ha dicho:" + s); imprimir lo que se escuchó en la ventana depuración.
Respond(s);
si (s.equals ("árbol de qué hora es")) {}
getTime();
}
Si (s.equals ("árbol de qué día es")) {}
whatDay();
}
}
}
Lo que esto hace es comprobar si la cadena contenida en s es igual a nuestras cadenas de comparación, y si es así, entonces se realiza una llamada a una función llamada getTime() o whatDay().
Desplácese hacia abajo hasta la parte inferior de su bosquejo y añadir la siguiente función getTime(), que consigue el tiempo, asignar a una variable String y luego enviarlo a nuestra función respond().
/ / Función para obtener el tiempogetTime() vacío {}
int m = minute(); Valores de 0 - 59
int h = hour(); Valores de 0 - 23
dn boolean = false;
Cadena de tiempo;
Cadena daynight = "Ay em"; La mañana se lee como una sola palabra con respecto a nuestra función de animación para que engañar aquí.
if(h>12) {}
DN = true;
h = h - 12;
DayNight = "pee em"; H se lee como una sola palabra con respecto a nuestra función de animación para que engañar aquí.
}
{if(h==0)}
h = 12;
}
if(m<10) {//if minutos son menos de diez, procesarlo para que suene natural, no decimos 5 cero 13:00
{if(m==0)}
tiempo = "Ahora es" + h + daynight; Si minutos están cero solo decir 17:00
}
Else {}
tiempo = "Ahora es" + h + "! Oh "+ m + daynight; Else permite decir oh en lugar de cero
println(Time);
}
}
else {//if minutos son más de diez sólo decirlas normal
tiempo = "ahora es" + h + "." + m + daynight;
println(Time);
}
mensaje = tiempo;
Respond(Message);
}
Y ahora permite agrega código a preguntar qué día es así.
Primero añadiremos una línea a la sección de declaraciones de nuestro dibujo. Recuerde que es el código antes de la función de configuración, en la parte superior del bosquejo.
calendario de //gregorian de para determinar el díaGregorianCalendar gcal = new GregorianCalendar();
Agregue la siguiente función en el fondo del boceto.
//get el día de la semanavoid whatDay() {}
semana de int = gcal.getActualMaximum(Calendar.DAY_OF_WEEK);
println ("día de la semana:" + a la semana);
int = primero gcal.getFirstDayOfWeek();
{Switch(First)}
caso 1:
println("Sunday");
Respond("Sunday");
rotura;
caso 2:
println("Monday");
Respond("Monday");
rotura;
caso 3:
println("Tuesday");
Respond("Tuesday");
rotura;
caso 4:
println("Wednesday");
Respond("Wednesday");
rotura;
caso 5:
println("Thrusday");
Respond("Thursday");
rotura;
caso 6:
println("Friday");
Respond("Friday");
rotura;
caso 7:
println("Saturday");
Respond("Saturday");
rotura;
}
}
Guardar el archivo y trate de ejecutarlo. Podrá solicitar su árbol el tiempo y qué día es si usted sigue la estructura correcta y habla claramente.
Usted necesita decir cualquiera de las cadenas de comparación ponemos en nuestro código, como "árbol, qué hora es?".
Es completamente aceptable para hablar de su puntuación, el programa es indiferente a él.