public void pKilled(Rank r) {
      if (!ourSide) {
         // enemy piece killed our piece!
         // so it's not bomb, land mine, or flag
         // and its rank is definitely greater than the piece
         // it has killed, if it didn't killed a land mine
         // if we lost land mine, the enemy piece is engineer for sure
         if (minRank.equals(Rank.Unknown) && !r.equals(Rank.LandMine)) {
            minRank = getHigherRank(r);
         }
         else if (!r.equals(Rank.LandMine)) {
            if (rankGreaterThan(r, minRank)) {
               minRank = r;
            }
         }
         else {
            setRank(Rank.Engineer);
            canBeMine = false;
            minRank = Rank.Engineer;
            canBeBomb = false;
         }
      }
   }