euchre
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 6
Euchre 0.7
Euchre project is an Euchre game. more>>
Euchre project is an Euchre game.
Euchre is a spades or bridge-like card game played with four players (3 computer players and 1 human).
The game is played via a GTK+ interface and allows customization of the computer skill level, aggression level, and many of the other game parameters. There are three levels of AI skill (easy, medium, and hard).
The medium and hard levels are good enough to give you a decent challenge.
Enhancements:
- Fixed bug where pass markers are not cleared after an all-pass event (thanks to an unknown euchre lover on sourceforge...)
- Added previous tricks dialog and the view menu items to access it
<<lessEuchre is a spades or bridge-like card game played with four players (3 computer players and 1 human).
The game is played via a GTK+ interface and allows customization of the computer skill level, aggression level, and many of the other game parameters. There are three levels of AI skill (easy, medium, and hard).
The medium and hard levels are good enough to give you a decent challenge.
Enhancements:
- Fixed bug where pass markers are not cleared after an all-pass event (thanks to an unknown euchre lover on sourceforge...)
- Added previous tricks dialog and the view menu items to access it
Download (0.38MB)
Added: 2006-11-10 License: GPL (GNU General Public License) Price:
1084 downloads
Games::Euchre 1.02
Games::Euchre is an Euchre card game for humans and computers. more>>
Games::Euchre is an Euchre card game for humans and computers.
SYNOPSIS
Simply run my game wrapper:
% euchre.pl
or write your own:
use Games::Euchre;
use Games::Euchre::AI::Simple;
use Games::Euchre::AI::Human;
my $game = Games::Euchre->new();
foreach my $i (1..3) {
$game->setAI($i, Games::Euchre::AI::Simple->new());
}
$game->setAI(4, Games::Euchre::AI::Human->new());
$game->playGame();
my @scores = sort {$b $a} $game->getScores();
print("The winner is " . $game->getWinner()->getName() . " with a score of " .
"$scores[0] to $scores[1]n");
This software implements the card game of Euchre. The game is played with four players composing two teams. Any of the four players can be human or computer players, but more than one human is not well supported yet.
The Games::Euchre::AI module implements a simple framework for adding new classes of human interfaces or computer opponents. I recomment that AI writers use Games::Euchre::AI::Simple (a REALLY dumb computer opponent) as starting point.
Aside from the ::AI class and its descendents, this package also implements the following classes: Games::Euchre::Team, Games::Euchre::Player and Games::Euchre::Trick.
<<lessSYNOPSIS
Simply run my game wrapper:
% euchre.pl
or write your own:
use Games::Euchre;
use Games::Euchre::AI::Simple;
use Games::Euchre::AI::Human;
my $game = Games::Euchre->new();
foreach my $i (1..3) {
$game->setAI($i, Games::Euchre::AI::Simple->new());
}
$game->setAI(4, Games::Euchre::AI::Human->new());
$game->playGame();
my @scores = sort {$b $a} $game->getScores();
print("The winner is " . $game->getWinner()->getName() . " with a score of " .
"$scores[0] to $scores[1]n");
This software implements the card game of Euchre. The game is played with four players composing two teams. Any of the four players can be human or computer players, but more than one human is not well supported yet.
The Games::Euchre::AI module implements a simple framework for adding new classes of human interfaces or computer opponents. I recomment that AI writers use Games::Euchre::AI::Simple (a REALLY dumb computer opponent) as starting point.
Aside from the ::AI class and its descendents, this package also implements the following classes: Games::Euchre::Team, Games::Euchre::Player and Games::Euchre::Trick.
Download (0.021MB)
Added: 2007-01-03 License: GPL (GNU General Public License) Price:
1034 downloads
Games::Euchre::AI 1.02
Games::Euchre::AI is a Player API for Euchre card game. more>>
Games::Euchre::AI is a Player API for Euchre card game.
This class implements a skeletal Euchre player programming interface. Subclasses can be created quite easily as interactive interfaces or AI computer players.
If you wish to write your own computer player, I recommend you start with Games::Euchre::AI::Simple. If you wish to write your own human interface, I recommend you start with Games::Euchre::AI::Human.
CLASS METHODS
new
Create and initialize a new Euchre AI. This object is implemented as an empty hash. Subclasses may wish to use this hash for state storage.
INSTANCE METHODS
Actions
The following methods are called in the course of the game where the AI (or human) has to make a decision. The state of the game is always passed in a hashreference. The following fields are always available:
name is the name of the current player. This is useful for output messages.
names is a hash relating player number to player name for all four players.
debug is a boolean indicating if we are debugging game or the AIs. Your AI may wish to provide verbose output if debugging is going on.
bid STATEHASH
Choose trump or pass. The relevent details of the current state of the game are provided in a hash reference. Here is an example of that data structure:
{
name => Player 1,
names => {1 => Player 1, 2 => P2, 3 => P3, 4 => Fred},
number => 1,
turnedUp => KH,
passes => 1,
ourScore => 2,
theirScore => 4,
winScore => 10,
hangdealer => false,
notrump => false,
hand => [JS, QH, 9S, KC, AD],
debug => false,
}
turnedUp is the suit and value of the card on the top of the blind. This will be undef on the second round of bidding.
passes says how many people have passed so far
hangdealer is a boolean saying whether the hang-the-dealer optional rule is in effect
notrump is a boolean saying whether the no trump optional rule is in effect
This function must return one of: H, D, C, S, N, HA, DA, CA, SA, NA, or undef
N means no trump, A means alone, undef means pass. Not all of these are legal at any given round! Use the isLegalBid() method below if you are unsure.
pickItUp STATEHASH
If this is called, you are the dealer and someone called trump. Choose which card from your hand to discard in exchange for the top card of the blind. The relevent details of the current state of the game are provided in a hash reference. Here is an example of that data structure:
{
name => Player 1,
names => {1 => Player 1, 2 => P2, 3 => P3, 4 => Fred},
number => 1,
turnedUp => KH,
trump => H,
bidder => 2,
weBid => false,
usAlone => false,
themAlone => false,
hand => [JS, QH, 9S, KC, AD],
debug => false,
}
This method should return the 0-based index of the card to trade for the turnedUp card. Namely, this in the index of the hand array for the card that you choose.
playCard STATEHASH
Choose which card from your hand to play on this trick. The relevent details of the current state of the game are provided in a hash reference. Here is an example of that data structure:
{
name => Player 1,
names => {1 => Player 1, 2 => P2, 3 => P3, 4 => Fred},
number => 1,
trump => H,
bidder => 2,
weBid => true,
usAlone => false,
themAlone => false,
trick => 2,
ourTricks => 0,
theirTricks => 1,
ourScore => 2,
theirScore => 4,
winScore => 10,
played => [10H, 9H, QC],
playedBy => [2, 3, 4, 1],
hand => [JH, AH, AS, KS],
debug => false,
}
playedBy is an arrayref of numbers of the players in the order they will play. Without this, the alone possibility makes it hard to tell who played what.
Any needed information not stored here (like who was the dealer, what was the turn-up card, what happened in the first trick) is YOUR responsibility to collect and store in your instance.
This method should return the 0-based index of the card to play. Namely, this in the index of the hand array for the card that you choose.
<<lessThis class implements a skeletal Euchre player programming interface. Subclasses can be created quite easily as interactive interfaces or AI computer players.
If you wish to write your own computer player, I recommend you start with Games::Euchre::AI::Simple. If you wish to write your own human interface, I recommend you start with Games::Euchre::AI::Human.
CLASS METHODS
new
Create and initialize a new Euchre AI. This object is implemented as an empty hash. Subclasses may wish to use this hash for state storage.
INSTANCE METHODS
Actions
The following methods are called in the course of the game where the AI (or human) has to make a decision. The state of the game is always passed in a hashreference. The following fields are always available:
name is the name of the current player. This is useful for output messages.
names is a hash relating player number to player name for all four players.
debug is a boolean indicating if we are debugging game or the AIs. Your AI may wish to provide verbose output if debugging is going on.
bid STATEHASH
Choose trump or pass. The relevent details of the current state of the game are provided in a hash reference. Here is an example of that data structure:
{
name => Player 1,
names => {1 => Player 1, 2 => P2, 3 => P3, 4 => Fred},
number => 1,
turnedUp => KH,
passes => 1,
ourScore => 2,
theirScore => 4,
winScore => 10,
hangdealer => false,
notrump => false,
hand => [JS, QH, 9S, KC, AD],
debug => false,
}
turnedUp is the suit and value of the card on the top of the blind. This will be undef on the second round of bidding.
passes says how many people have passed so far
hangdealer is a boolean saying whether the hang-the-dealer optional rule is in effect
notrump is a boolean saying whether the no trump optional rule is in effect
This function must return one of: H, D, C, S, N, HA, DA, CA, SA, NA, or undef
N means no trump, A means alone, undef means pass. Not all of these are legal at any given round! Use the isLegalBid() method below if you are unsure.
pickItUp STATEHASH
If this is called, you are the dealer and someone called trump. Choose which card from your hand to discard in exchange for the top card of the blind. The relevent details of the current state of the game are provided in a hash reference. Here is an example of that data structure:
{
name => Player 1,
names => {1 => Player 1, 2 => P2, 3 => P3, 4 => Fred},
number => 1,
turnedUp => KH,
trump => H,
bidder => 2,
weBid => false,
usAlone => false,
themAlone => false,
hand => [JS, QH, 9S, KC, AD],
debug => false,
}
This method should return the 0-based index of the card to trade for the turnedUp card. Namely, this in the index of the hand array for the card that you choose.
playCard STATEHASH
Choose which card from your hand to play on this trick. The relevent details of the current state of the game are provided in a hash reference. Here is an example of that data structure:
{
name => Player 1,
names => {1 => Player 1, 2 => P2, 3 => P3, 4 => Fred},
number => 1,
trump => H,
bidder => 2,
weBid => true,
usAlone => false,
themAlone => false,
trick => 2,
ourTricks => 0,
theirTricks => 1,
ourScore => 2,
theirScore => 4,
winScore => 10,
played => [10H, 9H, QC],
playedBy => [2, 3, 4, 1],
hand => [JH, AH, AS, KS],
debug => false,
}
playedBy is an arrayref of numbers of the players in the order they will play. Without this, the alone possibility makes it hard to tell who played what.
Any needed information not stored here (like who was the dealer, what was the turn-up card, what happened in the first trick) is YOUR responsibility to collect and store in your instance.
This method should return the 0-based index of the card to play. Namely, this in the index of the hand array for the card that you choose.
Download (0.021MB)
Added: 2006-12-26 License: Perl Artistic License Price:
1034 downloads
Games::Euchre::Trick 1.02
Games::Euchre::Trick is a trick class for Euchre card game. more>>
Games::Euchre::Trick is a trick class for Euchre card game.
Only one Trick instance is alive at one time per Euchre game. The Trick keeps track of which cards have been played, and provides useful functions to determine which cards are legal plays, as well as who is the winner of the trick.
The trick class makes the determination of which card beats which card, given the current trump and lead. The trick class knows how to handle an alone hand and it calls the playCard() method for each player in turn in its play() method, usually called from the Games::Euchre->playHand() method.
<<lessOnly one Trick instance is alive at one time per Euchre game. The Trick keeps track of which cards have been played, and provides useful functions to determine which cards are legal plays, as well as who is the winner of the trick.
The trick class makes the determination of which card beats which card, given the current trump and lead. The trick class knows how to handle an alone hand and it calls the playCard() method for each player in turn in its play() method, usually called from the Games::Euchre->playHand() method.
Download (0.021MB)
Added: 2007-01-02 License: Perl Artistic License Price:
1026 downloads
Games::Euchre::Player 1.02
Games::Euchre::Player is a player class for Euchre card game. more>>
Games::Euchre::Player is a player class for Euchre card game.
The four Player objects are used to interact with the humand and computer players, as well as to keep the state of the players hand, whether he bid and whether he went alone.
CLASS METHODS
new GAME NUMBER NAME
Create and initialize a new Euchre player. The number is 1-4.
INSTANCE METHODS
getGame
Return the Euchre game instance to which this player belongs.
setTeam TEAM
Record the Team instance that this player belongs to.
getTeam
Return the Team instance to which this player belongs.
setAI AI
Record the AI instance for this player.
getAI
Return the AI instance for this player.
setAlone
Indicate that this player has chosen to go alone in the current hand.
setBid
Indicate that this player has chosen to choose trump in the current hand.
wentAlone
Returns a boolean indicating whether this player chose to go alone on a bid.
isBidder
Returns a boolean indicating whether this player called the trump suit during bidding.
getName
Return this players name
getNumber
Return this players number, between 1 and 4
getHand
Return the Games::Cards::Hand object representing this players current hand.
getCards
Return an array of the Games::Cards::Card objects held in the players hand.
resetGame
Clear all of the state for the current game and get ready for the next one.
resetHand
Clear all of the state for the current hand and get ready for the next one.
bid TURN
Allow the player to choose trump or pass. Returns one of: H, C, D, S, N, HA, CA, DA, SA, NA, or undef. If the player has an AI instance set, that is invoked. Otherwise a pathetically simple AI decides the bid.
pickItUp
Allow the player, as dealer, to select which card to trade for the turned up card. This method performs the actual trade. If the player has an AI instance set, that is invoked. Otherwise a pathetically simple AI chooses the card.
playCard TRICK
Allow the player to select which card to play on the current trick. This method performs the actual play. If the player has an AI instance set, that is invoked. Otherwise a pathetically simple AI chooses the card.
isLegalBid TURNNUMBER BID
Given a bid, return a boolean indicating the validity of that bid. The bid is tested for structure (one of H, C, D, S, N, HA, CA, DA, SA, NA, or undef), tested against the bidding round (only the turned-up card suit can be called in round 1 , and may not be called in round 2), against the game options (hang-the-dealer, no-trump).
This is called from the bid() method.
<<lessThe four Player objects are used to interact with the humand and computer players, as well as to keep the state of the players hand, whether he bid and whether he went alone.
CLASS METHODS
new GAME NUMBER NAME
Create and initialize a new Euchre player. The number is 1-4.
INSTANCE METHODS
getGame
Return the Euchre game instance to which this player belongs.
setTeam TEAM
Record the Team instance that this player belongs to.
getTeam
Return the Team instance to which this player belongs.
setAI AI
Record the AI instance for this player.
getAI
Return the AI instance for this player.
setAlone
Indicate that this player has chosen to go alone in the current hand.
setBid
Indicate that this player has chosen to choose trump in the current hand.
wentAlone
Returns a boolean indicating whether this player chose to go alone on a bid.
isBidder
Returns a boolean indicating whether this player called the trump suit during bidding.
getName
Return this players name
getNumber
Return this players number, between 1 and 4
getHand
Return the Games::Cards::Hand object representing this players current hand.
getCards
Return an array of the Games::Cards::Card objects held in the players hand.
resetGame
Clear all of the state for the current game and get ready for the next one.
resetHand
Clear all of the state for the current hand and get ready for the next one.
bid TURN
Allow the player to choose trump or pass. Returns one of: H, C, D, S, N, HA, CA, DA, SA, NA, or undef. If the player has an AI instance set, that is invoked. Otherwise a pathetically simple AI decides the bid.
pickItUp
Allow the player, as dealer, to select which card to trade for the turned up card. This method performs the actual trade. If the player has an AI instance set, that is invoked. Otherwise a pathetically simple AI chooses the card.
playCard TRICK
Allow the player to select which card to play on the current trick. This method performs the actual play. If the player has an AI instance set, that is invoked. Otherwise a pathetically simple AI chooses the card.
isLegalBid TURNNUMBER BID
Given a bid, return a boolean indicating the validity of that bid. The bid is tested for structure (one of H, C, D, S, N, HA, CA, DA, SA, NA, or undef), tested against the bidding round (only the turned-up card suit can be called in round 1 , and may not be called in round 2), against the game options (hang-the-dealer, no-trump).
This is called from the bid() method.
Download (0.021MB)
Added: 2006-12-21 License: Perl Artistic License Price:
1038 downloads
Online Cardgame System 0.9.0
Online Cardgame System project is a client-server system for playing card games over the net. more>>
Online Cardgame System project is a client-server system for playing card games over the net.
OCS is a client-server cardgame system, similar to those found at Yahoo! Games and elsewhere. The server is portable and has been tested under Linux, Win32, and several unix systems. We currently have Win32 and Java clients available, and a Qt client for Linux is in development.
Games are implemented as plugin modules, so new games can be added without recompiling the server. In addition, the client is written to be unaware of the mechanics of gameplay, so it can theoretically play any games the server supports without having to know how to play them specifically.
We currently have Euchre and Spades implemented, with bot support for both games, meaning you dont need a full 4 people to play a game. We plan on implementing more games in the future.
On a side note, development of this project tends to wax and wane with our motivation and amount of schoolwork.
Enhancements:
- Massive restructure of code into more object orientated patterns
- Added daemon capability to server
- Got rid of checksumming in the protocol since TCP/IP does it internally
- Padded STRINGS in the protocol on DWORD boundaries
- Added support for loadable account managers
- Removed crypting of the password by ocsd (account managers may do it)
- Added ODBC (for windows) and mySQL (for unix) account managers (database connectivity!!)
- Modified packet classes to throw exceptions instead of returning true-false
- Created packet manager classes to queue client packets, reduces total send calls
- Implemented bots when there arent enough people to play games
- Added new command line processing capabilities as well as configuration file support
- Fixed bug that allowed a person to overwrite an account when creating that same account
- Win32 - Made server link with DLL runtime library to reduce executable size and ease DLL dependencies
- Updated messages to be sent in HTML since the main clients support it
- Created Java client which can be run as an application or as an applet
- After a client is booted from a game, they cannot join the game again until they receive an invitation
- Fixed libtidy bug which caused it to erroneously format HTML
- Euchre supports intelligent bots
- Spades supports moronic bots (the AI is horrible but allows for gameplay)
- Fixed Spades textual problem when a round was over.
- Fixed Spades score calculation that resulted in no loss of points
- Win32 client now supports HTML (IE4+ required)
- Win32 client can now join games by right-clicking on an empty game slot in the game view.
- Fixed major bug in Win32 client that would cause it to crash when sending private messages
- Win32 client can now use /msg to send private messages
<<lessOCS is a client-server cardgame system, similar to those found at Yahoo! Games and elsewhere. The server is portable and has been tested under Linux, Win32, and several unix systems. We currently have Win32 and Java clients available, and a Qt client for Linux is in development.
Games are implemented as plugin modules, so new games can be added without recompiling the server. In addition, the client is written to be unaware of the mechanics of gameplay, so it can theoretically play any games the server supports without having to know how to play them specifically.
We currently have Euchre and Spades implemented, with bot support for both games, meaning you dont need a full 4 people to play a game. We plan on implementing more games in the future.
On a side note, development of this project tends to wax and wane with our motivation and amount of schoolwork.
Enhancements:
- Massive restructure of code into more object orientated patterns
- Added daemon capability to server
- Got rid of checksumming in the protocol since TCP/IP does it internally
- Padded STRINGS in the protocol on DWORD boundaries
- Added support for loadable account managers
- Removed crypting of the password by ocsd (account managers may do it)
- Added ODBC (for windows) and mySQL (for unix) account managers (database connectivity!!)
- Modified packet classes to throw exceptions instead of returning true-false
- Created packet manager classes to queue client packets, reduces total send calls
- Implemented bots when there arent enough people to play games
- Added new command line processing capabilities as well as configuration file support
- Fixed bug that allowed a person to overwrite an account when creating that same account
- Win32 - Made server link with DLL runtime library to reduce executable size and ease DLL dependencies
- Updated messages to be sent in HTML since the main clients support it
- Created Java client which can be run as an application or as an applet
- After a client is booted from a game, they cannot join the game again until they receive an invitation
- Fixed libtidy bug which caused it to erroneously format HTML
- Euchre supports intelligent bots
- Spades supports moronic bots (the AI is horrible but allows for gameplay)
- Fixed Spades textual problem when a round was over.
- Fixed Spades score calculation that resulted in no loss of points
- Win32 client now supports HTML (IE4+ required)
- Win32 client can now join games by right-clicking on an empty game slot in the game view.
- Fixed major bug in Win32 client that would cause it to crash when sending private messages
- Win32 client can now use /msg to send private messages
Download (MB)
Added: 2006-12-20 License: GPL (GNU General Public License) Price:
1042 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 1
- 1
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above euchre search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed