Difference between revisions of "Computer Science/61b"

From lensowiki
Jump to: navigation, search
(→‎Methods: -bb – updating in light of recent coding)
m (Lensovet moved page CS/61b to Computer Science/61b)
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
−
==Project 2 modules==
+
*[[/Projects]]
−
Members: Paul, -bb; Andrew, -fe; Jordan, -er <!-- borokhov, vo, berk -->
+
*[[/Homework]]
−
===Gameboard & chips ADT===
 
−
/* Paul can do this - it's a essentially a copy from the Oceans project, so it's quick */
 
−
// Gameboard abstract data type
 
−
// board field stores a board using an array of Chips (not that important – no one has access to this field anyway)
 
−
// methods are required to retrieve/store chips
 
−
Gameboard class
 
−
fields: private Chip[] board
 
−
methods:
 
−
// inserts a chip of the given color in the specified place as determined by an x, y coord pair
 
−
// returns true if the insertion succeeds; false otherwise
 
−
boolean insertChip(int color, int x, int y)
 
−
// move a given chip to a specified place as determined by an x, y coord pair
 
−
// returns true if the move succeeds; false otherwise
 
−
boolean moveChip(Chip c, int x, int y)
 
−
// performs a move and returns true/false depending on whether it succeeded
 
−
boolean performMove(int color, Move m)
 
−
// returns the Chip at a given location as determined by an x, y coord pair
 
−
Chip retrieveChip(int x, int y)
 
−
// returns true if the given move is valid; false otherwise
 
−
boolean validMove(Move m)
 
−
    // returns true if the chip cluster (if any) is small enough to permit a chip insertion at the given location as determined by an x, y coord pair; false otherwise
 
−
  ->could be inside or another method: boolean checkClusterSize(int x, int y)
 
−
 
−
// abstract data type to hold information about chips
 
−
// color field stores the chip's color as a static final int; x and y fields store the chip's x and y coords, respectively
 
−
Chip class
 
−
fields (all private): int color, int x, int y
 
−
public static final WHITE/BLACK = 1/0
 
−
methods:
 
−
// returns the chip's color
 
−
int getColor()
 
−
// returns the x coord of the chip
 
−
int getX()
 
−
// returns the y coord of the chip
 
−
int getY()
 
  
−
===Changes to MachinePlayer class===
+
==External links==
−
====New fields====
+
*[http://www.cs.berkeley.edu/~jrs/61b/ Class website]
−
int color
 
−
int opponent
 
−
int depth
 
−
Gameboard board
 
−
 
 
−
====Methods====
 
−
/* Andrew? */
 
−
// generates an array of Gameboards of all the possible moves from the current Gameboard g for a given player. returns an array of Gameboards
 
−
Object[][] generateMoves(Gameboard g, int color)
 
−
----
 
−
/* Paul */
 
−
// evaluates all possible moves to be generated from the '''this''' board using the minimax algorithm and alpha-beta pruning.
 
−
// continues searching until it reaches '''depth''' or a win, whichever comes first
 
−
Move evalTree(int color, int depth)
 
−
----
 
−
/* Jordan */
 
−
// evaluates the given network for a winning color
 
−
// returns a probability of winning if there is no win
 
−
// returns 999 if WHITE wins, -999 if BLACK wins
 
−
int winner(Gameboard g)
 

Latest revision as of 03:51, 20 February 2023