Concealing an entire deck

I am working on a module with a peculiar deck of cards that I cannot seem to get quite right in VASSAL. The deck is made up of two types of cards: good guys and bad guys. The front of the card identifies the card itself, but the back of the card identifies whether it is for the good guys or the bad guys. I have defined each card as a Single Item and placed them in a deck. I used the Mask property to set the card backs to show the appropriate logo for each side. However, players need to draw blindly from the deck not knowing if the card is a good guy or bad guy card until it has been drawn. There is a small logo on the back of each card that identifies the side. So, I need a way to conceal or obscure that part of the top card until the card is drawn. Something like a mask for the entire deck.

My first idea was to create a dedicated item and place it on top of the deck, but that is just treated like another card and is drawn on the next turn. I also tried a place marker, but that only applies after the card is drawn, not while it is in the deck.

Does anyone have a suggestion as to how I could accomplish what I am trying to do?

Thanks,

Don

Your best option is to create a hidden window and place your card decks in there. That way, no one can see, or have direct access to, the decks. Then set up a “Draw Card” button for the players that will retrieve a card from one of those decks. I tend to do that as a matter of course in my games. Saves having to create real estate on the game boards for card decks.

On Aug 17, 2010, at 7:01 PM, dpezet wrote:

The deck is made up of two types of
cards: good guys and bad guys. The front of the card identifies the
card
itself, but the back of the card identifies whether it is for the good
guys or the bad guys. I have defined each card as a Single Item and
placed them in a deck. I used the Mask property to set the card
backs to
show the appropriate logo for each side. However, players need to draw
blindly from the deck not knowing if the

Does anyone have a suggestion as to how I could accomplish what I am
trying to do?

This is untested and completely speculative, but perhaps the following
would work?

  • Make the back of the cards be a common image.
  • Assign card ownership based on player side (Good or Bad).
  • Make the front of the cards be masked
  • Allow either player to flip the card.

The process would then be for a player to draw a card and then flip it.
The mask on the face-up side should allow it to only be seen by the
player side it is intended for. They would then take it.

Another option is to create a layer for the normal side of the card (HideCard) with a graphic that will cover the entire card set as the image for Level 1. This will obscure all of the info on the face of the card. Add a second level with no graphic image selected.

In the map properties page enter a Global Command Key to apply to all units ending movement on this map. The Global Command increments HideCard Level and reveals the card info.

The process is simple if you are shuffling this deck.

Be sure to set the deck to ‘Always shuffle’.

With this option set each card you draw from the deck is randomly selected from the deck, not neccessarily the top card. The chance of drawing the top card is 1 in X where X is the number of cards remaining in the deck. You won’t know if you drew the top card until you actually draw it and see the card beneath it change. So seeing the card on the deck in no way imparts knowledge of what card would be drawn unless it was the last card.

If you are not shuffling the deck or pre-stacking in some way this method won’t work.