/** Verify the ability to start a standalone server instance. */
  @Test
  public void testStandalone() throws Exception {
    LOG.info("STARTING " + getName());
    ClientBase.setupTestEnv();

    final int CLIENT_PORT = 3181;

    MainThread main = new MainThread(CLIENT_PORT);
    main.start();

    assertTrue(
        "waiting for server being up",
        ClientBase.waitForServerUp("localhost:" + CLIENT_PORT, CONNECTION_TIMEOUT));

    ZooKeeper zk = new ZooKeeper("localhost:" + CLIENT_PORT, ClientBase.CONNECTION_TIMEOUT, this);

    zk.create("/foo", "foobar".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
    assertEquals(new String(zk.getData("/foo", null, null)), "foobar");
    zk.close();

    main.shutdown();

    assertTrue(
        "waiting for server down",
        ClientBase.waitForServerDown("localhost:" + CLIENT_PORT, ClientBase.CONNECTION_TIMEOUT));
  }
 @Override
 public void surfaceCreated(SurfaceHolder holder) {
   // at this point the surface is created and
   // we can safely start the game loop
   thread.setRunning(true);
   thread.start();
 }
Beispiel #3
0
  @Override
  public void surfaceCreated(SurfaceHolder holder) {
    scaleFactorX = getWidth() / (WIDTH * 1.f);
    scaleFactorY = getHeight() / (HEIGHT * 1.f);

    createPics();

    scaledMoney.add(BitmapFactory.decodeResource(getResources(), R.drawable.money));
    scaledMoney.add(BitmapFactory.decodeResource(getResources(), R.drawable.kingword));
    Money1.add(BitmapFactory.decodeResource(getResources(), R.drawable.money));
    Money1.add(BitmapFactory.decodeResource(getResources(), R.drawable.kingword));
    Money2.add(BitmapFactory.decodeResource(getResources(), R.drawable.money));
    Money2.add(BitmapFactory.decodeResource(getResources(), R.drawable.kingword));
    scaledTimer.add(BitmapFactory.decodeResource(getResources(), R.drawable.civilian));
    scaledTimer.add(BitmapFactory.decodeResource(getResources(), R.drawable.captain));

    setupVar();

    newMoney(scaledMoney, money.drawUpdate(money.vals[0]));
    newMoney(Money1, score11.drawUpdate(0));
    newMoney(Money2, score22.drawUpdate(0));
    newMoney(scaledTimer, timer.drawUpdate());

    score11.setBitmap(Money1.get(0), Money1.get(1));
    score22.setBitmap(Money2.get(0), Money2.get(1));
    money.setBitmap(scaledMoney.get(0), scaledMoney.get(1));
    timer.setBitmap(scaledTimer.get(0), scaledTimer.get(1));

    thread = new MainThread(getHolder(), this);
    // we can safely start the game loop
    thread.setRunning(true);
    thread.start();
  }
Beispiel #4
0
  public static void main(String args[]) throws Exception {
    /** On demande le port de connexion à l'utilisateur du programme */
    Scanner sc = new Scanner(System.in);
    System.out.println("Port d'écoute local : ");
    int m_port_listening = sc.nextInt();

    /** Le tout premier peer entrera un port distant = à son port local. */
    System.out.println("Port d'écoute de l'hôte distant : ");
    int m_remote_port = sc.nextInt();

    /** On demande la taille des paquets qui seront envoyés */
    System.out.println("Taille des paquets : ");
    int m_paquet_size = sc.nextInt();

    /**
     * On lance le thread qui écrira les messages délivrés dans un fichier. Ce fichier servira à la
     * vérification autonome du total ordonnancement des messages délivrés.
     */
    FileThread file_thread = new FileThread(m_port_listening);
    file_thread.start();

    /** Création de l'Engine et du Peer */
    NioEngine engine = new NioEngine(m_paquet_size);
    Peer peer = new Peer(engine, file_thread);

    /** On lance le thread qui fera tourner l'Engine */
    MainThread main_thread = new MainThread(engine, m_port_listening, m_remote_port, peer);
    main_thread.start();

    /** Il faut appuyer sur la touche entrée pour que le programme s'arrête. */
    while (true) {
      sc.nextLine();
      if (sc.hasNextLine()) {
        break;
      }
    }
    sc.close();

    /** On dit à tout le monde de s'arrêter. */
    engine.m_running = false;
    engine.pw.close();

    /**
     * On demande au file_thread de continuer l'écriture jusqu'à ce qu'il n'y ait plus de messages
     * délivrés à écrire dans le fichier.
     */
    file_thread.end(engine.m_has_accept, m_port_listening, m_remote_port);
  }
Beispiel #5
0
  @Override
  public void surfaceCreated(SurfaceHolder holder) {
    bg = new Background(BitmapFactory.decodeResource(getResources(), R.drawable.grassbg1));
    player =
        new Player(BitmapFactory.decodeResource(getResources(), R.drawable.helicopter), 65, 25, 3);
    smoke = new ArrayList<Smokepuff>();
    missiles = new ArrayList<Missile>();
    topborder = new ArrayList<TopBorder>();
    botborder = new ArrayList<BotBorder>();
    smokeStartTime = System.nanoTime();
    missileStartTime = System.nanoTime();

    thread = new MainThread(getHolder(), this);
    // we can safely start the game loop
    thread.setRunning(true);
    thread.start();
  }
Beispiel #6
0
  @Override
  public void surfaceDestroyed(SurfaceHolder holder) {
    boolean retry = true;
    int counter = 0;
    while (retry && counter < 1000) {
      counter++;
      try {
        thread.setRunning(false);
        thread.join();
        retry = false;
        thread = null;

      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
 @Override
 public void surfaceDestroyed(SurfaceHolder holder) {
   Log.d(TAG, "Surface is being destroyed");
   // tell the thread to shut down and wait for it to finish
   // this is a clean shutdown
   boolean retry = true;
   while (retry) {
     try {
       thread.join();
       retry = false;
     } catch (InterruptedException e) {
       // try again shutting down the thread
     }
   }
   Log.d(TAG, "Thread was shut down cleanly");
 }
  public MainWindow() {

    AvgFps = new String();

    JFrame container = new JFrame("Arena");

    JPanel panel = (JPanel) container.getContentPane();

    panel.setPreferredSize(new Dimension(800, 600));
    panel.setLayout(null);

    setBounds(0, 0, 800, 600);
    panel.add(this);

    container.pack();
    container.setResizable(false);
    container.setVisible(true);

    container.addWindowListener(
        new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
          }
        });

    // Let this class call it's own repaints.
    setIgnoreRepaint(true);

    // Register key listener, for user input.
    // addKeyListener(new KeyInputHandler());

    requestFocus();

    createBufferStrategy(2);
    strategy = getBufferStrategy();

    // Map map = new Map(this);

    // DrawableRegistry.getInstance().registerContext(map);

    // map.show();

    thread = new MainThread(this);
    thread.setRunning(true);
    thread.start();

    Blob blob[] = new Blob[4];

    blob[0] = new Blob(new Vector3(300.0, 300.0, 0), new Vector3(0, 0, 0));
    blobs.addItem(blob[0]);

    blob[1] = new Blob(new Vector3(300.0, 280.0, 0), new Vector3(0, 0, 0));
    blobs.addItem(blob[1]);

    blob[2] = new Blob(new Vector3(280.0, 280.0, 0), new Vector3(0, 0, 0));
    blobs.addItem(blob[2]);

    blob[3] = new Blob(new Vector3(280.0, 300.0, 0), new Vector3(0, 0, 0));
    blobs.addItem(blob[3]);

    blob[0].linkTo(blob[1]);
    blob[1].linkTo(blob[2]);
    blob[2].linkTo(blob[3]);
    blob[3].linkTo(blob[0]);

    // Blob old_blob = new Blob(new Vector3(10,420,0));
    // Create blob walls
    // Top & bottom
    /*
    for (int i = 0; i < 40; i++) {
    	blob = new Blob(new Vector3(20 + i*11,420,0));
    	old_blob.linkTo(blob);
    	blobs.addItem(blob);
    	old_blob = blob;
    }
    */
    /*
    for (int i = 0; i < 40; i++) {
    	blob = new Blob(new Vector3(20 + i*10,20 + 400,0));
    	blobs.addItem(blob);
    }
    for (int i = 1; i < 39; i++) {
    	blob = new Blob(new Vector3(20 ,20 + i*10,0));
    	blobs.addItem(blob);
    }
    for (int i = 1; i < 39; i++) {
    	blob = new Blob(new Vector3(20 + 400 ,20 + i*10,0));
    	blobs.addItem(blob);
    }
    */
  }