import java.util.Random;
class Cell {
public int addSpaces;
public Cell() {
addSpaces = 0;
}
public Cell(int x) {
addSpaces = x;
}
if (addSpaces == -10)
print = "C10";
else
print = "---";
return print;
}
}
class ChutesAndLadders {
Cell[] board = new Cell[100]; // Set array of Cell object
Cell s = new Cell();
public int Chut, Ladd;
public ChutesAndLadders() {
}
public ChutesAndLadders(int numChutes, int numLadders) {
Chut = numChutes;
Ladd = numLadders;
}
public void setBoard() {
for (int i = 0; i < board.length; i++)
board[i] = new Cell(); // board now has 100 Cell with toString "---"
int chutCount = 0;
while (chutCount < Chut)
{
int randomNum = ran.nextInt(board.length);
if (board[randomNum].addSpaces == 0) // uninitialized
{
board[randomNum] = new Cell(-10);
chutCount++;
}
}
}
public void printBoard() { // method to print out board
int count = 0;
for (int i = 0; i < board.length; i++) {
count++;
System.
out.
print("|" + board
[i
]); if (count == 10) {
count = 0;
}
}
}
}
public class Main
{
public static void main
(String[] args
) { ChutesAndLadders cl = new ChutesAndLadders(10, 10);
cl.setBoard();
cl.printBoard();
}
}
aW1wb3J0IGphdmEudXRpbC5SYW5kb207CgpjbGFzcyBDZWxsIHsKICAgIHB1YmxpYyBpbnQgYWRkU3BhY2VzOwoKICAgIHB1YmxpYyBDZWxsKCkgewogICAgICAgIGFkZFNwYWNlcyA9IDA7CiAgICB9CgogICAgcHVibGljIENlbGwoaW50IHgpIHsKICAgICAgICBhZGRTcGFjZXMgPSB4OwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKSB7CiAgICAgICAgU3RyaW5nIHByaW50OwogICAgICAgIGlmIChhZGRTcGFjZXMgPT0gLTEwKQogICAgICAgICAgICBwcmludCA9ICJDMTAiOwogICAgICAgIGVsc2UKICAgICAgICAgICAgcHJpbnQgPSAiLS0tIjsKICAgICAgICByZXR1cm4gcHJpbnQ7CiAgICB9Cn0KCmNsYXNzIENodXRlc0FuZExhZGRlcnMgewogICAgQ2VsbFtdIGJvYXJkID0gbmV3IENlbGxbMTAwXTsgLy8gU2V0IGFycmF5IG9mIENlbGwgb2JqZWN0CiAgICBSYW5kb20gcmFuID0gbmV3IFJhbmRvbSgpOwogICAgQ2VsbCBzID0gbmV3IENlbGwoKTsKICAgIHB1YmxpYyBpbnQgQ2h1dCwgTGFkZDsKCiAgICBwdWJsaWMgQ2h1dGVzQW5kTGFkZGVycygpIHsKICAgIH0KCiAgICBwdWJsaWMgQ2h1dGVzQW5kTGFkZGVycyhpbnQgbnVtQ2h1dGVzLCBpbnQgbnVtTGFkZGVycykgewogICAgICAgIENodXQgPSBudW1DaHV0ZXM7CiAgICAgICAgTGFkZCA9IG51bUxhZGRlcnM7CiAgICB9CgogICAgcHVibGljIHZvaWQgc2V0Qm9hcmQoKSB7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBib2FyZC5sZW5ndGg7IGkrKykKICAgICAgICAgICAgYm9hcmRbaV0gPSBuZXcgQ2VsbCgpOyAvLyBib2FyZCBub3cgaGFzIDEwMCBDZWxsIHdpdGggdG9TdHJpbmcgIi0tLSIKICAgICAgICBpbnQgY2h1dENvdW50ID0gMDsKICAgICAgICB3aGlsZSAoY2h1dENvdW50IDwgQ2h1dCkKICAgICAgICB7CiAgICAgICAgICAgIGludCByYW5kb21OdW0gPSByYW4ubmV4dEludChib2FyZC5sZW5ndGgpOwogICAgICAgICAgICBpZiAoYm9hcmRbcmFuZG9tTnVtXS5hZGRTcGFjZXMgPT0gMCkgLy8gdW5pbml0aWFsaXplZAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBib2FyZFtyYW5kb21OdW1dID0gbmV3IENlbGwoLTEwKTsKICAgICAgICAgICAgICAgIGNodXRDb3VudCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyB2b2lkIHByaW50Qm9hcmQoKSB7IC8vIG1ldGhvZCB0byBwcmludCBvdXQgYm9hcmQKICAgICAgICBpbnQgY291bnQgPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYm9hcmQubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludCgifCIgKyBib2FyZFtpXSk7CiAgICAgICAgICAgIGlmIChjb3VudCA9PSAxMCkgewogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludCgifCIpOwogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CiAgICAgICAgICAgICAgICBjb3VudCA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCnB1YmxpYyBjbGFzcyBNYWluCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBDaHV0ZXNBbmRMYWRkZXJzIGNsID0gbmV3IENodXRlc0FuZExhZGRlcnMoMTAsIDEwKTsKICAgICAgICBjbC5zZXRCb2FyZCgpOwogICAgICAgIGNsLnByaW50Qm9hcmQoKTsKICAgIH0KfQ==