i have read where Carnival is now offering gift cards. They are available at various locations such as drug stores and supermarkets. I don't know the stipulations on them, and I hope the other lines follow suit. It seems like a great way to save for on board spending. Just load up the cards up to $500, and use them on board.
Check the racks of gift cards for availability in your area. ( CVS, Rite Aide, A & P supermarket, etc......)