Exemplo n.º 1
0
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
   super.onOptionsItemSelected(item);
   if (item.getItemId() == MENU_ITEM_HELP) {
     startActivity(new Intent(this, Help.class));
   }
   if (item.getItemId() == MENU_ITEM_PREFERENCES) {
     startActivity(new Intent(this, Settings.class));
   }
   if (item.getItemId() == MENU_ITEM_HISTORY) {
     Log.d(tag, "" + game.game);
   }
   if (item.getItemId() == MENU_ITEM_REPLAY) {
     GameView old = game;
     newgame();
     Log.d(tag, "replay # moves : " + old.game.moves.size());
     game.replay(old.game.moves);
   }
   if (item.getItemId() == MENU_ITEM_BACK) {
     List<Move> moves = game.game.moves;
     int length = moves.size();
     if (length >= 4) {
       length -= 4;
     }
     moves = moves.subList(0, length);
     newgame();
     Log.i(tag, "replay # moves : " + length);
     game.replay(moves);
   }
   if (item.getItemId() == MENU_ITEM_NEW) {
     new AlertDialog.Builder(this)
         .setMessage(rs.getString(R.string.new_game) + "?")
         .setCancelable(false)
         .setPositiveButton(
             R.string.yes,
             new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int which) {
                 newgame();
               }
             })
         .setNegativeButton(
             R.string.no,
             new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                 dialog.cancel();
               }
             })
         .create()
         .show();
   }
   if (item.getItemId() == MENU_ITEM_THINK) {
     think(0);
   }
   if (item.getItemId() == MENU_ITEM_PASS_TURN) {
     turn = (turn + 1) % 4;
     game.showPieces(turn);
     game.invalidate();
   }
   if (item.getItemId() == MENU_ITEM_FLIP) {
     PieceUI piece = game.selected;
     if (piece != null) piece.flip();
   }
   return false;
 }