This program sets up a situation in which each person is a voter in a committee meeting or election. The voters must choose between a fixed number of alternatives, which can be thought of as candidates, committee decisions, etc. There are several ways of configuring the voting process. In the plurality setup, the option with the most votes wins, with ties decided at random. The plurality/runoff setup puts all options on the ballot in the first stage, with a second-stage runoff in the event that no option obtains a majority. In the two-stage agenda, voters choose between two or more "challengers" in the first stage, with the winner being matched against an "incumbent" option in the second stage. It is also possible to have a vote be preceded by a non-binding opinion poll or by a decision of whether to incur a cost of voting. In the latter (participation-cost) setup, the costs may either be fixed or they may differ randomly from voter to voter, being drawn from a uniform distribution with a range that you specify. Finally, under approval voting, each person enters a vote of "approve" or "not approve" on each option, and the one with the most approval votes is selected.
A classroom voting game implemented with playing cards can be found in Anderson and Holt, "Classroom Games: Agendas and Strategic Voting," Southern Economic Jorunal, January 1999. Some of the related political science literature on voting experiments is disucssed in Chapter 18 of Holt (2006), Markets, Games, and Strategic Behavior.