Witam, ponizej zamieszczam kod ktory w moim zamysle powinien sprawdzac poszczegolne kratki jesli nie są X powinien po wczesniejszym uzupelniu wczesniejszej kratki przeskakiwac do kolejnej, do tablic zapisywac wprowadzone znaki oraz czas odstepu pomiedzy nimi, liczy sie jednak tylko czas pomiedzy nie "zaXsowanymi" kratkami. Niby dziala, ale czasem pomija pewne kratki, analizowalam kod kilkukrotnie, nie moge sie doszukac bledu, prosze o pomoc
// sprawdza 1kratke
if (src==mhh) {
//jesli nie jest X
String s = "X";
char c = s.charAt(0);
wyniki2[0] = e.getKeyChar();
myTime = System.currentTimeMillis();
result2[0] = 0;
//sprawdza druga kratke
if ((!"X".equals(mh1.getText()))){
mhh.transferFocus();
}
//jesli druga jest X a trzecia nie
if ((("X".equals(mh1.getText()))) && ((!"X".equals(mh2.getText())))){
mh1.transferFocus();
wyniki2[1]=c;
result2[1]=0;
}
//jesli 2 i 3 są X
if ((("X".equals(mh1.getText()))) && (("X".equals(mh2.getText())))){
wyniki2[1]=c;
wyniki2[2]=c;
result2[1]=0;
result2[2]=0;
mh2.transferFocus();
}
}
// jesli jestesmy na 2 kratce i nie jest X
if (src==mh1) {
wyniki2[1] = e.getKeyChar();
myTime1 = System.currentTimeMillis();
result2[1] = (System.currentTimeMillis() - myTime) / 10;
//sprawdza trzecia kratke
if ((!"X".equals(mh2.getText()))){
mh1.transferFocus();
}
// sprawdza trzecia kratke, jesli jest X, ale 4 nie jest
if ((("X".equals(mh2.getText()))) && ((!"X".equals(mh3.getText())))){
mh2.transferFocus();
wyniki2[2]=c;
result2[2]=0;
}
// jesli i 3 i 4 kratka to X
if ((("X".equals(mh2.getText()))) && (("X".equals(mh3.getText())))){
wyniki2[2]=c;
wyniki2[3]=c;
result2[2]=0;
result2[3]=0;
mh3.transferFocus();
}
}
// jesli jestesmy na 3 kratce i nie jest X
if (src==mh2) {
wyniki2[2] = e.getKeyChar();
myTime2 = System.currentTimeMillis();
result2[2] = (System.currentTimeMillis() - myTime1) / 10;
//sprawdza czwarta kratke
if ((!"X".equals(mh3.getText()))){
mh2.transferFocus();
}
// sprawdza czwarta kratke, jesli jest X, ale 5 nie jest
if ((("X".equals(mh3.getText()))) && ((!"X".equals(mh4.getText())))){
mh3.transferFocus();
wyniki2[3]=c;
result2[3]=0;
}
// jesli i 4 i 5 kratka to X
if ((("X".equals(mh3.getText()))) && (("X".equals(mh4.getText())))){
wyniki2[3]=c;
wyniki2[4]=c;
result2[3]=0;
result2[4]=0;
mh4.transferFocus();
}
}
// jesli jestesmy na 4 kratce i nie jest X
if (src==mh3) {
wyniki2[3] = e.getKeyChar();
myTime3 = System.currentTimeMillis();
result2[3] = (System.currentTimeMillis() - myTime2) / 10;
//sprawdza piata kratke
if ((!"X".equals(mh4.getText()))){
mh3.transferFocus();
}
// sprawdza piata kratke, jesli jest X, ale 6 nie jest
if ((("X".equals(mh4.getText()))) && ((!"X".equals(mh5.getText())))){
mh4.transferFocus();
wyniki2[4]=c;
result2[4]=0;
}
// jesli i 5 i 6 kratka to X
if ((("X".equals(mh4.getText()))) && (("X".equals(mh5.getText())))){
wyniki2[4]=c;
wyniki2[5]=c;
result2[4]=0;
result2[5]=0;
}
}
// jesli jestesmy na 5 kratce i nie jest X
if (src==mh4) {
wyniki2[4] = e.getKeyChar();
myTime4 = System.currentTimeMillis();
result2[2] = (System.currentTimeMillis() - myTime3) / 10;
//sprawdza szosta kratke
if ((!"X".equals(mh5.getText()))){
mh4.transferFocus();
}
// jesli 6 kratka to X
if ("X".equals(mh5.getText())){
wyniki2[5]=c;
result2[5]=0;
}}
if (src==mh5) {
wyniki2[5] = e.getKeyChar();
myTime5 = System.currentTimeMillis();
result2[5] = (System.currentTimeMillis() - myTime4) / 10;