Page 1373 - AP Computer Science A, 7th edition
P. 1373

4. (a) public void shuffle() {
for (int k = tiles.size() – 1; k > 0; k--)
{
int randIndex = (int) (Math.random() ∗ (k + 1));
Tile temp = tiles.get(k);
tiles.set(k, tiles.get(randIndex)); tiles.set(randIndex, temp);
}
unusedSize = tiles.size(); }
(b) public void replaceTiles(TileSet t) {
int numTiles = NUM_LETTERS – playerTiles.size(); if (numTiles <= t.getUnusedSize())
{
for (int i = 1; i <= numTiles; i++) playerTiles.add(t.getNewTile());
} else {
for (int i = 1; i <= t.getUnusedSize(); i++) playerTiles.add(t.getNewTile());
} }
Alternatively
while (NUM_LETTERS > playerTiles.size() && !t.allUsed())
playerTiles.add(t.getNewTile());
(c) public int getWordScore(int[] indexes) {
if (indexes[0] == –1) return 0;
int total = 0;
if (indexes.length == NUM_LETTERS)













































































   1370   1371   1372   1373   1374