We would give our son a $100 limit per cruise. If he spent it all the first day, so be it. He learned from the experience and did better the next time.
We never heard him complain about lack of funds. After he was out of money, he took advantage of the many included options available to him.