Implement the Board class. Make sure to read through those comments so that you know what is required.
Implement the Board class. Make sure to read through those comments so that you know what is required.
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Implement the Board class. Make sure to read through those comments so that you know what is required.
package p1;
// You need a random number generator in order to make random moves. Use rand below
private static final Random rand = new Random();
private byte[][] board;
/**
* Construct a puzzle board by beginning with a solved board and then
* making a number of random moves. Note that making random moves
* could result in the board being solved.
*
* @param moves the number of moves to make when generating the board.
*/
public Board(int moves) {
// TODO
}
/**
* Construct a puzzle board using a 2D array of bytes to indicate the contents
* of the cells in the triangle.
*
* @param b a "triangular array" with 5 rows where row 0 has 1
* cell, row 1 has 2 cells, etc.
*/
public Board(byte[][] b) {
board = Arrays.copyOf(b, b.length);
}
public void printBoard() {
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[i].length; j++) {
if (board[i][j] == 0) {
System.out.print(" ");
} else {
System.out.print(board[i][j] + " ");
}
}
System.out.println();
}
}
/**
* Returns the byte at a particular grid position.
* @param row the row to look at
* @param col the col to look at
* @return the byte at a particular grid position
*/
public byte cellContents(int row, int col) {
// TODO
return -1;
}
/**
* Makes a move on the board by swapping the 0 with one
* of the items in a neighboring cell. The board is
* left unchanged if the move is not valid.
*
* @param dir the direction in which the 0 should move
* @return {@code true} if the move was valid and {@code false}
* if it wasn't
*/
public boolean move(byte dir) {
return false;
}
/**
* Determines if the board is solved
*
* @return {@true} if the board is solved and {@code false} otherwise.
*/
public boolean isSolved() {
return false;
}
}
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 4 steps with 5 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education