Setting up fake worker failed: "Cannot read properties of undefined (reading 'WorkerMessageHandler')".

 

TextBox textBox1;
StringList trialSpeedTime;
int backSpaceCounter;
import rita.*;
import processing.serial.*;
Serial myPort; // Create object from Serial class
int val; // Data received from the serial port
String [] colors = {"5,0,10","7,0,20","5,0,25", //purple-blue
"2,1,25","0,10,20","0,20,10", //blue-green
"5,20,5","15,15,0","30,15,1"}; //green-yellow
void setup(){
size(1512,982);//1512, 982
background(189,169,209);
textBox1 = new TextBox(526,258,739,506); //500,245,700,478
trialSpeedTime = new StringList();
backSpaceCounter = millis();
String portName = Serial.list()[1];
println(Serial.list());
myPort = new Serial(this, portName, 9600);
PImage img;
img = loadImage("background.png");
image(img, 0, 0, width, height); //*0.95
}
void draw(){
textBox1.draw();
}
class TextBox{
TextBox(int x, int y, int boxWidth, int boxHeight){
this.x = x;
this.y = y;
this.boxWidth = boxWidth;
this.boxHeight = boxHeight;
}
void draw(){
drawBox();
drawText();
checkkeyReleased();
checkKeyPressed();
recordEvent();
}
void drawBox(){
stroke(205);
fill(244,243,236);
rect(x, y, boxWidth, boxHeight);
}
void drawText(){
textAlign(LEFT, TOP);
textSize(16);
fill(0);
PFont font;
font = createFont("Arial", 25);
textFont(font);
text(textValue + getCursor(), x + 5, y+10, boxWidth-15,boxHeight-10);
}
void checkKeyPressed(){
if (keyPressed && c != key && str(c).toUpperCase()!=str(key).toUpperCase()){
keyCounter = millis();
c = key;
if (key == BACKSPACE){
textValue = textValue.substring(0,textValue.length()-1);
backSpace += 1;
println(backSpace);
if (backSpace > 3){ //CHECK IF DELETE IS PRESSED TOO MANY TIMES
println("many delete!");
manyDelete = true;}
else {
manyDelete = false;
}
}
else if ((c >= ' ' && keyCode != 16)){
textValue+=(str(key));
keyTime = keyCounter - previousKeyCounter;
checkKeySpeed();
previousKeyCounter = keyCounter;
keyCounter = 0;}
}
}
void recordEvent(){
backSpaceCounter1 = millis();
if ((backSpaceCounter1 - prev_backSpaceCounter)>5000){
prev_backSpaceCounter = backSpaceCounter1;
print(backSpace,backSpaceCounter1, prev_backSpaceCounter);
//check typed contents
String[] checkText = split(textValue,' ');
for (int i = 0; i <(checkText.length); i++) {
if (checkText[i].length() > 0 && RiTa.isPunct(checkText[i])== false){
println(checkText[i],RiTa.hasWord(checkText[i]),RiTa.hasWord(checkText[i].substring(0,checkText[i].length()-1)));
if ((RiTa.hasWord(checkText[i]) == false)
&& RiTa.hasWord(checkText[i].substring(0,checkText[i].length()-1)) == false){
misSpell+=1;
}
}
}
println(misSpell,checkText.length);
// check misspell
if (checkText.length != 0 && misSpell > checkText.length/2){
println("Too Many MISSPELLING");
manyError = true;}
else {
manyError = false;
}
//initialize
misSpell = 0;
backSpace = 0;
backSpaceCounter1 = 0;
//change Lighting
checkLight();
}
}
void checkkeyReleased(){
if(!keyPressed){
c = 0;
}
}
void checkKeySpeed(){
trialSpeedTime.append(str(keyTime));
println((keyTime),trialSpeedTime);
int size = trialSpeedTime.size(); //check speed each 10 character(seconds/char)
if (size>9){
trialSpeedTime.remove(0);
keyTotalTime = 0;
for (int i = 0; i < 9; i++){
float item = float(trialSpeedTime.get(i));
keyTotalTime += item;
}
keySpeed = keyTotalTime / 10;
println("Speed =" + keySpeed + "s/character");
if (keySpeed > 300){ //CHECK IF SPEED IS FAST
fastSpeed = false;
println("TOO SLOW");}
else
fastSpeed = true;
}
}
void checkLight(){
//NOT A AND (B OR C) --> Y
if ((fastSpeed == false) && (manyError == true | manyDelete == true) && (confuseLevel<9)){
confuseLevel += 1;
//light
println("CONFUSE LEVEL is" + confuseLevel);}
else if(confuseLevel>0){
confuseLevel -= 1;}
myPort.write(colors[confuseLevel]);
println(colors[confuseLevel]);
}
String getCursor() {
return hovering() && (frameCount>>4 & 1) == 0 ? "|" : "";
}
boolean hovering(){
return mouseX >= x && mouseX <= x + boxWidth && mouseY >= y && mouseY <= y + boxHeight;
}
//private String[] lines = loadStrings("IncludedWords.txt");
private int x, y, boxWidth, boxHeight;
private float keyCounter, previousKeyCounter, keyTime,keySpeed, keyTotalTime, backSpace,backSpaceCounter1,prev_backSpaceCounter;
private float misSpell;
private int confuseLevel = 0;
private String textValue = "";
private char c;
private boolean fastSpeed = true, manyDelete = false, manyError = false;
}
TextBox textBox1; StringList trialSpeedTime; int backSpaceCounter; import rita.*; import processing.serial.*; Serial myPort; // Create object from Serial class int val; // Data received from the serial port String [] colors = {"5,0,10","7,0,20","5,0,25", //purple-blue "2,1,25","0,10,20","0,20,10", //blue-green "5,20,5","15,15,0","30,15,1"}; //green-yellow void setup(){ size(1512,982);//1512, 982 background(189,169,209); textBox1 = new TextBox(526,258,739,506); //500,245,700,478 trialSpeedTime = new StringList(); backSpaceCounter = millis(); String portName = Serial.list()[1]; println(Serial.list()); myPort = new Serial(this, portName, 9600); PImage img; img = loadImage("background.png"); image(img, 0, 0, width, height); //*0.95 } void draw(){ textBox1.draw(); } class TextBox{ TextBox(int x, int y, int boxWidth, int boxHeight){ this.x = x; this.y = y; this.boxWidth = boxWidth; this.boxHeight = boxHeight; } void draw(){ drawBox(); drawText(); checkkeyReleased(); checkKeyPressed(); recordEvent(); } void drawBox(){ stroke(205); fill(244,243,236); rect(x, y, boxWidth, boxHeight); } void drawText(){ textAlign(LEFT, TOP); textSize(16); fill(0); PFont font; font = createFont("Arial", 25); textFont(font); text(textValue + getCursor(), x + 5, y+10, boxWidth-15,boxHeight-10); } void checkKeyPressed(){ if (keyPressed && c != key && str(c).toUpperCase()!=str(key).toUpperCase()){ keyCounter = millis(); c = key; if (key == BACKSPACE){ textValue = textValue.substring(0,textValue.length()-1); backSpace += 1; println(backSpace); if (backSpace > 3){ //CHECK IF DELETE IS PRESSED TOO MANY TIMES println("many delete!"); manyDelete = true;} else { manyDelete = false; } } else if ((c >= ' ' && keyCode != 16)){ textValue+=(str(key)); keyTime = keyCounter - previousKeyCounter; checkKeySpeed(); previousKeyCounter = keyCounter; keyCounter = 0;} } } void recordEvent(){ backSpaceCounter1 = millis(); if ((backSpaceCounter1 - prev_backSpaceCounter)>5000){ prev_backSpaceCounter = backSpaceCounter1; print(backSpace,backSpaceCounter1, prev_backSpaceCounter); //check typed contents String[] checkText = split(textValue,' '); for (int i = 0; i <(checkText.length); i++) { if (checkText[i].length() > 0 && RiTa.isPunct(checkText[i])== false){ println(checkText[i],RiTa.hasWord(checkText[i]),RiTa.hasWord(checkText[i].substring(0,checkText[i].length()-1))); if ((RiTa.hasWord(checkText[i]) == false) && RiTa.hasWord(checkText[i].substring(0,checkText[i].length()-1)) == false){ misSpell+=1; } } } println(misSpell,checkText.length); // check misspell if (checkText.length != 0 && misSpell > checkText.length/2){ println("Too Many MISSPELLING"); manyError = true;} else { manyError = false; } //initialize misSpell = 0; backSpace = 0; backSpaceCounter1 = 0; //change Lighting checkLight(); } } void checkkeyReleased(){ if(!keyPressed){ c = 0; } } void checkKeySpeed(){ trialSpeedTime.append(str(keyTime)); println((keyTime),trialSpeedTime); int size = trialSpeedTime.size(); //check speed each 10 character(seconds/char) if (size>9){ trialSpeedTime.remove(0); keyTotalTime = 0; for (int i = 0; i < 9; i++){ float item = float(trialSpeedTime.get(i)); keyTotalTime += item; } keySpeed = keyTotalTime / 10; println("Speed =" + keySpeed + "s/character"); if (keySpeed > 300){ //CHECK IF SPEED IS FAST fastSpeed = false; println("TOO SLOW");} else fastSpeed = true; } } void checkLight(){ //NOT A AND (B OR C) --> Y if ((fastSpeed == false) && (manyError == true | manyDelete == true) && (confuseLevel<9)){ confuseLevel += 1; //light println("CONFUSE LEVEL is" + confuseLevel);} else if(confuseLevel>0){ confuseLevel -= 1;} myPort.write(colors[confuseLevel]); println(colors[confuseLevel]); } String getCursor() { return hovering() && (frameCount>>4 & 1) == 0 ? "|" : ""; } boolean hovering(){ return mouseX >= x && mouseX <= x + boxWidth && mouseY >= y && mouseY <= y + boxHeight; } //private String[] lines = loadStrings("IncludedWords.txt"); private int x, y, boxWidth, boxHeight; private float keyCounter, previousKeyCounter, keyTime,keySpeed, keyTotalTime, backSpace,backSpaceCounter1,prev_backSpaceCounter; private float misSpell; private int confuseLevel = 0; private String textValue = ""; private char c; private boolean fastSpeed = true, manyDelete = false, manyError = false; }
TextBox textBox1;
StringList trialSpeedTime;
int backSpaceCounter;

import rita.*;

import processing.serial.*;

Serial myPort;  // Create object from Serial class
int val;        // Data received from the serial port

String [] colors = {"5,0,10","7,0,20","5,0,25", //purple-blue
            "2,1,25","0,10,20","0,20,10", //blue-green
          "5,20,5","15,15,0","30,15,1"}; //green-yellow

void setup(){
    size(1512,982);//1512, 982
    background(189,169,209);
    textBox1 = new TextBox(526,258,739,506); //500,245,700,478
    trialSpeedTime = new StringList();
    backSpaceCounter = millis();
    String portName = Serial.list()[1];
    println(Serial.list());
    myPort = new Serial(this, portName, 9600);
    PImage img;
    img = loadImage("background.png");
    image(img, 0, 0, width, height); //*0.95
}

void draw(){
    textBox1.draw();
}

class TextBox{
    TextBox(int x, int y, int boxWidth, int boxHeight){
        this.x = x;
        this.y = y;
        this.boxWidth = boxWidth;
        this.boxHeight = boxHeight;
    }


    void draw(){
        drawBox();
        drawText();
        checkkeyReleased();
        checkKeyPressed();
        recordEvent();
      }

      void drawBox(){
        stroke(205);
        fill(244,243,236);
        rect(x, y, boxWidth, boxHeight);
    }

    void drawText(){
        textAlign(LEFT, TOP);
        textSize(16);
        fill(0);
        PFont font;
        font = createFont("Arial", 25);
        textFont(font);
        text(textValue + getCursor(), x + 5, y+10, boxWidth-15,boxHeight-10);
    }
   
   void checkKeyPressed(){
     if (keyPressed && c != key && str(c).toUpperCase()!=str(key).toUpperCase()){
            keyCounter = millis();
            c = key;
            if (key == BACKSPACE){
            textValue = textValue.substring(0,textValue.length()-1);
            backSpace += 1;
            println(backSpace);
            if (backSpace > 3){ //CHECK IF DELETE IS PRESSED TOO MANY TIMES
            println("many delete!");
            manyDelete = true;}
            else {
            manyDelete = false;
            }
          }
            else if ((c >= ' ' && keyCode != 16)){
               textValue+=(str(key));
               keyTime = keyCounter - previousKeyCounter;
               checkKeySpeed();
               previousKeyCounter = keyCounter;
               keyCounter = 0;}
     }
    }
    

    void recordEvent(){ 
      backSpaceCounter1 = millis();
      if ((backSpaceCounter1 - prev_backSpaceCounter)>5000){
            prev_backSpaceCounter = backSpaceCounter1;
            print(backSpace,backSpaceCounter1, prev_backSpaceCounter);
            
            //check typed contents
            String[] checkText = split(textValue,' ');
            for (int i = 0; i <(checkText.length); i++) {
              if (checkText[i].length() > 0 && RiTa.isPunct(checkText[i])== false){
              println(checkText[i],RiTa.hasWord(checkText[i]),RiTa.hasWord(checkText[i].substring(0,checkText[i].length()-1)));
               if ((RiTa.hasWord(checkText[i]) == false) 
                 && RiTa.hasWord(checkText[i].substring(0,checkText[i].length()-1)) == false){
                  misSpell+=1;
                 }              
              }
            }
            println(misSpell,checkText.length);
           // check misspell
                if (checkText.length != 0 && misSpell > checkText.length/2){
                  println("Too Many MISSPELLING");
                  manyError = true;}
                else {
                  manyError = false;
                }
            //initialize
            misSpell = 0;
            backSpace = 0;
            backSpaceCounter1 = 0;
            //change Lighting
            checkLight();
               }
              }


    void checkkeyReleased(){
         if(!keyPressed){
         c = 0;
       }
    }

    void checkKeySpeed(){
         trialSpeedTime.append(str(keyTime));
         println((keyTime),trialSpeedTime);
         int size = trialSpeedTime.size(); //check speed each 10 character(seconds/char)
         if (size>9){
           trialSpeedTime.remove(0);
           keyTotalTime = 0;
           for (int i = 0; i < 9; i++){
             float item = float(trialSpeedTime.get(i)); 
             keyTotalTime += item;
           }
           keySpeed = keyTotalTime / 10;
           println("Speed =" + keySpeed + "s/character");
           if (keySpeed > 300){ //CHECK IF SPEED IS FAST
             fastSpeed = false;
           println("TOO SLOW");}
           else
             fastSpeed = true;
         }
         }
    
    
    void checkLight(){
      //NOT A AND (B OR C) --> Y 
      if ((fastSpeed == false) && (manyError == true | manyDelete == true) && (confuseLevel<9)){
        confuseLevel += 1;
        //light
        println("CONFUSE LEVEL is" + confuseLevel);}
      else if(confuseLevel>0){
         confuseLevel -= 1;}
      myPort.write(colors[confuseLevel]);
      println(colors[confuseLevel]);
    }


    String getCursor() {
      return hovering() && (frameCount>>4 & 1) == 0 ? "|" : "";
    }

    boolean hovering(){
        return mouseX >= x && mouseX <= x + boxWidth && mouseY >= y && mouseY <= y + boxHeight;
    }
    
    //private String[] lines = loadStrings("IncludedWords.txt");
    private int x, y, boxWidth, boxHeight;
    private float keyCounter, previousKeyCounter, keyTime,keySpeed, keyTotalTime, backSpace,backSpaceCounter1,prev_backSpaceCounter;
    private float misSpell;
    private int confuseLevel = 0;
    private String textValue = "";
    private char c;
    private boolean fastSpeed = true, manyDelete = false, manyError = false;
}