Game Rules
There are two teams and a minimum of 4 players are needed. Each team has a Spymaster and a group of Operatives. 25 random codenames are selected and placed on the board. Within the 25 codenames, there are 9 assinged randomly to the starting team and 8 to the team going second, in addition there is one bomb card and whichever team selects it loses. The Spymasters are the only ones aware of their card assignments, their job is to provide hints for the Operatives to select all of their assigned codenames by providing the Operatives a hint consisting of one Word, which cannot be found on the board and a number to represents the number of associations. An example would be if Finland, Singapore, Dog, and Skyscraper were on the board, the Spymaster can say Country 2.
What was done
Fortunately for myself, the team I was assigned was great, everyone was friendly and we got along great (all 10 of us). We can to implement the game completely using an Model, View, Controller (MVC) framework in Java. I had done a good part of the model's back and AI. We implemented AI vs AI (Spy & Ops.), User(Ops. w/ Spy.AI ) vs AI (Spy. & Ops.) and User vs User (Users Ops. & Spy.AI) The AI for the operative had two settings, Random pick and smartpick where it used the DAGS (directed acyclical graphs) and some linguistic theory.