java限制时间

在贪吃蛇游戏中,吃到下一个食物前,限定一定时间,超过改时间则游戏结束,该如何编译

 ExecutorService executor = Executors.newSingleThreadExecutor();
  Callable<Runnable> task = new Callable<Runnable>(){   @Override
   public Runnable call() throws Exception {
    // TODO Auto-generated method stub
    æ¸¸æˆæ“ä½œ
    return è¿”回值或null;
   }};
  try {
   executor.invokeAny(Arrays.asList(task), second,TimeUnit.SECONDS); // Successful! æ¸¸æˆæˆåŠŸ
  } catch (Exception e) { // Timeout occurred.游戏超时
        // here.
   executor.shutdown();
   executor.shutdownNow();
   System.out.println("游戏超时!");
   System.exit(0);
  }追问

因为如何编译一个新的类还不是很清楚,可以放在一个类里面吗,程序中有一个makeout()方法,返回false则游戏结束,我在这个方法里如何调用别的方法中所得的时间,例如long time=System.currentTimeMillis();新手请包涵

追答

它是可以放进一个类里的,调用别的方法的时间?有点不好,因为据我所知这也是一个线程。
看看这个链接,http://blog.csdn.net/zhangzhaokun/article/details/6615454

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-06
你可以另启一个线程使用定时器,定时器不断接受倒计时,
然后到0时回调结束游戏
第2个回答  2014-03-06
我认为可以新建一个timelimit的类 里面实现线程接口 ,完成时间倒数。如果吃到食物就重新刷新时间,没吃到且倒数完成就返回一个结束的标志追问

因为如何编译一个新的类还不是很清楚,可以放在一个类里面吗,程序中有一个makeout()方法,返回false则游戏结束,我在这个方法里如何调用别的方法中所得的时间,例如long time=System.currentTimeMillis();新手请包涵

相似回答