Trapped on virus-hit cruise ship, shocked passengers struggle to keep spirits up