Go Board Game Design Process Presentation

EmilyJoseph18 771 views 9 slides Jun 30, 2024
Slide 1
Slide 1 of 9
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9

About This Presentation

This presentation outlines our design process for our creation of an online version of the game Go


Slide Content

GO! By: Emily Joseph, Shriya Shah, and Sneha Nannapaneni

How it Works Go is an ancient East Asian board game renowned for its simplicity of rules yet strategic depth. Our digital version of two-player Go brings this timeless game to your fingertips, offering an immersive experience for players of all levels. The object of the game is to control more territory on the board than your opponent by strategically placing stones to surround empty intersections and capture your opponent's stones. Traditionally there are three board sizes: 9x9, 13x13, and 19x19 Example of capturing white:

How to Win There are many different ways to calculate the winner including the most popular being the Chinese method and Japanese method . We opted for the route of counting who had the most stones on the board at the end of the game. Example of capturing white:

Demonstration

Board Class Go Class Collaboration and Division of Labor Board Class Go Class Graphical Interface Go Class Graphical Interface Stone Class Go Class Emily Joseph Sneha Nannapaneni Shriya Shah Stone Class Main + Graphics Original Plan: Each of us handles a single class but there was a lot of overlap and things from each class that depended on one another so:

Advanced Data Structures, Algorithms, and Concepts

Node Graph Each node represents a stone on the board. Implemented using the Stone class. Nodes are linked within their respective groups. The board holds a collection of these nodes.

Linked List Generates a new board with each move. Utilizes a Linked List to store all board states. Facilitates validation of moves by accessing past boards efficiently.

Graphical Interface Created to overcome terminal-based limitations. Utilizes the Processing Java library. Enhances gameplay experience with visual representation.
Tags