Complex Multiplayer Card Game

Code can be found on Github: Repository

Tractor is a complex trick-based multiplayer game similar to Hearts or Euchre. Its numerous variations give each group of friends the right set of levers to customize the game to their liking while its complexity in game logic makes programming the game a fun exercise.

For this project, I used Java and then Python to implement a console-based card game that is playable for multiple players sitting at the same computer. The main challenges in this project was how to algorithmically determine necessary plays based on the combinations required in a specific trick. For instance, 2 Aces and 2 Kings make a "tractor", or consecutive pair. If that tractor is the first combo played in the trick (round), the other players must play consecutive pairs if they have them, or if they don't, at least that many pairs if they exist, and then finally single cards to make up the numbers... Here's part of the crucial code for the logic described:

Possible Extensions: Enable Networking to Play on LAN, Build Desktop App for game.