You could do this with jquery.
I have a similar code on use which you could probably easily edit to your needs:
load the admin js (I load css too but you can remove that)
function wpse181868_admin_css_js() {
wp_register_style( 'bones_admin_css', get_template_directory_uri() . '/library/css/admin.css', false );
wp_enqueue_style( 'bones_admin_css' );
//adding scripts file in the footer
wp_enqueue_script( 'admin_js', get_stylesheet_directory_uri() . '/library/js/admin.js', array( 'jquery' ), '', true );
}
add_action( 'admin_enqueue_scripts', 'wpse181868_admin_css_js' );
and then in the js check and show stuff as needed (I show different boxes for different post formats)
jQuery(document).ready(function($) {
function checkFormat() {
$('#attachments-gallery_attachments').hide();
$('#featured_video').hide();
if($('input[name=post_format]:checked', '#formatdiv').val() == "gallery") { $('#attachments-gallery_attachments').show(); }
if($('input[name=post_format]:checked', '#formatdiv').val() == "video") { $('#featured_video').show(); }
}
$('#formatdiv input[type="radio"]').live('click', checkFormat);
checkFormat();
});
EDIT:
In you theme’s functions.php add this code
function wpse181868_admin_js() { ?>
<script type="text/javascript">
jQuery(document).ready(function($) {
var $input = $('<input type="button" id="s_s" value="Show score" />');
$('input[name^="meta["]').each(function(){
var val = $(this).val();
if(val == "score") {
var valueTD = $(this).parent().siblings();
$(valueTD.find('textarea')).hide();
$input.appendTo($(valueTD));
$('#s_s').click(function(){ $(valueTD.find('textarea')).show(); $input.remove(); });
}
});
});
</script>
<?php }
add_action('admin_footer', 'wpse181868_admin_js');