Introduction

CodeWords was inspired by the popular board game, Codenames. Due to the ambiguity that comes with many board game rules, I've chosen not to implement a rule system to go along with this app. Rather, this application simply provides the means to play the game, while users themselves can dictate the rules on their own.

Screenshots




1. The CodeMaster will tap the key icon on the top right to reveal the keys, type a CodeWord that corresponds to his team's words, then pass the phone to his teammates.



2. Based on the CodeWord, teammates will attempt to guess which words are theirs. If the word colors match their team, then they've made a correct guess.

How To Play


Setup:
  • Players will split into two teams, Red and Blue. Each team should assign one CodeMaster for the entirety of the match.
  • Word cards will be laid out in a 5x5 square (by default). When a word is tapped, it's team's colors will be revealed.
  • By tapping the key button in the top right hand corner, CodeMasters can examine the key, allowing them to see which words belong to his respective team.
  • Red team goes first, by default. To change this, you'll need to manually adjust the settings.

Rules:
  1. At the beginning of each turn, the CodeMaster will take the phone and examine the key away from the other players.
  2. After identifying which words belong to his team, the CodeMaster will give a clue and a number to his teammates. These can be typed into the textfield at the top of the screen.
    • The clue should relate to as many of the team's words as possible, without relating to the opponent's words or the death square's words (square's whose borders are black).
    • The number should refer to the number of words on the board that relate to the clue.
    • The suggested rule is that the clue should be a single word that cannot be a word that is currently visible on the board.
    • If a CodeMaster is unsure whether his clue is valid, he should discretely ask the opposing CodeMaster if the clue is fair game.
  3. The CodeMaster's teammates should then take the phone and try to guess which words belong to their team, based on the provided clue.
    • Teammates should guess one word at a time, and should only continue guessing if they've guessed a word that belongs to their team. The CodeMaster cannot verify whether or not a selected word was an intended word.
    • The active team can have as many guesses as the number provided with the clue, plus one additional guess to account for any previously incorrectly-guessed clues.
    • The active team must make at least one guess, but my pass after the first guess if they are unsure of what else to guess.
    • If the guessed word ends up being the opponent's team color or yellow (neutral), then the current team's turn is over and they cannot continue guessing until their next turn.
    • If the guessed word ends up being black, then the active team loses.
  4. Once the CodeMaster's teammates guess wrong or reach the maximum number of guesses allowed (i.e. the number provided by the CodeMaster plus 1), then the phone should be passed to the opposing team's CodeMaster, and he should begin the same steps for his team.
  5. The first team to have all their words revealed first wins!

Key Features

  • Shuffle the board with the tap of a button.
  • Reveal keys by tapping the "key" button.
  • Adjust board size to any rectangle between 4x4 and 7x7.
  • Increase the number of "death squares".
  • Choose which team color goes first.
  • Choose to enable whether or not the first move has an extra word to guess.

Future Features

  • Additional, themed word decks to choose from.
  • The option for users to create their own decks.
  • Built-in ruling system to automate turns.

Known Bugs

  • None so far!