El cursor en la consola parece lento

He estado escribiendo un videojuego basado en texto en Java (soy nuevo en Java, por cierto), y no tiene el rendimiento que esperaba, específicamente el habla. Quiero que el texto aparezca como si la persona estuviera hablando (no quiero que aparezca de una vez, solo carácter por carácter). He logrado el efecto con este código:

void speak(String speak){
    for(int x = 0; x < speak.length(); x++){
        System.out.print(speak.charAt(x));
        pause(talkSpeed);
    }
}

talkSpeed ​​es la velocidad de conversación del objeto. pausa es una función que hice para hacer que Thread.sleep sea más fácil. Demasiado perezoso para escribir, intenta atraparlo todo el tiempo. Mi único problema con este código es que no se imprime en la consola sin problemas. Parece desigual, como si estuviera un poco retrasado. Parece que imprime mundo por palabra y no letra por letra. No entiendo por qué, es un código bastante simple. Tal vez sea una pausa, y debería usar Thread.sleep. Además, me pregunto cómo puedo hacer que el cursor siga el texto.

¿O debería reescribir esto en c ++ para obtener ese aumento de rendimiento? Sé aproximadamente la misma cantidad de C ++

void pause(double time){
    long y = (long) (1000 * time);
    try {
        Thread.sleep(y);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

alguien le pidió el código a la función de pausa, así que aquí está

Respuesta 1

No se puede establecer la matriz dentro de JSONObject de acuerdo con la respuesta. A continuación se muestra mi código en el que no puedo configurar la matriz en jsonobject. Cómo enviar un valor clave para la matriz dentro de mi jsonobject para el que compartió ...

Tengo un panel 9x9, que es panel1 [] [] cada panel tiene un JLabel, así que label1 [] [] y agrego cada etiqueta al panel en el bucle for: for (int y = 0; y <9; y ++) {para (int x = 0; x <9; x ++) {...

Estoy enfrentando un problema con el controlador jdbc de SAS que no había visto antes, y me preguntaba cuál sería el comportamiento correcto de JDBC. Supongamos que tengo algunos ResultSetMetaData: metadata.getColumnName (index) -> ...

Implementación de pila. ¿Cómo podemos crear un archivo tipo "Nodo" en una clase de Nodo? ¿Cómo puede la variable "primero" del tipo "Nodo" contener un archivo de tipo "Nodo"? Gracias por la ayuda de la clase pública Pila {Nodo privado ...