[Design] Go (Board Game)

A Screenshot of the Current Progress (Incomplete)
GoBoard - Screenshot

GoBoard - Screenshot

Rough Sketch of Each Class
  • GoBoard: JPanel
    • It represents a “Go” game board.
    • An array of Buttons to represent spaces to put stones.
    • Methods include:
      • GoBoard(int height, int width)
      • GoBoard(int height, int width, int size)
      • isEmpty(int row, int col): boolean
      • setEmpty(int row, int col): void
      • get(int row, int col) JButton
      • fill(int row, int col, Color c): void
      • reset(): void
      • inWidthRange(int x): boolean
      • inHeightRange(int y): boolean
  • GoEngine: JFrame
    • It takes care of the logic (for example, calculating the portion of dead stones)
    • Methods include:
      • GoEngine(int size)
      • promptSIZE(): int
      • actionPerformed(ActionEvent e): void
      • findDeadStones(Color deadColor, int row, int col): LinkedList<JButton>
  • GoMenu: JMenu
    • File
      • New
      • Save
      • Open
      • About
      • Exit
    • Board Size
      • 3 * 3
      • 4 * 4
      • 5 * 5
      • 19 * 19
  • GoPlayer
  • GoUI

Future Goal

  • Make a full functioning Go Board Game with menu
  • Implement some original ideas
  • Make the design look fancier

[Requirement] Go (Board Game)

Due to my Canadian friends who play “Go,” the Asian game each other, I was inspired to develop the game in Java.

Go (Board Game) from Google Image Search

Go (Board Game) from Google Image Search

As I have developed many original/existing board games like “Tic-Tac-Toe,” “Five in a Row,” “Connect Four,” and “Fill Thirty Six,” the general board will be easy to make. However, I think making my board looks like a real Go board will be a difficult part. AI and Network Connect might or might not be implemented.

Game: Go (Board Game)

Programming Language: Java

Developer: Wonjohn Choi