game: interaction and logic splitted, card idx added