コード例 #1
0
ファイル: OtherPlayer.java プロジェクト: bsrandall/battlenole
  public void processPlayerFire(int position) {

    int result = this.game.processMove(playerTurn, position);

    if (result == FIRE_BAD_FIRE) {
      topTV.setText("Cell already Selected. Please pick again");
      return;
    } else {

      EnemyBoardFragment enemyBoardFragment = new EnemyBoardFragment();

      FragmentManager fragmentManager = getFragmentManager();
      FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
      Context context = getApplicationContext();

      if (playerTurn == 0)
        enemyBoardFragment = (EnemyBoardFragment) fragmentManager.findFragmentByTag("player1");
      else enemyBoardFragment = (EnemyBoardFragment) fragmentManager.findFragmentByTag("player2");
      enemyBoardFragment.fire(position, result);

      if (result == FIRE_MISS) { // it was a miss, switch turns
        playerTurn = Game.getOpposite(playerTurn);
        setPlayerNumberText();
        topTV.setText("Sorry, you missed. Switching to " + playerNumberText + " Turn.");
      } else if (result == FIRE_HIT) {
        topTV.setText("You Hit the Enemy! Go Again.");
      } else if (result % FIRE_DESTROY_SHIP == 0) {
        topTV.setText("You Destroyed an Enemy Ship! Go Again.");
        int shipNumber = result / FIRE_DESTROY_SHIP - 1;
        switch (shipNumber) {
          case 0:
            smallShip.setImageDrawable(null);
            showSmallShip1 = false;
            break;
          case 1:
            submarine.setImageDrawable(null);
            showSub1 = false;
            break;
          case 2:
            destroyer.setImageDrawable(null);
            showDestroyer1 = false;
            break;
          case 3:
            aircraftCarrier.setImageDrawable(null);
            showAC1 = false;
            break;
          default:
            // should never reach here
        }

      } else if (result == FIRE_DESTROY_FLEET) {
        topTV.setText("YOU WIN!!!!!!!!!");
        processWinner(playerTurn);
      }

      myHandler.postDelayed(changePlayers, 1000);
    }
  }
コード例 #2
0
ファイル: OtherPlayer.java プロジェクト: bsrandall/battlenole
  public void makeFragments() {

    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    Context context = getApplicationContext();

    Board player1Board = new Board(game.getPlayerBoard(PLAYER_PLAYER_NUMBER));
    EnemyBoardFragment player1Fragment = EnemyBoardFragment.newInstance(player1Board);
    Board player2Board = new Board(game.getPlayerBoard(ENEMY_PLAYER_NUMBER));
    EnemyBoardFragment player2Fragment = EnemyBoardFragment.newInstance(player2Board);

    ViewGroup mainContainer = (ViewGroup) findViewById(R.id.grid_holder);
    fragmentTransaction.add(R.id.grid_holder, player1Fragment, "player1");
    fragmentTransaction.add(R.id.grid_holder, player2Fragment, "player2");
    fragmentTransaction.commit();
    fragmentManager.executePendingTransactions();
  }