diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcKeyAdapter.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcKeyAdapter.java index 2c94382..2da74fb 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcKeyAdapter.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcKeyAdapter.java @@ -129,6 +129,7 @@ public class TimeCalcKeyAdapter extends KeyAdapter { case KeyEvent.VK_U: { int ms_ = msToAdd; + System.out.println("going to add ms:" +msToAdd); int s_ = msToAdd / 1000; ms_ = ms_ - s_ * 1000; int m_ = msToAdd / 1000 / 60; @@ -181,9 +182,12 @@ public class TimeCalcKeyAdapter extends KeyAdapter { final double newSpeed = this.mainWindow.getSpeed(); if(oldSpeed != newSpeed) { + TTime t= TTime.ofMilliseconds(((int)(Math.pow(2,newSpeed) * 1000))); Utils.showNotification("Speed was changed from " + ((int)oldSpeed) + - " to: " + ((int)newSpeed) + " (" + (NumberFormats.FORMATTER_TWO_DECIMAL_PLACES.format(Math.pow(2, newSpeed))) + ") (" + (newSpeed <= 21 ? TTime.ofMilliseconds(((int)(Math.pow(2,newSpeed) * 1000))) : "many") +" /1s)"); + " to: " + ((int)newSpeed) + " (" + (NumberFormats.FORMATTER_FIVE_DECIMAL_PLACES.format(Math.pow(2, newSpeed))) + ") (" + + (newSpeed <= -10 ? "few" : (newSpeed <=21 ? t : "many")) + +" /1s)"); } else { if(decrease){ Utils.showNotification("Current speed cannot be decreased: " + diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java index af38566..c1d3ea7 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java @@ -829,6 +829,28 @@ public class MainWindow extends TWindow { timeCalcConfiguration.testEnabledProperty.setValue(false); return; } + if(speed < -6) { + if(speed == -7) { + if(Math.random() > 0.5) { + return; + } + } + if(speed == -8) { + if(Math.random() > 0.25) { + return; + } + } + if(speed == -9) { + if(Math.random() > 0.125) { + return; + } + } + if(speed == -10) { + if(Math.random() > 0.625) { + return; + } + } + } if(timeCalcConfiguration.testEnabledProperty.isDisabled()) { timeCalcConfiguration.testEnabledProperty.enable(); } @@ -853,7 +875,7 @@ public class MainWindow extends TWindow { if(time.millisecondCustomProperty.getValue() == Integer.MAX_VALUE) { time.millisecondCustomProperty.setValue(time.millisecondProperty.getValue()); } - int msShouldBeAdded = (int) (Math.pow(2, speed) * 100d); + int msShouldBeAdded = speed < -6 ? 1 : (int) (Math.pow(2, speed) * 100d); this.timeCalcKeyAdapter.setMsToAdd(msShouldBeAdded); this.timeCalcKeyAdapter.processShifCtrlAltModeKeyCodes(KeyEvent.VK_U, true, false, false); @@ -1279,12 +1301,13 @@ public class MainWindow extends TWindow { if(speed == Integer.MIN_VALUE) { speed = 0; } - if(speed == -3){ + if(speed == MIN_SPEED){ //nothing to do return; } --this.speed; } + public static final int MIN_SPEED = -10; public int getSpeed() { return speed;