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
icon
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
steps

Step by step

Solved in 4 steps with 5 images

Blurred answer
Knowledge Booster
Math class and its different methods
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.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education