コード例 #1
0
ファイル: StateIdle.java プロジェクト: RetiredQQ/nanobot
 @Override
 public void handle(final Context context) throws InterruptedException {
   State<?> nextState = this;
   logger.log(Level.INFO, "Idle");
   while (looper.isRunning()) {
     if (Thread.interrupted()) {
       throw new InterruptedException(getClass().getSimpleName() + " is interrupted");
     }
     if (looper.isReloading()) {
       logger.log(Level.INFO, "reloading...");
       platform.zoomUp();
       Thread.sleep(2000);
       continue;
     } else {
       platform.sleepRandom(350);
     }
     if (platform.matchColoredPoint(mainScreenParser.getPointWasAttackedHeadline())
         || platform.matchColoredPoint(mainScreenParser.getButtonWasAttackedOK())) {
       logger.log(Level.INFO, "Was attacked");
       platform.leftClick(mainScreenParser.getButtonWasAttackedOK(), true);
       platform.sleepRandom(250);
     } else if (Screen.getInstance(BattleEndScreen.class).isDisplayed()) {
       logger.log(Level.INFO, "Detected BattleEndScreen");
       nextState = StateBattleEnd.instance();
       break;
     } else if (Screen.getInstance(ManageTroopsScreen.class).isDisplayed()) {
       logger.log(Level.INFO, "Detected ManageTroopsScreen");
       nextState = StateManageTroopsEnd.instance();
       break;
     } else if (Screen.getInstance(MainScreen.class).isDisplayed()) {
       logger.log(Level.INFO, "Detected MainScreen");
       nextState = StateMainMenu.instance();
       break;
     } else if (Screen.getInstance(AttackScreen.class).isDisplayed()) {
       logger.log(Level.INFO, "Detected AttackScreen");
       nextState = StateAttack.instance();
       break;
     } else if (Screen.getInstance(BattleBeginScreen.class).isDisplayed()) {
       logger.log(Level.INFO, "Detected BattleBeginScreen");
       nextState = StateBattleBegin.instance();
       break;
     } else if (Screen.getInstance(PlatformScreen.class).isDisplayed()) {
       logger.log(Level.INFO, "Detected PlatformScreen");
       final Point point = Screen.getInstance(PlatformScreen.class).searchButtonPlayGame();
       if (point != null) {
         platform.leftClick(point, true);
       }
     }
     Thread.sleep(1000);
   }
   context.setState(nextState);
 }
コード例 #2
0
 public void sendMessage() {
   nameValuePairs.clear();
   Looper mainLooper = Looper.getMainLooper(); // �õ����߳�loop
   mHandler = new MyHandler(mainLooper); // �������̵߳�handler
   mHandler.removeMessages(0); // �Ƴ����ж����е���Ϣ
   Message m = mHandler.obtainMessage(1, 1, 1, s); // ����Ϣ����message
   mHandler.sendMessage(m); // ����message
 }
コード例 #3
0
ファイル: TestChamber.java プロジェクト: ValentineStone/Game
  public void keyPressed(KeyEvent _keyEvent) {
    switch (_keyEvent.getKeyCode()) {
      case KeyEvent.VK_ESCAPE:
        {
          if (Looper.isRunning()) Looper.pause();
          else Looper.play();

          break;
        }
      case KeyEvent.VK_SPACE:
        {
          if (!Looper.isRunning()) Looper.loop();

          break;
        }
    }
  }
コード例 #4
0
        @Override
        public void run() {
          Looper mainLooper = Looper.getMainLooper(); // �õ����߳�loop
          mHandler = new MyHandler(mainLooper); // �������̵߳�handler

          int albumSize = PhotoAlbumActivity.AlbumsFloderPath.get(AlbumName).size();
          for (int i = 0; i < albumSize && !Thread.interrupted(); i++) {
            bm = decodeBitmap(PhotoAlbumActivity.AlbumsFloderPath.get(AlbumName).get(i)); // ȡ��ͼƬ
            sendMessage(bm, i);
          }
        }