<div class="hand">
  <% hidden = defined?(hidden) ? hidden : false %>
  <% read_only = defined?(read_only) ? read_only : hidden %>

  <div class="player_space_header">
    <div class="player_points"><%= points_string(player.total_score) %></div>
  </div>

  <% player.hand.each do |card| %>
    <% dynamic = !hidden && !read_only && @game_state.valid_turn?(player, card) %>
    <a class="<%= hand_card_css_class(dynamic: dynamic) %>"
       href="<%= card_link_url(card, read_only: !dynamic) %>">
       <%= unicode_card(card) if !hidden %>
       <%= unicode_card_back  if  hidden %>
    </a>
  <%end%>
</div>

<div class="hand">
  <% hidden = defined?(hidden) ? hidden : false %>
  <% read_only = defined?(read_only) ? read_only : hidden %>
  <% interactive = defined?(interactive) ? interactive : false %>

  <div class="player_space_header">
    <div class="player_points"><%= points_string(player.total_score) %></div>
  </div>

  <% player.hand.each do |card| %>
    <% dynamic = !hidden && !read_only && @game_state.valid_turn?(player, card) || interactive %>
    <a class="<%= hand_card_css_class(dynamic: dynamic) %>"
       href="<%= card_link_url(card, read_only: !dynamic) %>">
       <%= unicode_card(card) if !hidden %>
       <%= unicode_card_back  if  hidden %>
    </a>
  <%end%>
</div>

Add animations to all discard cards
Add animations to all discard cards
