/*
   * cambia la dificultad cada cierto tiempo (maximo nivel = 5)
   */
  public int cambioDific() {
    // System.out.println(time.millisElapsed());

    if (time.millisElapsed() >= 30000 && nivelActual == 1) {
      varDific = 250;
      contLV.setValue(2);
      nivelActual = 2;
      velExtra = 1;
    } else if (time.millisElapsed() >= 50000 && nivelActual == 2) {
      varDific = 100;
      contLV.setValue(3);
      nivelActual = 3;
      velExtra = 2;
    } else if (time.millisElapsed() >= 100000 && nivelActual == 3) {
      varDific = 70;
      contLV.setValue(4);
      nivelActual = 4;
      // velExtra=2;
    } else if (time.millisElapsed() >= 150000 && nivelActual == 4) {
      varDific = 50;
      contLV.setValue(5);
      nivelActual = 5;
      if (velExtra < 3) velExtra = 3;
    }
    return (varDific);
  }
Ejemplo n.º 2
0
 @Test
 public void testSimpleTimerAsThread() throws InterruptedException {
   SimpleTimer st = new SimpleTimer(1000);
   st.start();
   Thread.sleep(250);
   for (int x = 0; x < 5; x++) {
     assertEquals(x, st.getRound());
     Thread.sleep(1000);
   }
 }
Ejemplo n.º 3
0
  /**
   * Start up the progress meter, printing initialization message and starting up the daemon thread
   * for periodic printing.
   */
  @Requires("progressMeterDaemon != null")
  private synchronized void start() {
    timer.start();
    lastProgressPrintTime = timer.currentTime();

    logger.info("[INITIALIZATION COMPLETE; STARTING PROCESSING]");
    logger.info(
        String.format(
            "%15s processed.%s  runtime per.1M.%s completed total.runtime remaining",
            "Location", processingUnitName, processingUnitName));

    progressMeterDaemon.start();
  }
  /*
   * crea los contadores, mensajes, personaje y tiempos del juego
   */
  public void creanivel() {
    time = new SimpleTimer();
    time.mark();
    Barr = new Barra();
    sound2.stop();
    bandBarra = 0;
    varDific = 450;
    nivelActual = 1;
    velExtra = 0;

    orbPj = new Orb();
    addObject(orbPj, 390, 463);

    addObject(new Mensaje("Nivel"), 623, 93);
    addObject(new Mensaje("Vida"), 623, 151);
    addObject(new Mensaje("Tiempo"), 623, 31);
    addObject(new Mensaje("Color seleccionado"), 687, 439);

    contLV = new Counter();
    addObject(contLV, 686, 92);
    contLV.setValue(1);

    contHP = new Counter();
    addObject(contHP, 686, 150);
    contHP.setValue(orbPj.getHP());

    contTime = new Counter();
    addObject(contTime, 686, 30);

    muestraColor = new acColor();
    addObject(muestraColor, 691, 497);

    sound.playLoop();
  }
Ejemplo n.º 5
0
  /** Should be called when processing is done */
  public void notifyDone(final long nTotalRecordsProcessed) {
    // print out the progress meter
    this.nTotalRecordsProcessed = nTotalRecordsProcessed;
    this.positionMessage = "done";
    printProgress(true);

    logger.info(
        String.format(
            "Total runtime %.2f secs, %.2f min, %.2f hours",
            timer.getElapsedTime(), timer.getElapsedTime() / 60, timer.getElapsedTime() / 3600));

    if (performanceLog != null) performanceLog.close();

    // shutdown our daemon thread
    progressMeterDaemon.done();
  }
Ejemplo n.º 6
0
 /**
  * Creates a new ProgressData object recording a snapshot of our progress at this instant
  *
  * @param loc our current position. If null, assumes we are done traversing
  * @param nTotalRecordsProcessed the total number of records we've processed
  * @return
  */
 private ProgressMeterData takeProgressSnapshot(
     final GenomeLoc loc, final long nTotalRecordsProcessed) {
   // null -> end of processing
   final long bpProcessed =
       loc == null ? targetSizeInBP : regionsBeingProcessed.sizeBeforeLoc(loc);
   return new ProgressMeterData(timer.getElapsedTime(), nTotalRecordsProcessed, bpProcessed);
 }
Ejemplo n.º 7
0
  /**
   * Actually try to print out progress
   *
   * <p>This function may print out if the progress print is due, but if not enough time has elapsed
   * since the last print we will not print out information.
   *
   * @param mustPrint if true, progress will be printed regardless of the last time we printed
   *     progress
   */
  protected synchronized void printProgress(final boolean mustPrint) {
    final long curTime = timer.currentTime();
    final boolean printProgress =
        mustPrint
            || maxElapsedIntervalForPrinting(
                curTime, lastProgressPrintTime, progressPrintFrequency);
    final boolean printLog =
        performanceLog != null
            && maxElapsedIntervalForPrinting(
                curTime, lastPerformanceLogPrintTime, PERFORMANCE_LOG_PRINT_FREQUENCY);

    if (printProgress || printLog) {
      final ProgressMeterData progressData =
          takeProgressSnapshot(maxGenomeLoc, nTotalRecordsProcessed);

      final AutoFormattingTime elapsed = new AutoFormattingTime(progressData.getElapsedSeconds());
      final AutoFormattingTime bpRate = new AutoFormattingTime(progressData.secondsPerMillionBP());
      final AutoFormattingTime unitRate =
          new AutoFormattingTime(progressData.secondsPerMillionElements());
      final double fractionGenomeTargetCompleted =
          progressData.calculateFractionGenomeTargetCompleted(targetSizeInBP);
      final AutoFormattingTime estTotalRuntime =
          new AutoFormattingTime(elapsed.getTimeInSeconds() / fractionGenomeTargetCompleted);
      final AutoFormattingTime timeToCompletion =
          new AutoFormattingTime(estTotalRuntime.getTimeInSeconds() - elapsed.getTimeInSeconds());

      if (printProgress) {
        lastProgressPrintTime = curTime;
        updateLoggerPrintFrequency(estTotalRuntime.getTimeInSeconds());

        logger.info(
            String.format(
                "%15s        %5.2e %s     %s    %5.1f%%      %s  %s",
                positionMessage,
                progressData.getUnitsProcessed() * 1.0,
                elapsed,
                unitRate,
                100 * fractionGenomeTargetCompleted,
                estTotalRuntime,
                timeToCompletion));
      }

      if (printLog) {
        lastPerformanceLogPrintTime = curTime;
        performanceLog.printf(
            "%.2f\t%d\t%.2e\t%d\t%.2e\t%.2e\t%.2f\t%.2f%n",
            elapsed.getTimeInSeconds(),
            progressData.getUnitsProcessed(),
            unitRate.getTimeInSeconds(),
            progressData.getBpProcessed(),
            bpRate.getTimeInSeconds(),
            fractionGenomeTargetCompleted,
            estTotalRuntime.getTimeInSeconds(),
            timeToCompletion.getTimeInSeconds());
      }
    }
  }
  protected DirectByteBufferPoolReal() {
    // create the buffer pool for each buffer size

    ArrayList list = new ArrayList();

    for (int p = START_POWER; p <= END_POWER; p++) {

      list.add(new Integer(BigInteger.valueOf(2).pow(p).intValue()));
    }

    for (int i = 0; i < EXTRA_BUCKETS.length; i++) {

      list.add(new Integer(EXTRA_BUCKETS[i]));
    }

    Integer[] sizes = new Integer[list.size()];
    list.toArray(sizes);
    Arrays.sort(sizes);

    for (int i = 0; i < sizes.length; i++) {

      ArrayList bufferPool = new ArrayList();

      buffersMap.put(sizes[i], bufferPool);
    }

    // initiate periodic timer to check free memory usage
    SimpleTimer.addPeriodicEvent(
        "DirectBB:compact",
        COMPACTION_CHECK_PERIOD,
        new TimerEventPerformer() {
          public void perform(TimerEvent ev) {

            compactBuffers();
          }
        });

    if (DEBUG_PRINT_MEM) {
      Timer printer = new Timer("printer");
      printer.addPeriodicEvent(
          DEBUG_PRINT_TIME,
          new TimerEventPerformer() {
            public void perform(TimerEvent ev) {
              printInUse(false);
            }
          });
    }
  }
  protected synchronized void readConfigValues() {
    config_enabled = COConfigurationManager.getBooleanParameter("Stats Enable");

    config_period = COConfigurationManager.getIntParameter("Stats Period");

    config_dir = COConfigurationManager.getStringParameter("Stats Dir");

    config_file = COConfigurationManager.getStringParameter("Stats File");

    if (config_enabled) {
      long targetFrequency =
          1000 * (config_period < DEFAULT_SLEEP_PERIOD ? config_period : DEFAULT_SLEEP_PERIOD);
      if (event != null && event.getFrequency() != targetFrequency) {
        event.cancel();
        event = null;
      }

      if (event == null) event = SimpleTimer.addPeriodicEvent("StatsWriter", targetFrequency, this);

    } else if (event != null) {
      event.cancel();
      event = null;
    }
  }
  private void sessionStart() {
    OverallStatsImpl stats = (OverallStatsImpl) StatsFactory.getStats();

    synchronized (this) {
      if (closing) {

        return;
      }

      boolean enabled = COConfigurationManager.getBooleanParameter("long.term.stats.enable");

      if (active || !enabled) {

        return;
      }

      active = true;

      long[] snap = stats.getLastSnapshot();

      ss_d_received = gm_stats.getTotalDataBytesReceived();
      ss_p_received = gm_stats.getTotalProtocolBytesReceived();

      ss_d_sent = gm_stats.getTotalDataBytesSent();
      ss_p_sent = gm_stats.getTotalProtocolBytesSent();

      ss_dht_sent = 0;
      ss_dht_received = 0;

      if (core.isStarted()) {

        DHT[] dhts = getDHTs();

        if (dhts != null) {

          for (DHT dht : dhts) {

            DHTTransportStats dht_stats = dht.getTransport().getStats();

            ss_dht_sent += dht_stats.getBytesSent();
            ss_dht_received += dht_stats.getBytesReceived();
          }
        }
      }

      st_p_sent = snap[0] + (ss_p_sent - snap[6]);
      st_d_sent = snap[1] + (ss_d_sent - snap[7]);
      st_p_received = snap[2] + (ss_p_received - snap[8]);
      st_d_received = snap[3] + (ss_d_received - snap[9]);
      st_dht_sent = snap[4] + (ss_dht_sent - snap[10]);
      st_dht_received = snap[5] + (ss_dht_received - snap[11]);

      write(
          RT_SESSION_START,
          new long[] {
            st_p_sent, st_d_sent, st_p_received, st_d_received, st_dht_sent, st_dht_received
          });

      if (event == null) { // should always be null but hey ho

        event =
            SimpleTimer.addPeriodicEvent(
                "LongTermStats",
                MIN_IN_MILLIS,
                new TimerEventPerformer() {
                  public void perform(TimerEvent event) {
                    updateStats();
                  }
                });
      }
    }
  }
Ejemplo n.º 11
0
 public void caerNiv4() {
   if (tiempoC.millisElapsed() >= 200) caer();
 }
Ejemplo n.º 12
0
 public void girarNiv4() {
   if (tiempoG.millisElapsed() >= 10) girar();
 }
Ejemplo n.º 13
0
 public BarraGiraDerecha() {
   tiempoC = new SimpleTimer();
   tiempoG = new SimpleTimer();
   tiempoG.mark();
   tiempoC.mark();
 }
Ejemplo n.º 14
0
  private static void updateMetaData_handleReply(
      TOTorrent torrent, String hash, String replyType, Map mapHashes) {
    if (hash == null && torrent != null) {
      try {
        hash = torrent.getHashWrapper().toBase32String();
      } catch (Exception e) {
      }
    }

    GlobalManager gm = AzureusCoreFactory.getSingleton().getGlobalManager();
    DownloadManager dm = gm.getDownloadManager(new HashWrapper(Base32.decode(hash)));

    if (torrent == null && dm != null) {
      torrent = dm.getTorrent();
    }
    Map contentMap = PlatformTorrentUtils.getContentMap(torrent);

    final TOTorrent torrentFinal = torrent;

    if (replyType.equals(PlatformMessenger.REPLY_EXCEPTION)) {
      if (torrent != null) {
        // try again in a bit
        log(torrent, "Exception, retrying later");
        SimpleTimer.addEvent(
            "Update MD Retry",
            SystemTime.getCurrentTime() + RETRY_METADATA,
            new TimerEventPerformer() {
              public void perform(TimerEvent event) {
                log(torrentFinal, "retry time");
                PlatformTorrentUtils.updateMetaData(torrentFinal, 15000);
              }
            });
      }
    } else {
      Map jsonMapMetaData = hash == null ? null : (Map) mapHashes.get(hash);
      if (jsonMapMetaData != null) {
        long oldLastUpdated = getContentLastUpdated(torrent);
        long expireyMins = 0;

        for (Iterator iter = jsonMapMetaData.keySet().iterator(); iter.hasNext(); ) {
          String key = (String) iter.next();
          Object value = jsonMapMetaData.get(key);

          if (value == null || value.equals(null)) {
            contentMap.remove(key);
          } else if ((key.equals("Thumbnail") || key.endsWith(".B64")) && value instanceof String) {
            contentMap.put(key, Base64.decode((String) value));
          } else if (key.equals("expires-in-mins") && value instanceof Long) {
            expireyMins = ((Long) value).longValue();
          } else {
            contentMap.put(key, value);
          }
          writeTorrentIfExists(torrent);
        }

        // crappy way of updating the display name
        if (dm != null) {
          String title = PlatformTorrentUtils.getContentTitle(torrent);
          if (title != null
              && title.length() > 0
              && dm.getDownloadState().getDisplayName() == null) {
            dm.getDownloadState().setDisplayName(title);
          }
        }
        triggerMetaDataUpdateListeners(torrent);

        if (torrent != null) {
          // setup next refresh

          long refreshOn;
          if (expireyMins > 0) {
            refreshOn = SystemTime.getCurrentTime() + (expireyMins * 60 * 1000L);
          } else {
            long newLastUpdated = getContentLastUpdated(torrent);

            long diff = newLastUpdated - oldLastUpdated;
            log(
                torrent,
                "Last Updated: new "
                    + new Date(newLastUpdated)
                    + ";old "
                    + new Date(oldLastUpdated)
                    + ";diff="
                    + diff);
            if (diff > 0 && oldLastUpdated != 0) {
              diff *= 2;
              if (diff < MIN_MD_REFRESH_MS) {
                diff = MIN_MD_REFRESH_MS;
              } else if (diff > MAX_MD_REFRESH_MS) {
                diff = MAX_MD_REFRESH_MS;
              }
              refreshOn = SystemTime.getOffsetTime(diff);
            } else {
              refreshOn = SystemTime.getCurrentTime() + (7 * 24 * 60 * 60 * 1000L);
            }
          }

          log(torrent, "got MD. Next refresh in " + (refreshOn - SystemTime.getCurrentTime()));
          setMetaDataRefreshOn(torrent, refreshOn);
          SimpleTimer.addEvent(
              "Update MD",
              refreshOn,
              new TimerEventPerformer() {
                public void perform(TimerEvent event) {
                  PlatformTorrentUtils.updateMetaData(torrentFinal, 15000);
                }
              });
        }
      } else if (torrent != null) {
        long refreshOn = SystemTime.getCurrentTime() + (30 * 24 * 60 * 60 * 1000L);
        setMetaDataRefreshOn(torrent, refreshOn);
        log(torrent, "no hash in reply. Next refresh on " + new Date(refreshOn));
      }
    }
  }
Ejemplo n.º 15
0
 /*
  * cuenta el tiempo se juego en segundos
  */
 public void tiempo() {
   tiempoActual = time.millisElapsed() / 1000;
   contTime.setValue(tiempoActual);
 }
Ejemplo n.º 16
0
 /** @return the current runtime in nanoseconds */
 @Ensures("result >= 0")
 public long getRuntimeInNanoseconds() {
   return timer.getElapsedTimeNano();
 }